跳转至内容

GNOME/文件

来自 ArchWiki
(从 GNOME Files 重定向)

Files 是 GNOME 的默认文件管理器。Files 致力于提供一种精简的方式来管理文件和应用程序。

注意 在 3.6 版本之前,Files 被称为 Nautilus。该应用程序被赋予了新的描述性名称,每个支持的语言一个。Nautilus 这个名字在许多地方仍然在使用,例如可执行文件名、一些软件包名、一些桌面条目和一些 GSettings 架构。

安装

安装 nautilus 软件包。该软件包属于 gnome 组。另请参阅 文件管理器功能#附加功能

注意 Files 不依赖于 gnome-shell 软件包,仅需要 gnome-desktop

扩展

一些程序可以为 Files 添加额外的功能。这里是一些例子

注意 用 Python 编写的扩展需要 Nautilus 扩展 API 的 Python 绑定(nautilus-python 软件包)。
  • Actions For Nautilus — 一个允许您在文件选择上下文菜单中添加任意操作的扩展。(用 Python 编写)
https://github.com/bassmanitram/actions-for-nautilus || actions-for-nautilus-gitAUR
  • Folder Color — 一个用于选择文件夹颜色的文件浏览器扩展(用 Python 编写)
https://github.com/costales/folder-color || folder-color-nautilusAUR
提示 此扩展仅适用于包含附加彩色图标的图标主题,例如
numix-icon-theme-gitAURvibrancy-colorsAURhumanity-icon-themeAURmint-x-iconsAUR
  • Nautilus Admin — 在菜单中添加:“以管理员身份打开”或“以管理员身份编辑”(用 Python 编写)
https://github.com/MacTavishAO/nautilus-admin-gtk4 || nautilus-admin-gtk4AUR
  • Nautilus Annotations — 注释文件和目录(用 C 编写)
https://gitlab.gnome.org/madmurphy/nautilus-annotations/ || nautilus-annotationsAUR
  • Nautilus Bluetooth — 在菜单中添加:“通过蓝牙发送”(用 C 编写)
https://gitlab.gnome.org/madmurphy/nautilus-bluetooth/ || nautilus-bluetoothAUR
  • Nautilus Checksums — 将校验和添加到 Nautilus 的属性窗口(用 C 编写)
https://gitlab.gnome.org/madmurphy/nautilus-checksums/ || nautilus-checksumsAUR
  • Nautilus Hide — 在菜单中添加:“隐藏”/“取消隐藏”(用 C 编写)
https://gitlab.gnome.org/madmurphy/nautilus-hide/ || nautilus-hideAUR
  • Nautilus Image Converter — 调整/旋转图像大小(用 C 编写)
https://gitlab.gnome.org/coreyberla/nautilus-image-converter || nautilus-image-converter
  • Nautilus Launch — Nautilus 扩展,通过右键菜单运行可执行文件和启动器(用 C 编写)
https://gitlab.gnome.org/madmurphy/nautilus-launch || nautilus-launchAUR
  • Nautilus Open Any Terminal — Nautilus 扩展,为打开其他终端模拟器添加了上下文条目。
https://github.com/Stunkymonkey/nautilus-open-any-terminal || nautilus-open-any-terminalAUR
  • Nautilus Metadata Editor — Nautilus 扩展,提供简单的元数据编辑器,支持以下 MIME 类型:audio/x-mp3audio/x-flacaudio/x-vorbis+oggaudio/x-speex+oggaudio/x-musepackaudio/x-wavpackaudio/x-ttaaudio/x-aiffaudio/m4avideo/mp4video/x-ms-asf(用 C 和 Vala 编写)
https://gitlab.com/nvlgit/nautilus-metadata-editor-extension || nautilus-metadata-editorAUR
  • Nautilus Share — Nautilus 扩展,使用 Samba 共享文件夹(用 C 编写)
https://gitlab.gnome.org/coreyberla/nautilus-share || nautilus-share
  • Seahorse Nautilus — Files 的 PGP 加密和签名(用 C 编写)
https://gitlab.gnome.org/GNOME/seahorse-nautilus || seahorse-nautilus
警告 seahorse-nautilus 的上游仓库已被存档,并且由于存在未修复的 bug,不建议使用。
  • Sushi — Nautilus 的快速文件预览器。属于 gnome
https://gitlab.gnome.org/GNOME/sushi || sushi
提示 如果您想编写新的扩展,nextgenAUR 是一个辅助脚本,可以轻松地为 **GNOME Files** 设置新的扩展项目(默认使用 C 语言)。

自带 Nautilus 扩展的应用程序

以下应用程序默认安装自己的扩展,从而提供与 Nautilus 的集成

  • Eiciel — GNOME 文件 ACL 编辑器 — 该应用程序包含一个“Eiciel Nautilus”扩展,可在文件属性窗口中添加图形化的 ACL 编辑器(用 C++ 编写)
https://rofi.roger-ferrer.org/eiciel/ || eicielAUR
  • File Roller — 一个用于浏览存档的应用程序 — 该应用程序包含一个“Nautilus FileRoller”扩展(用 C 编写)
https://wiki.gnome.org/Apps/FileRoller || file-roller
  • GNOME Terminal — GNOME 终端模拟器 — 该应用程序包含一个“Terminal Nautilus”扩展(用 C 编写)
https://wiki.gnome.org/Apps/Terminal || gnome-terminal
  • Tilix — 一个用于 GNU/Linux 的平铺终端模拟器,使用 GTK+ 3 — 该应用程序包含一个 Nautilus 扩展,可在上下文菜单中添加“在 Tilix 中打开”选项(用 Python 编写)
https://github.com/gnunn1/tilix || tilixAUR
注意 nautilus-python 软件包是启用“在 Tilix 中打开”扩展所必需的,它被标记为可选依赖项,必须显式安装。

依赖于非自由软件的扩展

一些 **GNOME Files** 的扩展,虽然是自由软件,但可能依赖于非自由软件。下面的列表提供了一些例子

  • Code Nautilus — Nautilus 扩展,用于在 Visual Studio Code 中打开文件和目录(用 Python 编写)
https://github.com/cra0zy/code-nautilus || code-nautilus-gitAUR
  • JetBrains Nautilus — Nautilus 扩展,用于在 JetBrains Toolbox 安装的产品中打开文件和目录(用 Python 编写)
https://github.com/encounter/jetbrains-nautilus || jetbrains-nautilus-gitAUR
  • Nautilus Code — Nautilus 扩展,添加右键菜单项以在 VSCode 或 GNOME Builder 中打开当前文件夹(用 C 编写)
https://github.com/realmazharhussain/nautilus-code || nautilus-codeAUR

配置

Files 易于通过图形界面进行配置,但并非所有选项都在首选项菜单中。更多选项可在 org.gnome.nautilus 下的 dconf-editor 中找到。

注意 如果您在 GNOME 桌面环境之外使用 Files,则必须确保 /usr/lib/gsd-xsettings 正在运行,否则 dconf 设置将不会在 Files 中应用。

更改默认项目视图

您可以通过设置 default-folder-viewer 变量来更改项目的默认视图,例如列表视图

$ gsettings set org.gnome.nautilus.preferences default-folder-viewer 'list-view'

按类型排序

要按类型对所有文件夹中的文件进行排序

$ gsettings set org.gnome.nautilus.preferences default-sort-order 'type'

更改默认用户文件夹

默认用户文件夹在 ~/.config/user-dirs.dirs 中指定,可以用任何编辑器进行修改。执行 xdg-user-dirs-update 会再次更改它们,因此最好将文件权限设置为只读。

始终显示文本输入位置

标准的 Files 工具栏显示用于路径导航的面包屑界面。要输入路径或 URI,请单击面包屑中非按钮的空白区域,或按 Ctrl+l

要始终显示位置文本输入字段,请使用 gsettings,如下所示

$ gsettings set org.gnome.nautilus.preferences always-use-location-entry true
注意 更改此设置后,将无法显示按钮栏。仅当设置为 **false** 时,才能同时使用两种位置导航方式。

技巧与提示

缩略图

参见 文件管理器功能#缩略图预览

注意linux-hardened 上,缩略图生成会失败(所有缩略图都会进入 ~/.cache/thumbnails/fail/)。这是因为出于安全原因,此内核默认禁用了非特权用户命名空间。Nautilus 使用 bwrap(由 bubblewrap 提供)来沙箱化缩略图生成器。您可以选择将 bubblewrap 替换为 bubblewrap-suid。有关更多信息,请参阅 Security#Sandboxing applications

有时视频缩略图不显示。要解决此问题(如 Nautilus 上没有视频缩略图 中所述),您必须安装 ffmpegthumbnailergst-libavgst-plugins-ugly,并删除 ~/.cache/thumbnails/fail/ 中的内容。

从右键菜单创建新文档

要获得此选项,您需要在您的主文件夹中创建一个 ~/Templates/ 文件夹,并通过您喜欢的终端使用 touch ~/Templates/new 命令或使用任何其他文件管理器在文件夹中放置一个空文件。然后重新启动 Files。

在非英语安装中,模板目录可能具有其他名称。您可以使用 xdg-user-dir TEMPLATES 找到实际目录。

可以在 ~/.config/user-dirs.dirs 文件中配置模板目录

XDG_TEMPLATES_DIR="$HOME/some/path"

隐藏文件

与大多数其他文件管理器一样,GNOME Files 默认隐藏以点开头的文件。

GNOME Files 还会隐藏在同一目录下的 .hidden 文件中列出的文件(每行一个文件名)。请参阅 nautilus-hideAUR 了解一个有助于添加/删除此类 .hidden 文件条目的扩展。

在 Tilix 中打开当前目录

如果您正在使用 tilixAUR 终端,您可以通过安装其可选依赖项 nautilus-python,轻松地将“在 Tilix 中打开”选项添加到 GNOME Files 的上下文菜单中。

将文件夹添加到书签

要将文件夹添加到您的书签,只需在 Nautilus 中打开文件夹时按 Ctrl+d。请注意,书签列表与其他基于 GNOME 的图形文件管理器(例如 Nemo)共享,因此在一个管理器中添加或删除的文件夹会影响在另一个管理器中看到的书签。

自定义脚本

放置在 ~/.local/share/nautilus/scripts 中的脚本可以从文件的右键上下文菜单运行。

上下文菜单也可以组织到子文件夹中,例如 ~/.local/share/nautilus/scripts/images~/.local/share/nautilus/scripts/music

脚本可以访问以下环境变量

NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
NAUTILUS_SCRIPT_SELECTED_URIS
NAUTILUS_SCRIPT_CURRENT_URI
NAUTILUS_SCRIPT_WINDOW_GEOMETRY

一些示例脚本

~/.local/share/nautilus/scripts/open-terminal-here
#!/bin/sh
gnome-terminal
~/.local/share/nautilus/scripts/remove-extension
#!/bin/sh
echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read -r filename; do
    mv -n "$filename" "${filename%.*}"
done
注意 确保脚本被标记为 可执行。您可能需要使用 nautilus -q 重新启动 nautilus 才能使它们显示出来。

快捷键

可以在 ~/.config/nautilus/scripts-accels 文件中为执行脚本分配快捷键

; Example Keybinds
; Modifiers: <Control> <Alt> <Shift>
F4 open-terminal-here
<Alt>x remove-extension
注意 您无法覆盖任何已有的 nautilus 快捷键。

网络共享 / 虚拟文件系统

通过安装 gvfs 和各种 gvfs-* 软件包,您可以为各种基于网络的(例如 SMB、NFS、WebDAV、Nextcloud)文件系统以及一些手机(Android MTP、Apple AFC)添加支持。

有关更多信息和其他支持的虚拟文件系统,请参阅 文件管理器功能

故障排除

Files 不再是默认文件管理器

这可能是因为目录的文件关联被重置了。安装 anjutaAURvisual-studio-code-binAUR 经常会导致这种情况。

要解决此问题,请打开 Files,右键单击一个文件夹,然后选择 _用其他应用程序打开_ > _Files_ > _选择_。这将把目录的关联设置回 Files。

如果这不能解决问题,请参阅 文件管理器功能#目录未在文件管理器中打开

每次复制操作后会冻结几秒钟

如果您在系统上安装了 kdeconnect,问题可能由其文件共享模块引起。禁用文件共享,问题应该就会停止发生。

无法打开 Google Drive

您可能缺少以下一个或多个软件包

安装它们,您应该就可以正常使用了。

Windows 机器(1709 或更高版本)上的共享文件夹未在网络视图中显示

注意 最近 GNOME/Files 已添加 WSD 支持

要激活 GNOME/Files 中的 WSD 支持,请 安装 gvfs-wsdd,以便 GNOME/Files 在网络视图中发现较新的 Windows 机器。无需进一步的调整。

挂载选项中缺少 WebDAV

安装 gvfs-dnssd 并重新启动 Nautilus。

没有 gnome-console,“作为程序运行”不起作用

“作为程序运行”上下文菜单选项是为 gnome-console 硬编码的,如果您使用不同的终端并且默认的 GNOME 终端不存在,上下文菜单选项将不起作用。

由于它只是直接执行 /usr/bin/kgxgnome-console 的可执行文件),您可以创建一个名为 kgx 的脚本(如果您的终端有相同的参数,则为符号链接)并将其放在 /usr/bin/ 中,以便使用您的终端进行“作为程序运行”上下文菜单选项。

例如,使用 wezterm-gitAUR 作为“作为程序运行”的终端

/usr/bin/kgx
#!/bin/sh

wezterm -e $@
注意 gnome-console 会保持窗口打开并显示输出,直到子程序完成后手动关闭。不同的终端模拟器(如 wezterm)会在运行的程序退出后立即关闭。可以使用类似 read -n 1 -s -r -p "Press any key to continue" 的命令在上述脚本末尾暂停,直到按下任意键。

在任意终端中打开目录

可以通过“用...打开”右键菜单条目在一个终端模拟器中打开目录。但是,终端的 XDG 桌面条目应包含适当的 ExecMimeType 值。

以下示例演示了如何为 Alacritty 终端模拟器创建附加的桌面条目,该条目将被“用...打开”识别。

~/.local/share/applications/alacritty-directory.desktop
[Desktop Entry]
Type=Application

# Flag `working-directory` takes argument
Exec=alacritty --working-directory %f
# MimeType contains special type `inode/directory;`
MimeType=inode/directory;

Icon=Alacritty
Terminal=false
Categories=System;TerminalEmulator;
Name=Open in Alacritty
GenericName=Terminal
StartupNotify=true
StartupWMClass=Alacritty

运行 update-desktop-database ~/.local/share/applications/ 来应用更改。

如果终端应用程序成为默认文件管理器,可以使用命令 xdg-mime default org.gnome.Nautilus.desktop inode/directory 来修复。

检查您首选终端应用程序的标志和桌面条目文件以采用该示例。

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.