Thunar
来自项目 主页
- Thunar 是 Xfce 桌面环境的一款现代文件管理器。Thunar 从头开始设计,旨在实现快速易用。其用户界面简洁直观,默认情况下不包含任何令人困惑或无用的选项。Thunar 快速响应,启动和文件夹加载时间均良好。
安装
安装 thunar 包。Thunar 是 xfce4 组的一部分,也是 Xfce 桌面环境的默认文件管理器。
插件和扩展
- GNOME 虚拟文件系统 (Gnome Virtual File System) — 如果安装,Thunar 将会显示回收站、可移动媒体和远程文件系统(
mtp/smb)。有关更多详细信息,请参阅 文件管理器功能#挂载。
- Thunar 存档插件 (Thunar Archive Plugin) — 此插件允许您通过上下文菜单项创建和提取存档文件。它不直接创建或提取存档,而是充当其他程序(如 File Roller(file-roller)、Ark(ark)、Xarchiver(xarchiver)或 Engrampa(engrampa)的前端。是 xfce4-goodies 的一部分。
- Thunar 媒体标签插件 (Thunar Media Tags Plugin) — 此插件允许您查看有关媒体文件的详细信息。它还提供批量重命名器,并允许编辑媒体标签。它支持 ID3(MP3 文件格式的系统)和 Ogg/Vorbis 标签。是 xfce4-goodies 的一部分。
- https://goodies.xfce.org/projects/thunar-plugins/thunar-media-tags-plugin || thunar-media-tags-plugin
- Thunar 共享插件 (Thunar Shares Plugin) — 此插件允许您无需 root 权限即可通过 Thunar 快速共享 Samba 文件夹。另请参阅 如何配置共享。
- Thunar 音量管理器 — Thunar 中可移动设备自动管理。是 xfce4 的一部分。
- Tumbler — 用于生成缩略图的外部程序。另请安装 ffmpegthumbnailer 以启用视频缩略图。
- https://gitlab.xfce.org/xfce/tumbler || tumbler
- libgsf — GNOME 结构化文件库是用于读取和写入结构化文件格式的实用库。如果需要 ODF 缩略图支持,请安装。
- https://directory.fsf.org/wiki/Libgsf || libgsf
- RAW 缩略图生成器 (RAW thumbnailer) — 一个轻量级且快速的 RAW 图像缩略图生成器,显示 RAW 缩略图需要它。
- https://github.com/erlendd/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 缩略图生成器 (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 中可以更改默认排序顺序。需要编辑文件 /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/thunar.xml,很可能还需要创建它。对于按名称升序排序,其内容应如下所示:
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
<?xml version="1.0" encoding="UTF-8"?> <channel name="thunar" version="1.0"> <property name="last-sort-order" type="string" value="GTK_SORT_ASCENDING" locked="*" unlocked="root"/> <property name="last-sort-column" type="string" value="THUNAR_COLUMN_NAME" locked="*" unlocked="root"/> </channel>
Thunar 音量管理器
如果同时安装了 gvfs 和 thunar-volman,Thunar 可以配置为在媒体连接时自动运行命令。对于通常遵循 MTP 的移动设备,需要额外的 gvfs-mtp 包。
配置
它还可以配置为在相机和音频播放器连接时执行特定操作。安装插件后:
- 启动 Thunar 并转到 编辑 > 首选项
- 在“高级”选项卡下,勾选“启用音量管理”
- 点击配置并勾选以下项目
- 热插拔时挂载可移动驱动器。
- 插入时挂载可移动媒体。
- 同时进行所需的更改(请参阅下面的示例)
这是一个让 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
| 名称 | 命令 | 文件模式 | 当选择包含以下内容时出现 |
|---|---|---|---|
| 在此处打开终端 | exo-open --working-directory %f --launch TerminalEmulator |
* | 目录 |
搜索文件和文件夹
要使用此操作,您需要安装 catfish。对于希望使用预构建索引数据库的用户,plocate 和 zeitgeist 依赖项是可选的。
| 名称 | 命令 | 文件模式 | 当选择包含以下内容时出现 |
|---|---|---|---|
| 搜索 | catfish --path=%f |
* | 目录 |
扫描病毒
| 名称 | 命令 | 文件模式 | 当选择包含以下内容时出现 |
|---|---|---|---|
| 扫描病毒 | clamtk %F |
* | 全选 |
链接到 Dropbox
| 名称 | 命令 | 文件模式 | 当选择包含以下内容时出现 |
|---|---|---|---|
| 链接到 Dropbox | ln -s %f /path/to/DropboxFolder |
* | 目录,其他文件 |
请注意,当使用许多自定义操作将文件和文件夹链接到特定位置时,将它们放入上下文菜单的 Send To 文件夹中可能很有用,以避免菜单本身变得臃肿。这很容易实现,并且需要一个名为 dropbox_folder.desktop 的 .desktop 文件位于 ~/.local/share/Thunar/sendto 中。假设我们要将上面的 Dropbox 链接操作放入 Send To,我们会创建一个内容如下的 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 的侧边栏中会显示一个“网络”条目,并且可以通过位置对话框(使用 Ctrl+l 打开)中的以下 URI 方案打开远程位置: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 在后台运行并在需要时才打开窗口(例如,插入 U 盘时),以及让 Thunar 处理可移动媒体的自动挂载。
确保命令 thunar --daemon 在登录时自动启动。有关更多详细信息,请参阅 Xfce 和 自动启动。
解决冷启动慢的问题
有些人仍然遇到 Thunar 首次启动很慢的问题。这是因为 gvfs 正在检查网络,阻止 Thunar 启动,直到 gvfs 完成其操作。要更改此行为,请编辑 /usr/share/gvfs/mounts/network.mount 并将 AutoMount=true 更改为 AutoMount=false。
隐藏侧边栏中的快捷方式
有一个隐藏菜单可以隐藏侧边栏中的快捷方式。
在侧边栏中没有快捷方式的地方(例如“设备”部分标签)右键单击。然后您会收到一个弹出菜单,您可以在其中取消选中不想显示的项。
在 Thunar 中分配键盘快捷键
请参阅 GTK#键盘快捷键。
显示 fstab 中定义的挂载点
默认情况下,除了根分区之外,Thunar 不会在设备中显示 /etc/fstab 中定义的任何分区。
我们可以通过为我们希望显示的分区将 x-gvfs-show 选项添加到 fstab 来更改此行为。
故障排除
Tumblerd 挂起,占用过多 CPU
Tumblerd 是一个监视文件系统并通知系统何时需要创建缩略图的服务,它可能会陷入循环,占用系统 100% 的 CPU;请参阅 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 激活。
/usr/local/bin 在 $PATH 中应排在 /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
未通过身份验证挂载文件系统
请参阅 文件管理器功能#故障排除。
Thunar 新窗口或标签页打开速度太慢
可能是因为您在设置为 XDG_TEMPLATES_DIR 的文件夹下有大量文件。请参阅 XDG 用户目录。
解决方法是将文件从 XDG_TEMPLATES_DIR 所属的任何文件夹移动到另一个文件夹,或将 XDG_TEMPLATES_DIR 设置为另一个文件夹。
参见
- Thunar 项目页面
- Thunar 音量管理器项目页面
- 此 插件列表
- 多个设置,例如在标题中显示完整路径,可通过
xfconf-query进行设置。有关更多详细信息,请参阅 此列表。