文件管理器功能
本文概述了扩展文件管理器特性和功能所需的附加软件包,特别是在使用 Openbox 等窗口管理器的情况下。此外,还提供了在没有密码的情况下(若受影响)访问分区和可移动媒体的功能。
概要[编辑 | 编辑源代码]
仅靠文件管理器无法提供使用完整桌面环境(如 Xfce、KDE)的用户所习惯的特性和功能。因为文件管理器需要额外的软件包以:
- 显示并访问其他分区
- 显示、挂载并访问可移动媒体(例如 USB 存储设备、光盘和数码相机)
- 启用或与其他操作系统共享网络
- 启用缩略图
- 归档和提取压缩文件
- 自动挂载可移动媒体
当一个文件管理器以完整桌面环境的一部分安装时,大多数这类的软件包都已被自动安装。因此,当为独立的窗口管理器安装了文件管理器时(就像独立的窗口管理器那样),文件管理器仅能提供基础功能。用户必须自行确定之后需要添加的额外扩展特性和功能。
额外功能[编辑 | 编辑源代码]
使用轻量化环境时,文件管理器的特性越多,所需要使用的内存就越多。参见 udisks。
挂载[编辑 | 编辑源代码]
GVFS 的文件夹有:
/usr/lib/
包含了gvfsd-*
文件,此处的*
指代各种支持的文件系统类型。/usr/share/gvfs/mounts/
包含了 GVFS 的挂载规则。若要使用用户自己的规则,请创建~/.gvfs/mounts
。
安装所需的附加软件包通常符合 gvfs-* 模式,例如:
- gvfs-mtp包:用于支持使用 MTP 的媒体播放器和移动设备
- gvfs-gphoto2包:用于支持使用 PTP 的数码相机和移动设备
- gvfs-afc包:用于支持苹果(Apple)移动设备
文件管理器守护进程[编辑 | 编辑源代码]
大多数图形化文件管理器都能够在程序运行时自动挂载插入的设备。若受支持,可以将文件管理器以守护进程的模式(例如作为后台进程)运行,这可用作系统范围内的解决方案。例如,在 Openbox 中使用 PCManFM 时,应将下列命令添加至文件 ~/.config/openbox/autostart
:
pcmanfm -d &
同时,有必要设置文件管理器自身的卷管理功能(例如,当探测到并挂载特定文件类型时应当执行什么,或应当启动什么应用程序)。
单独安装[编辑 | 编辑源代码]
另一个选项是安装一个独立的挂载程序。这样做的优点是:
- 相比文件管理器,作为后台或守护进程运行时使用的内存更少
- 与文件管理器无关,可以自由添加、移除或切换
- 无需安装 gvfs包 即可挂载,内存占用更少。安装后,可以覆盖(mask)其守护进程,仅在需要时启动。在某些实现不起作用时,可以作为如 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
访问苹果文件系统[编辑 | 编辑源代码]
gvfs包 已支持 AFP。若要访问 AFP 文件,打开文件管理器,输入如下路径(请将 server_name
和 share_name
更改为正确的路径):
afp://server_name/share_name
通过 sftp 访问[编辑 | 编辑源代码]
gvfs包 已支持 SFTP。若要通过 sftp 访问文件夹,打开文件管理器,输入如下路径(请将 user@server_name
和 folder_name
更改为正确的路径):
sftp://user@server_name/folder_name
WebDAV[编辑 | 编辑源代码]
安装 gvfs-dnssd包 以支持 WebDAV。
davs://user@server_name/folder_name
缩略图预览[编辑 | 编辑源代码]
虽然安装了上述列举的软件包,一些文件管理器可能仍然不支持缩略图显示。请查阅相关文件管理器的文档说明。
远程存储(包括 MTP)上的缩略图可能不会显示。请检查所用的文件管理器的设置,例如,对于 Thunar,应将“显示缩略图”选项设置为“总是”("Show thumbnails: always")。
Dolphin 和 Konqueror 以外的文件管理器[编辑 | 编辑源代码]
下列软件包适用于大多数文件管理器,例如 PCManFM、SpaceFM、Thunar 和 xfeAUR。但不适用于 KDE 桌面环境下的 Dolphin 和 Konqueror:
- tumbler包:图片文件的缩略图预览。某些情况下必须安装才能将缩略图显示功能扩展至其他文件类型。
- webp-pixbuf-loader包:
.webp
图片的缩略图预览 - poppler-glib包:Adobe
.pdf
文件的缩略图预览 - ffmpegthumbnailer包:视频文件的缩略图预览
- freetype2包:字体文件的缩略图预览
- libgsf包:
.odf
文件的缩略图预览 - raw-thumbnailerAUR:
.raw
文件的缩略图预览 - totem包:视频文件和含标签的音频文件(Gnome 文件,仅适用于 Caja)的缩略图预览
- evince包 或 atril包:
.pdf
文件的缩略图预览 - gnome-epub-thumbnailer包:
.epub
和.mobi
电子书文件的缩略图预览 - mcomixAUR:
.cbr
漫画书归档的缩略图预览 - folderpreviewAUR:文件夹缩略图预览
- f3d包:3D 文件的缩略图预览,包括 glTF、stl、step、ply、obj 和 fbx。
Dolphin 和 Konqueror(KDE)[编辑 | 编辑源代码]
参见 Dolphin#文件预览。
Use PCManFM to get thumbnails for other file types[编辑 | 编辑源代码]
PCManFM supports image thumbnails out of the box. However, in order to view thumbnails of other file types, PCManFM uses the information provided in the files located at /usr/share/thumbnailers
. The packages which provide a thumbnailer usually add the corresponding .thumbnail file at /usr/share/thumbnailers
. For example, in order to get thumbnails for OpenDocument files, you may install libgsf包 from the official repositories. For video files' thumbnails, the package ffmpegthumbnailer包 is required. For PDF files, you may install evince包 from the official repositories, which provides evince-thumbnailer
and the corresponding file at /usr/share/thumbnailers
. However, if you prefer not to install evince
, you can also replicate the functionality of evince-thumbnailer
using imagemagick包's convert
command. This is accomplished by creating a new file with the .thumbnailer extension (e.g.: imagemagick-pdf.thumbnailer
) at /usr/share/thumbnailers
with the following content:
[Thumbnailer Entry] TryExec=convert Exec=convert %i[0] -background "#FFFFFF" -flatten -thumbnail %s %o MimeType=application/pdf;application/x-pdf;image/pdf;
convert
only generates a thumbnail of the first page. This is a convert
-specific syntax and has nothing to do with the syntax of the thumbnailers' files.Following this example, you can specify custom thumbnailers by creating your own .thumbnail files. Keep in mind that %i
refers to the input file (the file which will have its thumbnail made), %o
to the output file (the thumbnail image) and %s
to the size of the thumbnail. These parameters will be automatically substituted with the corresponding data and passed to the thumbnailer program by PCManFM.
归档文件[编辑 | 编辑源代码]
若要在文件管理器内提取归档文件(如 .tar
和 .tar.gz
),首先需要安装一个图形化界面的归档压缩工具(如 file-roller包)。更多信息请参见归档与压缩工具。额外的软件包,例如 unzip包,也需要安装以支持 .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 文章的内容。
桌面通知[编辑 | 编辑源代码]
一些文件管理器使用 desktop notifications 确认多种事件和状态,例如挂载、卸载和可移动媒体的弹出。
Enable Trash functionality on different filesystems (external drives)[编辑 | 编辑源代码]
Make trash directories .Trash-<uid>
for each users on the top level of filesystems:
For example (mount point: /media/sdc1, uid: 1000, gid: 1000):
# mkdir /media/sdc1/.Trash-1000
and chown
them:
# 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 协议(例如火狐浏览器)。以下的命令将列出系统上已安装且支持此协议的服务:
$ grep -R FileManager1 /usr/share/dbus-1/services
若要更改所使用的文件管理器,请将此文件复制到 $XDG_DATA_HOME/dbus-1/services
。此外,在应用更改前,请终止实现 D-Bus 服务的程序。