文件管理器功能 - Arch Linux 中文维基

跳转到内容

# 文件管理器功能

来自 Arch Linux 中文维基

相关文章

- 应用程序列表/工具#文件管理器
- 窗口管理器
- 桌面环境
- Udisks
- Extended attributes

翻译状态：

- 本文（或部分内容）译自 File_manager_functionality，最近一次同步于 2024-11-07，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

本文概述了扩展文件管理器特性和功能所需的附加软件包，特别是在使用 Openbox 等窗口管理器的情况下。此外，还提供了在没有密码的情况下（若受影响）访问分区和可移动媒体的功能。

## 概要

注意：下列软件包在安装后，可以在所有桌面环境或窗口管理器下，被已安装且可用的文件管理器自动检测到。

仅靠文件管理器无法提供使用完整桌面环境（如 Xfce、KDE）的用户所习惯的特性和功能。因为文件管理器需要额外的软件包以：

- 显示并访问其他分区
- 显示、挂载并访问可移动媒体（例如 USB 存储设备、光盘和数码相机）
- 启用或与其他操作系统共享网络
- 启用缩略图
- 归档和提取压缩文件
- 自动挂载可移动媒体

当一个文件管理器以完整桌面环境的一部分安装时，大多数这类的软件包都已被自动安装。因此，当为独立的窗口管理器安装了文件管理器时（就像独立的窗口管理器那样），文件管理器仅能提供基础功能。用户必须自行确定之后需要添加的额外扩展特性和功能。

## 额外功能

使用轻量化环境时，文件管理器的特性越多，所需要使用的内存就越多。参见 udisks。

### 挂载

- Gnome 虚拟文件系统（gvfs包）提供了挂载和垃圾桶功能。GVFS 使用 udisks2包 提供挂载功能，该软件包也是大多数文件管理器所建议使用的解决方案。

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 的后备方案，十分有效。

### 网络

注意：需要启用蓝牙和Windows的网络共享以依次启用相关的文件管理器功能。

- 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

本文或本章节的语言、语法或风格需要改进。参考：帮助:风格

原因：This section is not specific to PCManFM, it should be rewritten/generalized.（在Talk:文件管理器功能讨论）

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;

注意：The [0] next to the input file is specified so that `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.

提示：If you only get thumbnails of certain files and not of all the files of the same type try increasing the maximum file size of the files that get a thumbnail at Edit > Preferences > Display.

### 归档文件

若要在文件管理器内提取归档文件（如 `.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 文章的内容。

### 桌面通知

一些文件管理器使用桌面通知程序来确认多种事件和状态，例如挂载、卸载和可移动媒体的弹出。

### Enable Trash functionality on different filesystems (external drives)

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

原因： Should these folders not be created automatically? When is it necessary to create them manually?（在 Talk:文件管理器功能 中讨论）

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`。

提示：若要在系统范围内更改此选项，以 root 用户运行上述命令或创建并编辑如下文件：

    /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/`，如果XDG_DATA_HOME环境变量为空，则软链接到`$HOME/.local/share/dbus-1/services/`。此外，在应用更改前，请终止实现 D-Bus 服务的程序。

### 看不到在 /etc/fstab 中手动创建的挂载点

由于这个提交的缘故，请在 `/media/your-user-name/` 目录下创建挂载点。

分类：​

- 文件管理器
- 使用“模板:风格”标记的页面或章节

隐藏分类：​

- 使用“模板:准确性”标记的页面或章节

文件管理器功能
添加话题