文件管理器功能

来自 ArchWiki
(重定向自 GVFS

本文概述了扩展文件管理器功能和特性所需的额外软件包,尤其是在使用窗口管理器(如 Openbox)时。还提供了在不受影响的情况下,无需密码即可访问分区和可移动介质的方法。

概述

注意: 安装后,下面列出的软件包将自动被所有已安装且兼容的文件管理器以及所有桌面环境和/或窗口管理器调用。

仅文件管理器无法提供像 PlasmaXfce 等完整桌面环境的用户所习惯的功能和特性。 这是因为需要额外的软件包来使给定的文件管理器能够:

  • 显示和访问其他分区
  • 显示、挂载和访问可移动介质(例如 USB 闪存盘、光盘和数码相机)
  • 启用与其他已安装操作系统的联网/共享网络
  • 启用缩略图
  • 压缩和解压缩文件
  • 自动挂载可移动介质

当文件管理器作为完整桌面环境的一部分安装时,大多数这些软件包通常会自动安装。 因此,如果为独立的窗口管理器安装了文件管理器,那么 - 正如窗口管理器本身的情况一样 - 只会提供基本的基础。 然后,用户必须确定要添加的功能和特性的性质和范围。

附加功能

本文或章节需要扩充。

原因: 提及使用 KIO 而不是 GVFS 进行挂载和其他功能的 KDE 文件管理器(在 Talk:File manager functionality 中讨论)

当使用轻量级环境时,添加的文件管理器功能越多,所需的内存使用量就越大。另见 udisks

挂载

  • Gnome 虚拟文件系统 (gvfs) 提供挂载和回收站功能。 GVFS 使用 udisks2 进行挂载功能,是大多数文件管理器的推荐解决方案。

GVFS 使用的文件夹

  • /usr/lib/ 包含 gvfsd-* 文件,其中 * 指的是各种受支持的文件系统类型。
  • /usr/share/gvfs/mounts/ 包含 GVFS 的挂载规则。 要使用自己的规则,请创建 ~/.gvfs/mounts

通常需要安装的附加软件包遵循 gvfs-* 模式,例如

文件管理器守护进程

大多数图形文件管理器都能够在程序运行时自动挂载插入的设备。 如果支持,你可以通过在守护进程模式(即作为后台进程)下运行文件管理器,将其用于系统范围的解决方案。 例如,当在 Openbox 中使用 PCManFM 时,以下命令将添加到 ~/.config/openbox/autostart 文件中

pcmanfm -d &

还需要配置文件管理器本身关于卷管理(例如,当检测到某些文件类型挂载时,它将执行什么操作以及将启动哪些应用程序)。

提示: 大多数桌面环境默认情况下会在守护进程模式下启动文件管理器,因此在这些用例中不需要手动干预。

独立

另一种选择是安装单独的挂载应用程序。 使用它的优点是:

  • 与文件管理器相比,作为后台/守护进程进程运行可能需要更少的内存
  • 它不是文件管理器特定的,允许自由添加、删除和切换它们
  • 挂载不需要安装 gvfs,从而减少内存使用量。 如果已安装,则其守护进程 可以被屏蔽,并且仅在需要时启动。 例如,这可以用作 mtp 的后备方案,在某些实现中,mtp 可能无法工作。

网络

注意: 还需要启用 蓝牙 和/或与 Windows 的联网,以便依次启用相关的文件管理器功能。

Windows 访问

如果使用 gvfs-smb,要访问 Windows/Cifs/Samba 文件共享,首先打开文件管理器,然后在路径名中输入以下内容,并根据需要更改 server_nameshare_name

smb://server_name/share_name

Apple 访问

gvfs 中包含 AFP 支持。 要访问 AFP 文件,首先打开文件管理器,然后在路径名中输入以下内容,并根据需要更改 server_nameshare_name

afp://server_name/share_name

sftp 访问

SFTP 支持也包含在 gvfs 中。 要通过 sftp 访问文件夹,请打开文件管理器,然后在路径名中输入以下内容,并根据需要更改 user@server_namefolder_name

sftp://user@server_name/folder_name

WebDAV

对于 WebDAV,请安装 gvfs-dnssd

davs://user@server_name/folder_name

缩略图预览

即使已安装列出的软件包,某些文件管理器也可能不支持缩略图。 请查看相关文件管理器的文档。

你可能看不到远程存储的缩略图,包括 MTP。 检查文件管理器的设置,例如,对于 Thunar,必须将“显示缩略图:始终”设置为启用。

Dolphin 和 Konqueror 之外的文件管理器

这些软件包适用于大多数文件管理器,例如 PCManFMSpaceFMThunarxfeAUR。 例外情况是在 KDE 桌面环境中使用的 Dolphin 和 Konqueror。

Dolphin 和 Konqueror (KDE)

参见 Dolphin#文件预览

使用 PCManFM 获取其他文件类型的缩略图

本文或章节需要语言、wiki 语法或风格改进。 参见 Help:Style 以获得参考。

原因: 本节并非特定于 PCManFM,应重写/概括。(在 Talk:File manager functionality 中讨论)

PCManFM 开箱即用地支持图像缩略图。 但是,为了查看其他文件类型的缩略图,PCManFM 使用 /usr/share/thumbnailers 中提供的文件中的信息。 提供缩略图生成器的软件包通常会在 /usr/share/thumbnailers 中添加相应的 .thumbnail 文件。 例如,为了获得 OpenDocument 文件的缩略图,你可以从官方仓库安装 libgsf。 对于视频文件的缩略图,需要软件包 ffmpegthumbnailer。 对于 PDF 文件,你可以从官方仓库安装 evince,它提供 evince-thumbnailer/usr/share/thumbnailers 中的相应文件。 但是,如果你不想安装 evince,你也可以使用 imagemagickconvert 命令复制 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;
注意: 输入文件旁边的 [0] 是指定的,以便 convert 仅生成第一页的缩略图。 这是 convert 特定的语法,与缩略图生成器文件的语法无关。

按照此示例,你可以通过创建自己的 .thumbnail 文件来指定自定义缩略图生成器。 请记住,%i 指的是输入文件(将制作其缩略图的文件),%o 指的是输出文件(缩略图图像),%s 指的是缩略图的大小。 这些参数将自动替换为相应的数据,并由 PCManFM 传递给缩略图生成器程序。

提示: 如果你只获得某些文件的缩略图,而不是所有相同类型文件的缩略图,请尝试在编辑 > 首选项 > 显示中增加获得缩略图的文件的最大文件大小。

归档文件

要在文件管理器中提取 tarball(.tar.tar.gz)等压缩文件,首先需要安装 GUI 归档器,例如 file-roller。 有关更多信息,请参见 应用程序列表/实用程序#归档和压缩工具。 还必须安装额外的软件包(如 unzip)以支持使用 zipped .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 文章。

桌面通知

某些文件管理器使用桌面通知来确认各种事件和状态,如可移动介质的挂载、卸载和弹出。

在不同的文件系统(外部驱动器)上启用回收站功能

本文或章节的事实准确性存在争议。

原因: 这些文件夹不应该自动创建吗? 何时需要手动创建它们? (在 Talk:File manager functionality 中讨论)

为文件系统顶层上的每个用户创建 回收站目录 .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#配置

目录未在文件管理器中打开

你可能会发现,不是文件管理器的应用程序(例如 AudaciousVisual 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

提示: 如果你希望更改是系统范围的,请以 root 身份运行上述命令,或创建/编辑以下文件:
/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。 此外,在更改生效之前,请终止当前实现 D-Bus 服务的程序。

手动在 /etc/fstab 中创建的挂载点未显示

由于此 gvfs 提交,你需要在 /media/your-user-name/ 中创建你的挂载点。