跳转至内容

Thunar

来自 ArchWiki
(重定向自 Thunar Volume Manager)

来自项目 主页

Thunar 是 Xfce 桌面环境的现代文件管理器。Thunar 从头开始设计,力求快速易用。它的用户界面干净直观,默认不包含任何令人困惑或无用的选项。Thunar 快速响应,启动时间和文件夹加载时间都很好。

安装

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

插件和附加组件

  • GNOME 虚拟文件系统 — 如果安装,Thunar 将显示回收站、可移动媒体和远程文件系统 (mtp/smb)。有关更多详细信息,请参阅 文件管理器功能#挂载
https://wiki.gnome.org/Projects/gvfs || gvfs
  • Thunar 存档插件 — 该插件允许您通过上下文菜单项创建和提取存档文件。它不直接创建或提取存档,而是作为 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 共享插件 — 该插件允许您从 Thunar 中使用 Samba 快速共享一个文件夹,而无需 root 访问权限。另请参阅 如何配置共享
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://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 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 中可以更改默认的排序顺序。需要编辑 /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 音量管理器

如果同时安装了 gvfsthunar-volman,则可以将 Thunar 配置为在连接媒体时自动运行命令。对于通常遵循 MTP 的移动设备,还需要安装 gvfs-mtp 包。

提示 要让 Thunar 处理自动挂载,必须以 守护进程模式 启动 thunar。

配置

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

  1. 启动 Thunar 并转到 编辑 > 首选项
  2. 在“高级”选项卡下,勾选“启用音量管理”
  3. 点击配置并勾选以下项目
    • 热插拔时挂载可移动驱动器。
    • 插入时挂载可移动媒体。
  4. 还可以进行所需的其他更改(参见下面的示例)

这是一个让 Amarok 播放音频 CD 的示例设置。

Multimedia - Audio CDs: amarok --cdplay %d

自定义操作

本节介绍有用的自定义操作,可以通过 编辑 -> 配置自定义操作 访问,并存储在 ~/.config/Thunar/uca.xml 中。更多示例列在 Thunar Wiki 中。此外,这篇博客文章提供了全面的自定义操作集合。

在此处打开终端

安装时,“在此处打开终端”是唯一的操作。告诉 exo 使用哪个终端

~/.config/xfce4/helpers.rc
TerminalEmulator=terminal
名称 命令 文件模式 如果选择包含以下内容,则显示
在此处打开终端 exo-open --working-directory %f --launch TerminalEmulator * 目录

搜索文件和文件夹

要使用此操作,您需要安装 catfish。对于希望使用预构建索引数据库的用户,plocatezeitgeist 依赖项是可选的。

名称 命令 文件模式 如果选择包含以下内容,则显示
搜索 catfish --path=%f * 目录

扫描病毒

要使用此操作,您需要安装 clamavclamtk

名称 命令 文件模式 如果选择包含以下内容,则显示
扫描病毒 clamtk %F * 全选
名称 命令 文件模式 如果选择包含以下内容,则显示
链接到 Dropbox ln -s %f /path/to/DropboxFolder * 目录,其他文件

请注意,当使用许多自定义操作将文件和文件夹链接到特定位置时,将它们放入上下文菜单的“发送到”文件夹中可能很有用,以避免菜单本身变得臃肿。这很容易实现,并且需要为每个要执行的操作在 ~/.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 的侧边栏中会显示一个“网络”条目,您可以通过在位置对话框(使用 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 中定义的任何挂载点。

我们可以通过为我们希望显示的挂载点在 fstab 中添加选项 x-gvfs-show 来更改此行为。

故障排除

Tumblerd 挂起,占用过多 CPU

Tumblerd 是一个监视文件系统并通知系统何时需要生成缩略图的服务,它可能会陷入循环,占用系统 CPU 的 100%;请参阅 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 设置为另一个文件夹。

参见