Filemanagers

Raspberry Pi 4: Chronicling the Desktop Experience – File Management – Week 21

This is a weekly blog about the Raspberry Pi 4 (“RPI4”), the latest product in the popular Raspberry Pi range of computers.

One area I’ve not covered to date is utility software. Nestling in the Raspbian repositories are a ton of utilities from the essential to the wacky. File management is definitely a routine but important activity for any desktop user. Recognizing that file management software is deeply personal (causing almost as many conflicts as text editors), I’ve looked at a good spectrum of file managers this week.

There’s good and bad news. Raspbian repositories host packages for lots of high quality open source file managers, including both graphical and console based software. Sadly, you often don’t get the latest stable release.

I’ve captured my experiences of the file managers I’ve been using on my RPI4 journey. There’s been delight and disappointment along the way.

Console Based File Managers

nnn

I wrote a fairly detailed review about nnn only a few weeks ago. I’ll only comment here from an RPI4 perspective.

There’s a package for nnn in the repositories which is version 2.2. That’s not the latest version. And the latest release offers a number of notable improvements, so it’s definitely worth compiling the software for yourself. The steps are detailed here.

Raspberry Pi 4 - nnn
Click for full size image

nnn is a really versatile file manager that has an extremely small footprint both in terms of memory usage and CPU usage.

What’s performance like on the RPI4? In a nutshell, it’s extremely good. Some actions take noticeably longer on the RPI4 than my main desktop machine, such as running the disk usage analyzer. This is probably because my RPI4 is running from an SSD over USB3, inevitably limiting bandwidth. The RPI4 is the only machine I use an SSD in this way. But it offers better performance than using a memory card.

Common operations don’t feel noticeably slower than my Intel box. A beautifully crafted application, ideal for the RPI4.

There’s a great set of plugins available to enhance nnn’s functionality although there isn’t a Raspbian package for them. But Page 4 of my review covered how to download them.

nnn is written in C.


Midnight Commander

Raspberry Pi 4 - Midnight Commander
Click for full size image

My other favourite console-based file manager is Midnight Commander. Why do I like it?

Partly because it’s simple and intuitive to use, and makes excellent use of the terminal screen space.

The application is also lightweight, stable, very mature, and offers a good feature set.

I’m more than satisfied with the performance of this file manager on the RPI4. It runs really smoothly on this tiny machine.

The current release of Midnight Commander is version 4.8.24. The Raspbian repositories host version 4.8.22. Not too bad.

Like nnn, Midnight Commander is written in C.


Vifm

Raspberry Pi 4 - Vifm
Click for full size image

Like Midnight Commander, Vifm offers an attractive curses-based interface. If you’re a fan of Vi(m), and looking for an environment for managing your file system, you might prefer Vifm.

There’s a package for Vifm in the Raspbian repositories. You get version 0.10 which was published in November 2018 which misses out on a few enhancements from the latest version 0.10.1 (published July 2019), but nothing too major.

Like nnn and Midnight Commander, Vifm is written in C.


Ranger

Raspberry Pi 4 - Ranger
Click for full size image

Ranger is another Vi(m) inspired, console based file manager. It’s a fairly well-liked project, attracting over 7,000 GitHub stars.

This file manager offers a curses-based interface, and has it’s own file launcher called rifle.

Performance of Ranger with the RPI4 was perfectly satisfactory, although opening uncached directories with large number of files wasn’t quite instantaneous.

Raspbian’s repositories host version 1.9.2 which was released back in September 2018. It’s not the latest version, with version 1.9.3 released in December 2019. Version 1.9.3 added tons of useful features such as previews for extra file formats, additional filters, and additional functionality to rifle.

Ranger is the only console based file manager featured here that’s written in Python. That’s an interpreted, high-level, general-purpose programming language. Whereas C is a general-purpose, procedural computer programming language. Interpreted programs execute slower as compared to compiled programs.


Depending on the model of the RPI4, memory consumption can be an extremely important consideration when choosing which software to run on this tiny machine. With a maximum of 4GB of RAM, it’s quite easy to start swapping if you run lots of software (like I do).

Raspberry Pi 4 - File Managers - Console

As the chart above illustrates, all of the console based file managers are extremely lightweight. nnn is amazingly frugal, but bear in mind that if you want to replicate dual-pane functionality, nnn needs a terminal multiplexer, together with two running instances of nnn. In that situation, Midnight Commander easily pips nnn to the post.


GUI Based File Managers

While I perform most of my file management activities at the console, you might prefer a GUI based file manager. If you have difficulty remembering keyboard shortcuts, find it easier to perform certain activities like drag-and-drop with a graphical interface, or graphical software is just ingrained in your soul, a GUI based tool might be the ticket.

Krusader

Raspberry Pi 4 - Krusader
Click for full size image

Krusader is widely regarded as the best open source GUI-based file manager. It’s a twin-panel application by KDE, although you don’t need to be running that desktop environment.

Besides comprehensive file management features, Krusader is almost completely customizable, fast, seamlessly handles archives, and offers a huge feature set.

RPI4 - Krusader - Disk Usage
Click for full size image

Here’s Krusader showing its disk usage functionality. I’m showing the size of files in /usr/bin. It has more than 2,000 files in this directory alone. It’s actually quite slow to display this information, far slower than say nnn. But most operations with Krusader didn’t cause any issue from a speed perspective. A definite success on the RPI4.

Raspbian hosts version 2.7.1 of Krusader, which is one release behind the latest stable version.


Dolphin

Raspberry Pi 4 - Dolphin
Click for full size image

Dolphin is another file manager designed for KDE but runs on other desktop environments.

Dolphin feels noticeably sluggish on the RPI4 in comparison with many of the file managers featured here.

I was disappointed with the overall performance of Dolphin on the RPI4, whereas with a machine with more grunt, I have no major complaints. I’m a big fan of Dolphin, but not on this tiny machine.

Raspbian’s repositories sadly host version 18.08.0. That’s an old release, published in August 2018. The current stable release is version 19.12.1 and has tons of improvements.

Dolphin is written in C++.


PCManFM

Raspberry Pi 4 - PCManFM
Click for full size image

Unlike the 2 previous programs, PCManFM is a GTK+ based file manager. Like Dolphin, it’s a navigational file manager.

PCManFM feels even more sluggish than Dolphin. For example, it’s glacial at displaying directories with large number of files, such as /usr/bin/.

Raspbian’s repositories host version 1.3.1. That’s the latest stable release, although there hasn’t been a new release since December 2018.


Raspberry Pi 4 - File Managers - GUI

Even though you’d expect a GUI file manager to have a larger memory footprint than its console counterparts, PCManFM actually is more frugal with your memory than Ranger. Whatever model of the RPI4 you have, or intend to use, you won’t have any issues with any of the file managers in isolation.


Summary

There’s a good range of open source file managers available in Raspbian’s repositories. Most of them work admirably on the RPI4, although I have performance concerns about Dolphin and PCManFM.

Overall, I prefer nnn and Midnight Commander when I’m at a terminal. For a great graphical experience, look no further than Krusader.

None of the file managers have a large memory footprint. All are stable in operation.

I acknowledge I should explore more GUI-based file managers. I will look at some others at a later date, including Nautilus, the official file manager for the GNOME desktop.

Next page: Page 2 – Compiling nnn

Pages in this article:
Page 1 – Console and Graphical file managers
Page 2 – Compiling nnn


Read all my blog posts about the RPI4.

Raspberry Pi 4 Blog
Week 36Manage your personal collections on the RPI4
Week 35Survey of terminal emulators
Week 34Search the desktop with the latest version of Recoll
Week 33Personal Information Managers on the RPI4
Week 32Keep a diary with the RPI4
Week 31Process complex mathematical functions, plot 2D and 3D graphs with calculators
Week 30Internet radio on this tiny computer. A detailed survey of open source software
Week 29Professionally manage your photo collection with digiKam
Week 28Typeset beautifully with LyX
Week 27Software that teaches young people how to learn basic computing skills and beyond
Week 26Firefox revisited - Raspbian now offers a real alternative to Chromium
Week 25Turn the Raspberry Pi 4 into a low power writing machine
Week 24Keep the kids learning and having fun
Week 23Lots of choices to view images
Week 22Listening to podcasts on the RPI4
Week 21File management on the RPI4
Week 20Open Broadcaster Software (OBS Studio) on the RPI4
Week 19Keep up-to-date with these news aggregators
Week 18Web Browsers Again: Firefox
Week 17Retro gaming on the RPI4
Week 16Screen capturing with the RPI4
Week 15Emulate the Amiga, ZX Spectrum, and the Atari ST on the RPI4
Week 14Choose the right model of the RPI4 for your desktop needs
Week 13Using the RPI4 as a screencaster
Week 12Have fun reading comics on the RPI4 with YACReader, MComix, and more
Week 11Turn the RPI4 into a complete home theater
Week 10Watching locally stored video with VLC, OMXPlayer, and others
Week 9PDF viewing on the RPI4
Week 8Access the RPI4 remotely running GUI apps
Week 7e-book tools are put under the microscope
Week 6The office suite is the archetypal business software. LibreOffice is tested
Week 5Managing your email box with the RPI4
Week 4Web surfing on the RPI4 looking at Chromium, Vivaldi, Firefox, and Midori
Week 3Video streaming with Chromium & omxplayerGUI as well as streamlink
Week 2A survey of open source music players on the RPI4 including Tauon Music Box
Week 1An introduction to the world of the RPI4 looking at musikcube and PiPackages

This blog is written on the RPI4.

Share this article

3 comments

  1. You have correctly mentioned nnn doesn’t have dual-pane feature in both the articles. nnn supports contexts/tabs.

    The key to cycle contexts is TAB.

    Even if you use all 4 contexts the memory usage remains almost the same.

    1. The point I was making is that nnn’s contexts/tabs are not a direct replacement for dual-pane support, at least from my perspective. Therefore to replicate that functionality, when making memory comparisons, it’s important to take into account you have to run multiple instances of nnn, and a terminal multiplexer.

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.