Thunar

来自 Arch Linux 中文维基

来自项目官网:

Thunar 是一个用于 Xfce 桌面环境的现代化的文件管理器。Thunar 的设计初衷就是快速且易于使用。其界面简洁直观,默认不包含令人误解或无用的选项。Thunar 快速且响应迅速,具有良好的启动时间和文件夹加载时间。

安装[编辑 | 编辑源代码]

安装 thunar 软件包。Thunar xfce4包组 软件包组的一部分,也是 Xfce 桌面环境的默认文件管理器。

插件与附件[编辑 | 编辑源代码]

https://wiki.gnome.org/Projects/gvfs || gvfs
  • Thuanr 归档插件 — 让你能够使用上下文菜单创建和解压归档文件的插件。它并不会直接创建或解压归档,而是作为其他程序的前端,例如 File Roller (file-roller), Ark (ark), Xarchiver (xarchiver) 或 Engrampa (engrampa)。是软件包组 xfce4-goodies包组 的一部分。
https://goodies.xfce.org/projects/thunar-plugins/thunar-archive-plugin || thunar-archive-plugin
  • Thunar 媒体标签插件 — 让你能够预览媒体文件详细信息的插件。它还带有批量重命名和编辑媒体标签的功能。它支持 ID3 (MP3 文件格式系统) 和 Ogg/Vorbis 标签。是软件包组 xfce4-goodies包组 的一部分。
https://goodies.xfce.org/projects/thunar-plugins/thunar-media-tags-plugin || thunar-media-tags-plugin
  • Thunar 共享插件 — 让你能够无需 root 权限,通过 Thunar ,使用 Samba 快速分享文件夹的插件。另见如何配置方向
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 — 生成缩略图的外部程序。还可以安装 ffmpegthumbnailer 来启用视频缩略图。
https://gitlab.xfce.org/xfce/tumbler || tumbler
  • libgsf — GNOME 结构化文件库是一个用于读写结构化文件格式的实用程序库。如果你需要 odf 缩略图的支持就安装。
https://directory.fsf.org/wiki/Libgsf || libgsf
  • RAW thumbnailer — 一个轻量快速的原始图像缩略图生成器,用于显示原始图像缩略图。
https://code.google.com/archive/p/raw-thumbnailer/ || raw-thumbnailerAUR
  • Extra thumbnailers — 为 Tumbler 定制的缩略图生成器。
https://docs.xfce.org/xfce/tumbler/available_plugins/ || tumbler-extra-thumbnailersAUR
  • Folder thumbnailer — 通过 Tumbler 支持自定义文件夹缩略图。
https://github.com/j-james/thunar-folder-thumbnails || tumbler-folder-thumbnailerAUR
  • STL thumbnailer — 为 Tumbler 生成 STL 缩略图的支持。
https://github.com/j-james/thunar-stl-thumbnails || tumbler-stl-thumbnailerAUR
  • webp-pixbuf-loadergdk-pixbuf2 的可选依赖,为默认的缩略图生成器提供了生成 webp 缩略图的支持。
https://github.com/aruiz/webp-pixbuf-loader || webp-pixbuf-loader

配置[编辑 | 编辑源代码]

要配置按键绑定,请编辑 ~/.config/Thunar/accels.scm 文件。要配置 Thunar 的隐藏变量,请使用 xfconf-query -c thunar -l -v

Thunar 卷管理器[编辑 | 编辑源代码]

若已安装 gvfsthunar-volman,可配置 Thunar 在介质连接时自动执行命令。对于可移动设备,通常遵循 MTP,需要额外安装 gvfs-mtp 软件包。

提示:要想让 Thunar 处理自动挂载,必须在守护进程模式中启动。

配置[编辑 | 编辑源代码]

它还可以配置为在连接相机和音频播放器时执行某些操作。 在安装插件之后:

  1. 启动 Thunar 然后前往 Edit > Preference
  2. 在 'Advanced' 标签页下,勾选 'Enable Volume Management'
  3. 点击配置并勾选下列项目:
    • Mount removable drives when hot-plugged.
    • Mount removable media when inserted.
  4. 再做出你想要的设置(请见下面的例子)

这是一个自动用 Amarok 播放音频 CD 的设置例子。

 Multimedia - Audio CDs: amarok --cdplay %d

自定义动作[编辑 | 编辑源代码]

本节介绍有用的自定义操作,可以通过 Edit -> Configure custom actions 访问,存储在 ~/.config/Thunar/uca.xmlthunar wiki 中列出了更多例子。此外,这篇博客文章提供了全面的自定义操作集合。

在此处打开终端[编辑 | 编辑源代码]

“在此处打开终端” 是安装时的唯一操作。为 exo 配置要使用的终端:

~/.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

搜索文件的目录[编辑 | 编辑源代码]

要想使用这个动作,你需要安装 catfish。对于想要有预构建的索引数据库的用户, 可以安装plocatezeitgeist 可选依赖。

Name Command File patterns Appears if selection contains
Search catfish --path=%f * Directories

扫描病毒[编辑 | 编辑源代码]

要想使用这个动作,你需要安装 clamavclamtk

Name Command File patterns Appears if selection contains
Scan for virus clamtk %F * Select all

链接到 Dropbox[编辑 | 编辑源代码]

Name Command File patterns Appears if selection contains
Link to Dropbox ln -s %f /path/to/DropboxFolder * Directories, other files

请注意当使用许多自定义操作将文件和文件夹符号链接到特定位置时,将它们放到上下文菜单中的 发送到 目录可以避免上下文菜单变得臃肿。这很容易实现,需要在 ~/.local/share/Thunar/sendto 中为每个动作创建一个 .desktop 文件。假设我们要将上述 Dropbox 符号链接操作放入 "发送到",创建一个带有下列内容的 dropbox_folder.desktop 。新应用的动作会在 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

提示与技巧[编辑 | 编辑源代码]

使用 Thunar 浏览远程位置[编辑 | 编辑源代码]

因为 Xfce 4.8 (Thunar 1.2) 可以直接在 Thunar 浏览远程位置 (例如 FTP 服务器或 Samba 共享)。要想启用这个功能,确保 gvfssshfs(若需要 SMB/CIFS 支持,还需要 gvfs-smb)软件包已安装。Thunar 侧边栏可以看到 '网络' 项目,可以在位置对话框中使用以下 URI 方案打开远程位置 (用 Ctrl+l 打开):smb://, ftp://, ssh://, sftp://, davs:// 后跟服务器主机名或 IP 地址。

没有用于 NFS 共享的 URI 方案,但是如果你正确设置你的 fstab ,Thunar 可以发出 mount 命令。

/etc/fstab
# nas1 server
nas1:/c/home		/media/nas1/home	nfs	noauto,user,_netdev,bg  0 0

这里要注意的是 noauto 选项,它会在你点击挂载前阻止共享被自动挂载,user 选项是被允许挂载和卸载共享的用户,_netdev 选项使网络连接成为先决条件,最后 bg 选项使挂载操作在后台进行,如果你的服务器需要一些启动时间,这么做将使你在它工作前不必处理超时消息并重新单击。

提示:
  • 如果你想要持久存储远程文件系统位置的密码,你必须安装 GNOME Keyring
  • 为了让 Thunar 显示任意非 root 用户的新设备,可能需要将挂载点设置为 /media 的子目录。

以守护进程模式启动[编辑 | 编辑源代码]

Thunar 可以以守护进程模式运行。这有许多优势,包括加快 Thunar 的启动速度,Thunar 在后台运行而且在需要时只打开一个窗口(例如当闪存驱动器插入时),和让 Thunar 处理可移动介质的自动挂载。

确保命令 thunar --daemon 在登录时自动运行。详情请见 Xfce自动运行

缓慢的冷启动问题的解决方案[编辑 | 编辑源代码]

一些人还有 Thunar 在首次启动时耗时过长的问题。这是因为 gvfs 检查网络,阻止 Thunar 启动直到它完成该操作。要想改善此行为,编辑 /usr/share/gvfs/mounts/network.mount ,将 AutoMount=true 修改为 AutoMount=false

在侧窗格中隐藏快捷方式[编辑 | 编辑源代码]

在侧窗格中有一个隐藏菜单用于隐藏快捷方式。

在侧窗格中没有快捷方式的地方右键,例如在 DEVICES 标签上。然后会弹出一个菜单,你可以将不想显示出的项目取消勾选。

在 Thunar 中分配键盘快捷键[编辑 | 编辑源代码]

请见 GTK#键盘快捷键

显示在 fstab 中定义的分区[编辑 | 编辑源代码]

默认情况下 Thunar 不会在设备中显示 /etc/fstab 中定义的任何分区,除了 root 分区。

我们可以通过向 fstab 中为想要显示出的分区添加 x-gvfs-show 选项。

故障排除[编辑 | 编辑源代码]

大型外部驱动器的自动挂载[编辑 | 编辑源代码]

如果安装了 thunar-volman 和 gvfs,但 Thunar 拒绝挂载大型可移动介质(大小 > 1TB),试着安装一个不同的自动挂载器例如 udevilAURudiskie。更推荐后者因为它使用 udisks2 而且它与 gvfs 兼容。要想启动带有 udisks2 支持的 udiskie,将下列内容添加到你的自动启动文件:

udiskie -2 &

Tumblerd 挂起,占用过多 CPU[编辑 | 编辑源代码]

Tumblerd 在监视文件系统并在需要制作缩略图时通知系统的服务时可能会陷入循环,请见 bug 报告。下面的脚本是一个阻止这种情况发生的临时解决方案。复制,将它粘贴到一个 .sh 文件,将它保存的你的家目录的某个位置,将文件标记为可运行,然后在将它设置为在系统启动时自动运行。

#!/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

垃圾桶/网络 图标随机消失[编辑 | 编辑源代码]

确保所有 Thunar 示例在 gvfs 之后启动。[1]对于 thunar --daemon, 你可以将它包装成等待直到 GVFS 启动:

注意:$PATH/usr/local/bin 应该在 /usr/bin 的前面。
/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

未经身份验证挂载文件系统[编辑 | 编辑源代码]

请见 File manager functionality#Troubleshooting

Thunar 新窗口或标签打开速度太慢[编辑 | 编辑源代码]

可能是因为你在设置为 XDG_TEMPLATES_DIR 的目录中有太多文件。请见 XDG 用户路径

解决方案是将 XDG_TEMPLATES_DIR 中文件移到其他地方,或者将 XDG_TEMPLATES_DIR 设置为其他目录。

另见[编辑 | 编辑源代码]