PCMan: the real and true Gnome file manager

I have modified this post after several people complained that I was misunderstood: Nautilus can, sure, display a tree view of the file system. Sure, but only for “who-knows-how”.

I do not like Gnome desktop environment because of its excessively simplified GUI that leverages all users as if they lack minimal skill to interact with a computer. And what I dislike most on Gnome is even more oversimplified vision of the file system provided by Nautilus on its default configuration.

Please, the converse is not true: I do not love KDE. And even more disappointing was seeing KDE 4 abandoning its advantages over Gnome just to become similar to Gnome (after a while, KDE 4 will not have anymore its nice power-user features, nor the nice simplicity of Gnome).

Specially annoying is the “Spatial Navigation” that opens a new window for each folder that is accessed (although real [wo]men would call it “directories”). As soon you have more than a bunch of directories, navigating from one to other will open more and more windows on your desktop just to drive you crazy.

Sure, Gnome developers will explain that a typical user will not own more than a hand full of files. And, they will store everything on the same folder like “documents” or “images” (or even on the desktop leading to the result of the picture on the right). They

Screenshot from a user that stores all documents on his desktop folder

Screenshot from a user that stores all documents on his desktop folder

will never store their files in a secure separated partition, nor on a file system over the network. Just in the case that the amount of files gets out of control, the user will create one or other subdirectory here or there. Therefore, subdirectory navigation is not necessary and it is reasonable to display the content of all directories at the same time.

By the way, Nautilus also claims to support file system browsing. Just click “browse” instead of “open” is what they say. However, there are some issues to consider. The “browsing” features are not visible by default. And a feature that is not visible, or that is very difficult to find, in practice, is not a feature at all. There is no preference where the user can easily choose which configuration he prefers. Googling around shows very few references about “nautilus tree view”. Asking experienced Gnome users was of nearly no use.

After reading the entire Nautilus documentation and after getting some good advices from people that read this article, I understood how. The user needs to start Nautilus with the –browse parameter on command line, open any folder with the “browse” command, then go back again to original folder. The, the user needs to display the side pane and select to tree visualization on this pane (it took a while how to figure out that I can change the content shown by the side pane).

Finally, one will be able to see the directory hierarchy and be able to jump to sibling directories. It is possible only to go to/from parent and child directories.

Fortunately, I discovered an alternative that allows the real and true file system browsing. It is called PCMan File Manager, and stays a bit hidden on most Linux distros. At the beginning, it provides an appearance familiar to Nautilus, and understands the same pre-defined folders like “documents” or “images”. However, after a short time of use, one will soon discover the power-user features that are available.

PCMan claims to be extremely fast and lightweight. I do not think this matters most, compared to the features it provides. It has a sidebar with useful and organized common locations and mount points. The sidebar may also display a complete tree view of the file system. Tabbed browsing is also supported.

I liked most that each tab has its own tree view. It was really annoying on KDE/Konqueror that the tree view did not always match the focused tab. The tree view is completely absent in Nautilus. Also I like the organized common locations and mount points. Although Konqueror has something similar, it is not as organized and as useful as it is on PCMan.

Also, there are features I still need to get better acquaintance: mounting/unmounting/ejecting media within PCMan. I really dislike having an icon for storage devices on the Gnome/KDE desktop while not being able to see and manage them within Nautilus/Konqueror.

Other nice feature is opening a directory as root, avoiding the need to switch to a terminal or to log-in as a different user.

However, I was not able to open and browse very large directories, like /usr/bin, as promised by PCMan web site.

Fortified compiling prevents building older RPM

Today I had to build and test some older Open MPI RPM packages. However, I was prevented to build them, although the code apparently was correct.

The command:

rpmbuild -ba openmpi-1.2.1.spec

The error message was:

In function 'open',
    inlined from 'orte_abort' at runtime/orte_abort.c:91:
/usr/include/bits/fcntl2.h:51: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument needs 3 arguments

The line of source code that causes the error is:

fd = open(abort_file, O_CREAT);

After some research, I discovered that the source code is correct. But nowadays, newer versions of gcc do additional security checking that were not available that the time the code was written.

For security reasons, calling open with O_CREAT and only two parameters is not acceptable anymore.

In order to build the RPM, I would either need to change the SPEC file or the src.rpm package, or find out a build options for rpmbuild that turns off further code protection.

First, I changed the the src.rpm package, chaning the problematic line to:

fd = open(abort_file, O_CREAT, 0666);

Then, I confirmed that it is also possible to pass additional parameters to rpmbuild in order to turn off code protection:

rpmbuild -ba openmpi-1.2.1.spec --define 'configure_options CFLAGS=-D_FORTIFY_SOURCE=0'

References:

A poem about Subversion

I found an interesting poem from Peter Kriens about SVN (subversion) that was posted to the Eclipse committer mailing list. Really interesting how frustration can encourage your imagination in others arts besides computer programming.

Read more of this post