PCManFM

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

PCManFM is a free file manager application and the standard file manager of LXDE.

Installation

Install the pcmanfm package, pcmanfm-gtk3 for the GTK3 version or pcmanfm-gitAUR for the development version.

Qt variants are available with pcmanfm-qt and pcmanfm-qt-gitAUR.

gvfs is recommended for trash support, mounting with udisks and remote filesystems.

Desktop management

The command to allow PCManFM to set wallpapers and enable the use of desktop icons is:

pcmanfm --desktop

The native desktop menu of the window manager will be replaced with that provided by PCManFM. However, it can easily be restored from the PCManFM menu itself by selecting Desktop preferences and then enabling the Right click shows WM menu option in the Desktop tab.

Desktop preferences

If using the native desktop menu provided by a window manager, enter the following command to set or amend desktop preferences at any time:

$ pcmanfm --desktop-pref

It is worthwhile to consider adding this command to a keybind and/or the native desktop menu for easy access.

Creating new icons

User content such as text files, documents, images and so forth can be dragged and dropped directly onto the desktop. To create shortcuts for applications it will be necessary to copy their .desktop files to the ~/Desktop directory itself. Do not drag and drop the files there as they will be moved completely. The syntax of the command to do so is:

cp /usr/share/applications/<name of application>.desktop ~/Desktop

For example - where installed - to create a desktop shortcut for lxterminal, the following command would be used:

cp /usr/share/applications/lxterminal.desktop ~/Desktop

For those who used the XDG user directories program to create their $HOME directories no further configuration will be required.

Daemon mode

To run PCManFM in the background (to for example automatically mount removable media), use:

pcmanfm -d

Should automount fail, see udisks.

Autostarting

How PCManFM may be autostarted as a daemon process or to manage the desktop for a standalone window manager will depend on the window manager itself. For example, to enable management of the desktop for Openbox, the following command would be added to the ~/.config/openbox/autostart file:

pcmanfm --desktop &

Review the relevant wiki article and/or official home page for a particular installed or intended window manager. Should a window manager not provide an autostart file, PCManFM may be alternatively autostarted by editing one or both of the following files:

Additional features and functionality

Less experienced users should be aware that a file manager alone - especially when installed in a standalone Window manager such as Openbox - will not provide the features and functionality users of full desktop environments such as Xfce and KDE will be accustomed to. Review the file manager functionality article for further information.

Tips and tricks

Get thumbnails for other file types

See File manager functionality#Use PCManFM to get thumbnails for other file types.

Set the terminal emulator

You can configure what terminal emulator PCManFM should use for Tools > Open Current Folder in Terminal under Edit > Preferences > Advanced.

i.e "bash -c 'termite'"

Integrate an archiver

It is possible to choose the integrated archiver under Edit > Preferences > Advanced. PCManFM supports file-roller, xarchiver (or xarchiver-gtk2), engrampa and ark.

Templates are accessible under Create New...

PCManFM adds the files in ~/Templates as Create New... context menu items on startup.

Thumbnails

Like some other file managers (e.g. Nautilus) PCManFM will load previews of all images in a folder. To not abuse the HDD, keep the number of images in a folder to a hundred.

Troubleshooting

Open With dialog window empty

If you do not see any applications to choose from in the open with dialog, then you can try removing gnome-menus and instead install lxmenu-data. Furthermore, export the following variables:

export XDG_MENU_PREFIX=lxde-
export XDG_CURRENT_DESKTOP=LXDE

No "Applications"

You can try this method: Delete all files in the $HOME/.cache/menus directory, and run PCManFM again.

PCManFM requires the environment variable XDG_MENU_PREFIX to be set. The value of the variable should match the beginning of a file present in the /etc/xdg/menus/ directory. E.g. you can set the value in your .xinitrc file with the line:

export XDG_MENU_PREFIX="lxde-"

See these threads for more information: [1], and especially this post from the Linux Mint forums: [2]

No icons

If you are using a window manager instead of a desktop environment and you have no icons for folders and files, specify a GTK icon theme.

If you have e.g. oxygen-icons installed, edit ~/.gtkrc-2.0 or /etc/gtk-2.0/gtkrc and add the following line:

gtk-icon-theme-name = "oxygen"
Note: All instances of PCManFM have to be restarted for changes to apply!

Else, use an different one (gnome, hicolor, and locolor do not work). To list all installed icon themes:

$ ls ~/.icons/ /usr/share/icons/

If none of them is suitable, install one. To list all installable icon packages:

$ pacman -Ss icon-theme
Tip: For an alternative GUI solution, install lxappearance and apply an icon theme from there.

No "Previous/Next Folder" functionality with mouse buttons

A method to fix this is with Xbindkeys.

Install xbindkeys, xvkbdAUR and edit ~/.xbindkeysrc to contain the following:

# Sample .xbindkeysrc for a G9x mouse.
"/usr/bin/xvkbd -text '\[Alt_L]\[Left]'"
 b:8
"/usr/bin/xvkbd -text '\[Alt_L]\[Right]'"
 b:9

Actual button codes can be obtained with package xorg-xev.

Add:

xbindkeys &

to your ~/.xinitrc to execute xbindkeys on log-in.

--desktop parameter not working or crashing X-server

Make sure you have ownership and write permissions on ~/.config/pcmanfm.

Setting the wallpaper either by using the --desktop-pref parameter or editing ~/.config/pcmanfm/default/pcmanfm.config solves the problem.

Terminal emulator advanced configuration not saved

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Why would the libfm configuration file not have the "right permissions" by default? (Discuss in Talk:PCManFM)

Make sure you have the right permissions on the libfm configuration file:

$ chmod -R 750 ~/.config/libfm
$ chmod 640 ~/.config/libfm/libfm.conf

Make PCManFM remember your preferred Sort Files settings

You can use View > Sort Files to change the order in which PCManFM lists the files, but PCManFM won't remember that the next time you start it. To make it remember, go to Edit > Preferences and close. That will write your current sort_type and sort_by values into ~/.config/pcmanfm/LXDE/pcmanfm.conf.

"Not authorized" error when attempting to mount drive

Make this polkit rule in /etc/polkit-1/rules.d/00-mount-internal.rules:

polkit.addRule(function(action, subject) {
   if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" &&
      subject.local && subject.active && subject.isInGroup("storage")))
      {
         return polkit.Result.YES;
      }
});

And add your user to storage group:

# usermod -aG storage username

Operation not supported

See the General troubleshooting article on Session permissions.

Passwords are forgotten on system restart

Install a keyring application like GNOME/Keyring, KDE Wallet or lxqt_walletAUR for network shares or an SSH agent if appropriate.