文件管理器功能

来自 ArchWiki
(重定向自 文件管理器

本文概述了扩展文件管理器功能和特性所需的其他软件包,尤其是在使用窗口管理器(如 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 的后备方案,这很有用,因为某些实现可能无法正常工作。

网络

注意:还需要启用 蓝牙 和/或与 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 访问

gvfs 中还包含 SFTP 支持。要通过 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/ 中。