Thunar
From the project home page:
- Thunar is a modern file manager for the Xfce Desktop Environment. Thunar has been designed from the ground up to be fast and easy-to-use. Its user interface is clean and intuitive, and does not include any confusing or useless options by default. Thunar is fast and responsive with a good start up time and folder load time.
Installation
Install the thunar package. Thunar is part of the xfce4 group and the default file manager of the xfce desktop environment.
Plugins and addons
-
Gnome Virtual File System — If installed, Thunar will show the trash can, removable media, and remote filesystems (
mtp
/smb
). See File manager functionality#Mounting for more details.
- Thunar Archive Plugin — Plugin which allows you to create and extract archive files using contextual menu items. It does not create or extract archives directly, but instead acts as a frontend for other programs such as File Roller (file-roller), Ark (ark), Xarchiver (xarchiver) or Engrampa (engrampa). Part of xfce4-goodies.
- Thunar Media Tags Plugin — Plugin which allows you to view detailed information about media files. It also has a bulk renamer and allows editing of media tags. It supports ID3 (the MP3 file format's system) and Ogg/Vorbis tags. Part of xfce4-goodies.
- https://goodies.xfce.org/projects/thunar-plugins/thunar-media-tags-plugin || thunar-media-tags-plugin
- Thunar Shares Plugin — Plugin which allows you to quickly share a folder using Samba from Thunar without requiring root access. See also how to configure directions.
- Thunar Volume Manager — Automatic management of removeable devices in Thunar. Part of xfce4.
- Tumbler — External program to generate thumbnails. Also install ffmpegthumbnailer to enable video thumbnailing.
-
https://gitlab.xfce.org/xfce/tumbler || tumbler
- libgsf — The GNOME Structured File Library is a utility library for reading and writing structured file formats. Install if you need support for odf thumbnails.
-
https://directory.fsf.org/wiki/Libgsf || libgsf
- RAW thumbnailer — A lightweight and fast raw image thumbnailer that is needed to display raw thumbnails.
-
https://github.com/erlendd/raw-thumbnailer || raw-thumbnailerAUR
- Extra thumbnailers — Customized thumbnailers for Tumbler.
-
https://docs.xfce.org/xfce/tumbler/available_plugins/ || tumbler-extra-thumbnailersAUR
- Folder thumbnailer — Support for custom folder thumbnails through Tumbler.
-
https://github.com/j-james/thunar-folder-thumbnails || tumbler-folder-thumbnailerAUR
- STL thumbnailer — Support for generating STL thumbnails for Tumbler.
-
https://github.com/j-james/thunar-stl-thumbnails || tumbler-stl-thumbnailerAUR
- webp-pixbuf-loader — Optional dep for gdk-pixbuf2 which adds support for generating webp thumbnails to the default thumbnailers.
- https://github.com/aruiz/webp-pixbuf-loader || webp-pixbuf-loader
Configuration
To configure the keybindings, edit the file ~/.config/Thunar/accels.scm
. To configure Thunar's hidden variables, use xfconf-query -c thunar -l -v
.
Thunar Volume Manager
If both gvfs and thunar-volman are installed, Thunar can be configured to run commands automatically when media are connected. For mobile devices, which generally follow MTP, an additional gvfs-mtp package is required.
Configuration
It can also be configured to execute certain actions when cameras and audio players are connected. After installing the plugin:
- Launch Thunar and go to Edit > Preferences
- Under the 'Advanced' tab, check 'Enable Volume Management'
- Click configure and check the following items:
- Mount removable drives when hot-plugged.
- Mount removable media when inserted.
- Also make desired changes (see the example below)
Here's an example setting for making Amarok play an audio CD.
Multimedia - Audio CDs: amarok --cdplay %d
Custom actions
This section covers useful custom actions which can be accessed through Edit -> Configure custom actions
and which are stored in ~/.config/Thunar/uca.xml
. More examples are listed in the thunar wiki. Furthermore, this blog post provides a comprehensive collection of custom actions.
Open Terminal Here
Open Terminal Here is the sole action on installation. Tell exo which terminal to use,
~/.config/xfce4/helpers.rc
TerminalEmulator=terminal
Name | Command | File patterns | Appears if selection contains |
---|---|---|---|
Open Terminal Here | exo-open --working-directory %f --launch TerminalEmulator |
* | Directories |
Search for files and folders
To use this action, you need to have catfish installed. The plocate and zeitgeist dependencies are optional for users that want to use a prebuilt index database.
Name | Command | File patterns | Appears if selection contains |
---|---|---|---|
Search | catfish --path=%f |
* | Directories |
Scan for viruses
To use this action, you need to have clamav and clamtk installed.
Name | Command | File patterns | Appears if selection contains |
---|---|---|---|
Scan for virus | clamtk %F |
* | Select all |
Link to Dropbox
Name | Command | File patterns | Appears if selection contains |
---|---|---|---|
Link to Dropbox | ln -s %f /path/to/DropboxFolder |
* | Directories, other files |
Please note that when using many custom actions to symlink files and folder to a particular place, it might be useful to put them into the Send To
folder of the context menu to avoid that the menu itself gets bloated. This is fairly easy to achieve and requires a .desktop file in ~/.local/share/Thunar/sendto
for each action to perform. Say we want to put the above Dropbox symlink action into Send To, we create a dropbox_folder.desktop
with the following content. The new applied action will be active after restarting Thunar.
[Desktop Entry] Type=Application Version=1.0 Encoding=UTF-8 Exec=ln -s %f /path/to/DropboxFolder Icon=/usr/share/icons/dropbox.png Name=Dropbox
Tips and tricks
Using Thunar to browse remote locations
Since Xfce 4.8 (Thunar 1.2) it is possible to browse remote locations (such as FTP servers or Samba shares) directly in Thunar. To enable this functionality, ensure that gvfs and sshfs (as well as gvfs-smb if you need SMB/CIFS support) are installed. A 'Network' entry is visible in Thunar's side bar and remote locations can be opened by using the following URI schemes in the location dialog (opened with Ctrl+l
): smb://, ftp://, ssh://, sftp://, davs:// & followed by the server hostname or IP address.
There is no URI scheme for NFS shares, but Thunar can issue a mount
command if you setup your fstab properly.
/etc/fstab
# nas1 server nas1:/c/home /media/nas1/home nfs noauto,user,_netdev,bg 0 0
What is important here is the noauto
which prevents the share from being mounted until you click on it, user
which allows any user to mount (and unmount) the share, _netdev
which makes network connectivity a pre-requisite, and finally, bg
which puts the mounting operation in the background so if your server requires some spin-up time, you will not have to deal with time out messages and re-clicking until it works.
- If you want to permanently store passphrases of remote filesystem locations, you have to install GNOME Keyring.
- It can be necessary to specify the mountpoint as a subfolder to
/media
in order for Thunar to display the new device for any non-root user.
Starting in daemon mode
Thunar may be run in daemon mode. This has several advantages, including a faster startup for Thunar, Thunar running in the background and only opening a window when necessary (for instance, when a flash drive is inserted), and letting Thunar handle automatic mounting of removable media.
Make sure the command thunar --daemon
is autostarted on login. See Xfce and Autostarting for more details.
Solving problem with slow cold start
Some people still have problems with Thunar taking a long time to start for the first time. This is due to gvfs checking the network, preventing Thunar from starting until gvfs finishes its operations. To change this behaviour, edit /usr/share/gvfs/mounts/network.mount
and change AutoMount=true
to AutoMount=false
.
Hide Shortcuts in Side Pane
There is a hidden menu to hide Shortcuts in the Side Pane.
Right click in the Side Pane where there are no shortcuts, like on the DEVICES section label. Then you will get a pop-up menu where you can uncheck items you do not want displayed.
Assign keyboard shortcuts in Thunar
Showing partitions defined in fstab
By default, Thunar will not show in devices any partitions defined in /etc/fstab
besides the root partition.
We can change that by adding the option x-gvfs-show
to fstab for the partition we wish to show.
Troubleshooting
Automounting of large external drives
If Thunar refuses to mount large removable media (size > 1TB) although thunar-volman and gvfs have been installed, then try installing a different automounter such as udevilAUR or udiskie. The latter should be preferred as it uses udisks2 and thus is compatible with gvfs. To start udiskie with udisks2 support, add the following line to your autostart file:
udiskie -2 &
Tumblerd hangs up, uses too much CPU
Tumblerd, the service that watches the file system and notifies the system when a thumbnail needs to be made, may get stuck in a loop, using 100% of the system's CPU; see the bug report. The following script is a temporary workaround to stop this from happening. Copy, and paste this into a .sh file, save it somewhere in your home directory, mark the file as executable and then set up the system to autostart it at system startup.
#!/bin/bash period=20 tumblerpath="/usr/lib/*/tumbler-1/tumblerd" # The * here should find the right one, whether 32 and 64-bit cpu_threshold=50 mem_threshold=20 max_strikes=2 # max number of above cpu/mem-threshold's in a row log="/tmp/tumblerd-watcher.log" if [[ -n "${log}" ]]; then cat /dev/null > "${log}" exec >"${log}" 2>&1 fi strikes=0 while sleep "${period}"; do while read pid; do cpu_usage=$(ps --no-headers -o pcpu -f "${pid}"|cut -f1 -d.) mem_usage=$(ps --no-headers -o pmem -f "${pid}"|cut -f1 -d.) if [[ $cpu_usage -gt $cpu_threshold ]] || [[ $mem_usage -gt $mem_threshold ]]; then echo "$(date +"%F %T") PID: $pid CPU: $cpu_usage/$cpu_threshold %cpu MEM: $mem_usage/$mem_threshold STRIKES: ${strikes} NPROCS: $(pgrep -c -f ${tumblerpath})" (( strikes++ )) if [[ ${strikes} -ge ${max_strikes} ]]; then kill "${pid}" echo "$(date +"%F %T") PID: $pid KILLED; NPROCS: $(pgrep -c -f ${tumblerpath})" strikes=0 fi else strikes=0 fi done < <(pgrep -f ${tumblerpath}) done
Trash/network icons disappear randomly
Make sure all Thunar instances start after gvfs. [1] For thunar --daemon
, you can create a wrapper that waits until GVFS is active:
/usr/local/bin
should come before /usr/bin
in $PATH
./usr/local/bin/Thunar
#!/bin/bash if [[ $1 == --daemon ]]; then until pgrep gvfs >/dev/null; do sleep 1 done exec /usr/bin/Thunar "$@" else exec /usr/bin/Thunar "$@" fi
Not authenticated to mount filesystems
See File manager functionality#Troubleshooting.
Thunar new window or tab being too slow to open
It might be the case that you have many files under the folder that you have set to be the XDG_TEMPLATES_DIR
. See XDG user directories.
The solution is to move files from whatever folder is the XDG_TEMPLATES_DIR
to another one, or set the XDG_TEMPLATES_DIR
to another folder.
See also
- Thunar project page
- Thunar Volume Manager project page
- This list of plugins
- Several settings, like showing the full path in the title, are available through
xfconf-query
. See this list for more details.