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