PCManFM

Related articles
LXDE
Openbox
File manager functionality
SpaceFM
Thunar
GNOME Files
Nemo
PCManFM
is an extremely fast and lightweight file manager and the standard file manager of
LXDE
. It uses
GTK
for its UI and
GVFS
(within GNOME's
GIO
library) to provide virtual filesystem functionality such as trashing files and mounting remote filesystems.
PCManFM-Qt
is a port to
Qt
which is the standard file manager of
LXQt
. Despite using Qt as the UI toolkit, PCManFM-Qt retains
GVFS
rather than using KDE's
KIO
[1]
. At their cores, both file managers are desktop-environment-agnostic.
Installation
Install
one of the following the packages:
GTK 3
:
pcmanfm
Qt6
:
pcmanfm-qt
Optionally also install
gvfs
for support for mounting volumes (with
udisks
), managing trash, and exploring remote filesystems. Certain protocols such as SMB may require additional dependencies mentioned in
Gvfs
.
Desktop management
PCManFM can manage the desktop, including setting a background wallpaper and showing desktop icons. To launch the desktop manager, run:
$ pcmanfm --desktop
The native desktop menu of the window manager will be replaced with that provided by PCManFM. The native menu can be restored from the PCManFM menu by selecting
Desktop Preferences
and then enabling the
Show menus provided by window managers when desktop is clicked
option in the
Advanced
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
Consider adding this command to a keybind and/or the native desktop menu for easy access.
Creating new icons
Files can be dragged and dropped directly onto the desktop. To create shortcuts for applications, copy their
.desktop
files to the
~/Desktop
directory. Do not drag and drop the files there as they will be moved completely. The command is:
$ cp /usr/share/applications/
name-of-application
.desktop ~/Desktop
For example to create a desktop shortcut for
lxterminal
:
$ 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 as a background daemon (i.e. to automatically mount removable media), use:
$ pcmanfm --daemon-mode
Only one instance of PCManFM may run as a daemon at atime.
Should automount fail, see
udisks
.
Autostarting
PCManFM may be
autostarted
as a
daemon
process or to manage the desktop.
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
.
Integrate an archiver
It is possible to choose the integrated archiver under
Edit > Preferences > Advanced
. PCManFM and PCManFM-Qt both support
file-roller
,
xarchiver
,
engrampa
and
ark
[2]
[3]
. PCManFM-Qt additionally supports
lxqt-archiver
, which is the default choice for LXQt.
Adding custom items to the context menu
PCManFM supports
Desktop file specification extension
(DES-EMA) which allows you to add arbitrary items to the context menu of files and directories. To add your own items, create
~/.local/share/file-manager/actions/
(if it does not already exist) and add
.desktop
files inside:
~/.local/share/file-manager/actions/
action
.desktop
[Desktop Entry]
Type=Action
Profiles=
profile_id
Name=
Action name in English
Name[
cc
]=
Action name in Language
Icon=
Icon name
# Example: Icon=text-editor

[X-Action-Profile
profile_id
]
MimeTypes=
MIME-types (semicolon separated)
Exec=
command and arguments
# Example: Exec=gedit %f
You can bind one or more profiles to a single action by listing their id separated by semicolons. Profiles allow you to specify which commands to execute for which file types — thus the same action can run different commands depending on the type of file selected. Besides specific MIME types (e.g.
text/plain
for text files), you can use the following general types:
all/allfiles
- any files;
inode/directory
- any directories;
all/all
- any files and directories.
Note
It is possible to run commands as root using
pkexec
, but calling it directly will not work and you need to create an intermediate script as described on
LXDE's wiki
.
Templates are accessible under
Create New...
PCManFM adds the files in
~/Templates
as
Create New...
context menu items on startup.
Thumbnails
The factual accuracy of this article or section is disputed.
Reason:
When using a modern SSD, PCManFM can render thumbnails for directories containing thousands of media files without issue. (Discuss in
Talk:PCManFM
)
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, set the following
environment variables
:
XDG_MENU_PREFIX=lxde-
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. See
#"Open With" dialog window empty
.
See these threads for more information:
[4]
, and especially this post from the Linux Mint forums:
[5]
No icons
This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
Use
Template:hc
when suggesting edits to configuration files (Discuss in
Talk:PCManFM
)
The factual accuracy of this article or section is disputed.
Reason:
Should we be suggesting editing the global gtk configuration for a file manager? (Discuss in
Talk:PCManFM
)
This article or section needs expansion.
Reason:
Software also supports gtk3, although only gtk2 referenced here (Discuss in
Talk:PCManFM
)
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
,
xvkbd
AUR
and edit
~/.xbindkeysrc
to contain the following:
~/.xbindkeysrc
# 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
The factual accuracy of this article or section is disputed.
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 will not 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
:
This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
Inconsistent syntax within configuration section (Discuss in
Talk:PCManFM
)
/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 yourself to the storage
user group
.
Operation not supported
Check first if you forgot to install the optional dependency
gvfs
, otherwise see the article on
Session permissions
.
Passwords are forgotten on system restart
Install a keyring application like
GNOME/Keyring
,
KDE Wallet
or
lxqt_wallet
AUR
for network shares or an
SSH agent
if appropriate.
Empty Network place in PCManFM
Install
gvfs-dnssd
and
gvfs-wsdd
.
Also check that
avahi-daemon.service
is
enabled
and
started
.