Thunar
来自项目官网:
- Thunar 是一个用于 Xfce 桌面环境的现代化的文件管理器。Thunar 的设计初衷就是快速且易于使用。其界面简洁直观,默认不包含令人误解或无用的选项。Thunar 快速且响应迅速,具有良好的启动时间和文件夹加载时间。
安装[编辑 | 编辑源代码]
安装 thunar包 软件包。Thunar xfce4包组 软件包组的一部分,也是 Xfce 桌面环境的默认文件管理器。
插件与附件[编辑 | 编辑源代码]
- Gnome 虚拟文件系统 — 安装后显示垃圾桶,可移动介质,和远程文件系统(
mtp
/smb
)。详情请见 File manager functionality#Mounting。
- Thuanr 归档插件 — 让你能够使用上下文菜单创建和解压归档文件的插件。它并不会直接创建或解压归档,而是作为其他程序的前端,例如 File Roller (file-roller包), Ark (ark包), Xarchiver (xarchiver包) 或 Engrampa (engrampa包)。是软件包组 xfce4-goodies包组 的一部分。
- 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 快速分享文件夹的插件。另见如何配置方向。
- Thunar 卷管理器 — 在 Thunar 中自动管理可移动设备。是软件包组 xfce4-goodies包组 的一部分。
- 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-loader — gdk-pixbuf2包 的可选依赖,为默认的缩略图生成器提供了生成 webp 缩略图的支持。
- https://github.com/aruiz/webp-pixbuf-loader || webp-pixbuf-loader包
配置[编辑 | 编辑源代码]
要配置按键绑定,请编辑 ~/.config/Thunar/accels.scm
文件。要配置 Thunar 的隐藏变量,请使用 xfconf-query -c thunar -l -v
。
Thunar 卷管理器[编辑 | 编辑源代码]
若已安装 gvfs包 和 thunar-volman包,可配置 Thunar 在介质连接时自动执行命令。对于可移动设备,通常遵循 MTP,需要额外安装 gvfs-mtp包 软件包。
配置[编辑 | 编辑源代码]
它还可以配置为在连接相机和音频播放器时执行某些操作。 在安装插件之后:
- 启动 Thunar 然后前往 Edit > Preference
- 在 'Advanced' 标签页下,勾选 'Enable Volume Management'
- 点击配置并勾选下列项目:
- Mount removable drives when hot-plugged.
- Mount removable media when inserted.
- 再做出你想要的设置(请见下面的例子)
这是一个自动用 Amarok 播放音频 CD 的设置例子。
Multimedia - Audio CDs: amarok --cdplay %d
自定义动作[编辑 | 编辑源代码]
本节介绍有用的自定义操作,可以通过 Edit -> Configure custom actions
访问,存储在 ~/.config/Thunar/uca.xml
。thunar 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包。对于想要有预构建的索引数据库的用户, 可以安装plocate包 和 zeitgeist包 可选依赖。
Name | Command | File patterns | Appears if selection contains |
---|---|---|---|
Search | catfish --path=%f |
* | Directories |
扫描病毒[编辑 | 编辑源代码]
要想使用这个动作,你需要安装 clamav包 和 clamtk包。
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 共享)。要想启用这个功能,确保 gvfs包 和 sshfs包(若需要 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),试着安装一个不同的自动挂载器例如 udevilAUR 或 udiskie包。更推荐后者因为它使用 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
设置为其他目录。
另见[编辑 | 编辑源代码]
- Thunar 项目页面
- Thunar 卷管理器项目页面
- 这个插件列表
- 一些设置,比如在标题中显示完整路径,可以通过
xfconf-query
启用。详情请见这个列表。