文件管理器功能
本文概述了扩展文件管理器功能所需的附加软件包,特别是在使用 窗口管理器(如 Openbox)时。本文还提供了在不输入密码的情况下访问分区和可移动媒体(如果受影响)的功能。
概述
仅安装文件管理器本身,并不能提供用户在 Plasma 或 Xfce 等完整桌面环境中习惯的功能。这是因为需要额外的软件包来使某个文件管理器能够
- 显示并访问其他分区
- 显示、挂载和访问可移动媒体(例如 USB 闪存盘、光盘和数码相机)
- 启用网络/与其他已安装操作系统共享网络
- 启用缩略图生成
- 归档和解压缩文件
- 自动挂载可移动媒体
当文件管理器作为完整桌面环境的一部分安装时,大多数这些软件包通常已自动安装。因此,如果文件管理器是为独立的窗口管理器安装的,那么——就像窗口管理器本身一样——只会提供一个基本的基础。用户然后必须确定要添加的功能的性质和范围。
附加功能
使用轻量级环境时,文件管理器附加功能越多,所需的内存使用量也越多。另请参见 udisks。
挂载
GVFS 使用的文件夹
/usr/lib/包含gvfsd-*文件,其中*指代各种支持的文件系统类型。/usr/share/gvfs/mounts/包含 GVFS 的挂载规则。要使用自己的规则,请创建~/.gvfs/mounts。
通常,附加安装包遵循 gvfs-* 模式,例如
- gvfs-smb:Windows 文件共享以及任何使用 SMB/CIFS 协议的内容。这内部使用 Samba。
- gvfs-mtp:使用 MTP 的媒体播放器和移动设备
- gvfs-gphoto2:使用 PTP 的数码相机和移动设备
- gvfs-afc:Apple 移动设备
文件管理器守护进程
大多数图形文件管理器能够在程序运行时自动挂载插入的设备。您可以将此功能用于系统范围的解决方案,方法是让文件管理器以 守护进程模式(即作为后台进程)运行,如果支持的话。例如,在使用 PCManFM 在 Openbox 中运行时,以下命令将添加到 ~/.config/openbox/autostart 文件中
pcmanfm -d &
同时,还有必要在卷管理方面配置文件管理器本身(例如,当挂载时检测到某些文件类型时,它将做什么以及将启动哪些应用程序)。
独立运行
另一种选择是安装一个单独的 挂载工具。使用此方法的优点是
- 作为后台/守护进程进程运行时可能比文件管理器占用的内存更少
- 它不特定于文件管理器,允许自由添加、删除和切换
- 安装 gvfs 不是挂载所必需的,可以减少内存使用。如果安装了,那么它的守护进程 可以被屏蔽,并且仅在需要时启动。这对于某些实现可能无法正常工作的 mtp 来说是一个很好的备选方案。
网络
- obexftpAUR:蓝牙设备挂载和文件传输(参见 蓝牙)
- gvfs-smb:用于 **非 KDE** 桌面的 Windows 文件和打印机共享(参见 Samba)
- kdenetwork-filesharing:用于 KDE 的 Windows 文件和打印机共享(参见 Samba#KDE)
- sshfs:基于 SSH 文件传输协议的 FUSE 客户端
Windows 访问
如果使用 gvfs-smb,要访问 Windows/Cifs/Samba 文件共享,请首先打开文件管理器,然后在路径名中输入以下内容,根据需要更改 server_name 和 share_name
smb://server_name/share_name
Apple 访问
AFP 支持包含在 gvfs 中。要访问 AFP 文件,请首先打开文件管理器,然后在路径名中输入以下内容,根据需要更改 server_name 和 share_name
afp://server_name/share_name
sftp 访问
SFTP 支持也包含在 gvfs 中。要通过 sftp 访问文件夹,请打开文件管理器,然后在路径名中输入以下内容,根据需要更改 user@server_name 和 folder_name
sftp://user@server_name/folder_name
WebDAV
对于 WebDAV,请安装 gvfs-dnssd。
davs://user@server_name/folder_name
缩略图预览
以下软件包可在大多数文件管理器中启用缩略图,例如 PCManFM、SpaceFM、Thunar 和 xfeAUR。它们对于 KDE 的 Dolphin 或 Konqueror 是不需要的,它们使用 单独的缩略图系统。
tumbler 是许多文件管理器中缩略图的核心后端。要启用各种文件类型的缩略图,必须 安装此项。对于 GNOME Files 则不需要。
图像格式
- webp-pixbuf-loader — .webp 图像文件的缩略图
- raw-thumbnailerAUR — .raw 图像文件的缩略图
- freetype2 — 字体文件的缩略图
视频和音频
- ffmpegthumbnailer — 视频文件的缩略图
- ffmpeg-audio-thumbnailerAUR — 音频文件的缩略图
- totem — 视频和带标签音频文件的缩略图(由 GNOME Files 和 caja 使用)
文档和电子书
- evince 或 atril — .pdf 文件的缩略图(在 GNOME 和 MATE 环境中使用)
- poppler-glib — 一些缩略图生成器(例如 tumbler)生成 .pdf 缩略图所需的渲染库
- gnome-epub-thumbnailer — .epub 和 .mobi 电子书文件的缩略图
- libgsf — .odf (OpenDocument Format) 文件的缩略图
- mcomixAUR — .cbr 漫画书归档文件的缩略图
其他
- folderpreviewAUR — 文件夹的缩略图
- f3d — 3D 模型文件的缩略图,包括 .glTF、.stl、.step、.ply、.obj 和 .fbx
- icoextractAUR — Wine .exe 的缩略图
使用 PCManFM 为其他文件类型获取缩略图
PCManFM 开箱即用地支持图片缩略图。然而,为了查看其他文件类型的缩略图,PCManFM 会使用位于 /usr/share/thumbnailers 的文件所提供的信息。提供缩略图生成器的软件包通常会在 /usr/share/thumbnailers 添加相应的 .thumbnail 文件。例如,为了获得 OpenDocument 文件的缩略图,您可以从官方仓库安装 libgsf。对于视频文件的缩略图,需要安装软件包 ffmpegthumbnailer。对于 PDF 文件,您可以从官方仓库安装 evince,它提供了 evince-thumbnailer 和位于 /usr/share/thumbnailers 的相应文件。但是,如果您不想安装 evince,您也可以使用 imagemagick 的 convert 命令来复制 evince-thumbnailer 的功能。这可以通过在 /usr/share/thumbnailers 中创建一个带有 .thumbnailer 扩展名的新文件(例如:imagemagick-pdf.thumbnailer)并包含以下内容来实现:
[Thumbnailer Entry] TryExec=convert Exec=convert %i[0] -background "#FFFFFF" -flatten -thumbnail %s %o MimeType=application/pdf;application/x-pdf;image/pdf;
convert 生成第一页的缩略图。这是 convert 特有的语法,与缩略图文件的语法无关。遵循此示例,您可以创建自己的 .thumbnail 文件来指定自定义缩略图生成器。请记住,%i 指的是输入文件(将生成缩略图的文件),%o 指的是输出文件(缩略图图像),%s 指的是缩略图的大小。PCManFM 会自动将这些参数替换为相应的数据并传递给缩略图生成器程序。
归档文件
要在文件管理器中解压缩 tarball(.tar 和 .tar.gz)等压缩文件,首先需要安装一个图形化解压缩程序,如 file-roller。有关更多信息,请参见 应用程序列表/实用工具#归档和压缩工具。还必须安装一个额外的软件包,如 unzip,以支持使用 zip 格式的 .zip 文件。一旦安装了归档程序,就可以在文件管理器中右键单击文件进行归档或提取。
归档文件被挂载在 /run/user/$(id -u)/gvfs/ 文件夹下,并带有自动创建的挂载点,其名称包含文件的完整路径,其中所有 / 都被替换为 %252F,: 被替换为 %253A 的 十六进制代码。
挂载的归档文件路径示例 /full/path/to/file/name.zip
/run/user/$(id -u)/gvfs/archive:host=file%253A%252F%252F%252Ffull%252Fpath%252Fto%252Ffile%252Fname.zip
NTFS 读/写支持
请参见 NTFS 文章。
桌面通知
某些文件管理器会使用 桌面通知来确认各种事件和状态,例如挂载、卸载和弹出可移动媒体。
为不同文件系统(外部驱动器)启用回收站功能
在文件系统的顶层为每个用户创建 回收站目录[死链接 2025-11-16—HTTP 404] .Trash-<uid>
例如(挂载点:/media/sdc1,uid:1000,gid:1000)
# mkdir /media/sdc1/.Trash-1000
并使用 chown 设置权限
# chown 1000:1000 /media/sdc1/.Trash-1000
故障排除
尝试挂载驱动器时出现“未授权”
使用 udisks 的文件管理器需要一个 polkit 认证代理。请参见 polkit#认证代理。
访问分区需要密码
输入密码才能访问其他分区或挂载的可移动媒体,这很可能是由于 udisks2 的默认权限设置。更具体地说,权限可能仅设置为 root 账户,而不是用户账户。有关详细信息,请参见 Udisks#配置。
目录未在文件管理器中打开
您可能会发现,一个不是文件管理器的应用程序,例如 Audacious 或 Visual Studio Code,被设置为打开目录的默认应用程序——一个在其桌面条目中声明它可以处理 inode/directory MIME 类型的应用程序可以成为默认值。您可以使用以下命令查询打开目录的默认应用程序
$ xdg-mime query default inode/directory
为确保目录在文件管理器中打开,请运行以下命令
$ xdg-mime default my_file_manager.desktop inode/directory
其中 my_file_manager.desktop 是您的文件管理器的桌面条目——例如 org.gnome.Nautilus.desktop。
/usr/share/applications/mimeapps.list
[Default Applications] inode/directory=my_file_manager.desktop
D-Bus
其他一些应用程序使用 org.freedesktop.FileManager1 D-Bus 协议(例如 Firefox)。以下显示了当前已安装的支持此协议的服务列表
$ grep -R FileManager1 /usr/share/dbus-1/services
要更改打开的文件管理器,请将文件链接到 $XDG_DATA_HOME/dbus-1/services/ 或 $HOME/.local/share/dbus-1/services/(如果 XDG_DATA_HOME 变量为空)。此外,在更改生效之前,需要终止当前实现 D-Bus 服务的程序。
在 /etc/fstab 中手动创建的挂载点未显示
由于此 gvfs 提交,您需要将挂载点创建在 /media/your-user-name/ 内部。