Thunar

From ArchWiki

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.
https://wiki.gnome.org/Projects/gvfs || gvfs
  • 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.
https://goodies.xfce.org/projects/thunar-plugins/thunar-archive-plugin || thunar-archive-plugin
  • 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.
https://goodies.xfce.org/projects/thunar-plugins/thunar-shares-plugin || thunar-shares-plugin
https://goodies.xfce.org/projects/thunar-plugins/thunar-volman || thunar-volman
  • 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.

Tip: To let Thunar handle automatic mounting, one must launch thunar in daemon mode.

Configuration

It can also be configured to execute certain actions when cameras and audio players are connected. After installing the plugin:

  1. Launch Thunar and go to Edit > Preferences
  2. Under the 'Advanced' tab, check 'Enable Volume Management'
  3. Click configure and check the following items:
    • Mount removable drives when hot-plugged.
    • Mount removable media when inserted.
  4. 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.

Tip:
  • 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

See GTK#Keyboard shortcuts,

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:

Note: /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.