跳至內容

为应对本站因各种原因无法访问,建议用户安装 arch-wiki-docs-zh-cnCNRepo 或者 arch-wiki-docs-zh-twCNRepo 离线文档包备用,也可尝试使用经由Cloudflare CDN的替代版本aw.lilydjwg.me。

GNOME/文件

出自 Arch Linux 中文维基

文件是GNOME的默認文件管理器。文件的目的是提供一種管理文件和應用的簡化方法。可擴展以通過SFTP、WebDAV、NFS等不同協議實現網絡文件訪問。

注意:在3.6版本之前,文件叫做Nautilus,後來則對每種語言做了新的描述性名稱。Nautilus這個名字仍然用在許多地方,如可執行文件名、軟件包名、桌面條目和GSettings Schema等。


安裝 nautilus包 軟件包,此軟件包是 gnome包組 組的一部分。見文件管理器功能#額外功能。

注意:「文件」不依賴 gnome-shell包,只需要 gnome-desktop包。

網絡共享與虛擬文件系統

[編輯 | 編輯原始碼]

通過安裝 gvfs包 及各種 gvfs-* 軟件包,可以添加對多種基於網絡的文件系統(例如 SMB、NFS、WebDAV、Nextcloud)以及部分流動裝置(Android MTP、Apple AFC)的支持。

有關更多信息及其他受支持的虛擬文件系統,請參見 文件管理器功能。

其他示例

[編輯 | 編輯原始碼]
注意:用 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-gitAUR、vibrancy-colorsAUR、humanity-icon-themeAUR、mint-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 Compare — Nautilus 的右鍵菜單文件差異比較擴展。它在 Nautilus 右鍵菜單中提供「比較」、「與 ~/foo/bar 比較」和「稍後比較」選項,默認使用 meld 進行比較。(使用 Python 編寫)
https://launchpad.net/nautilus-compare || nautilus-compareAUR
  • 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 — 為以下 MIME 類型提供簡單元數據編輯器的 Nautilus 擴展:audio/x-mp3、audio/x-flac、audio/x-vorbis+ogg、audio/x-speex+ogg、audio/x-musepack、audio/x-wavpack、audio/x-tta、audio/x-aiff、audio/m4a、video/mp4、video/x-ms-asf。(使用 C 和 Vala 編寫)
https://gitlab.com/nvlgit/nautilus-metadata-editor-extension || nautilus-metadata-editorAUR
  • Nautilus Share — 通過 Samba 共享文件夾的 Nautilus 擴展。(使用 C 編寫)
https://gitlab.gnome.org/coreyberla/nautilus-share || nautilus-share包
  • Seahorse Nautilus — 為 GNOME 文件管理器提供 PGP 加密和簽名功能。(使用 C 編寫)
https://gitlab.gnome.org/GNOME/seahorse-nautilus || seahorse-nautilusAUR
警告:seahorse-nautilus 的上游代碼倉庫已歸檔,並且由於存在尚未修復的錯誤,上游明確警告不要使用該擴展。
  • Sushi — Nautilus 的快速文件預覽工具,屬於 gnome包組 軟件包組。
https://gitlab.gnome.org/GNOME/sushi || sushi包


提示:若要編寫新的擴展,輔助腳本 nextgenAUR 可以讓您輕鬆地設置 GNOME文件的新擴展項目(默認使用C語言)。

有些應用自帶與GNOME/文件集成的功能。

  • Eiciel — GNOME file ACL editor — The application includes an "Eiciel Nautilus" extension that adds graphical ACL editor into the file properties window (written in C++)
https://rofi.roger-ferrer.org/eiciel/ || eicielAUR
  • File Roller — An application for browsing archives — The application includes a "Nautilus FileRoller" extension (written in C)
https://wiki.gnome.org/Apps/FileRoller || file-roller包
  • GNOME Terminal — The GNOME Terminal Emulator — The application includes a "Terminal Nautilus" extension (written in C)
https://wiki.gnome.org/Apps/Terminal || gnome-terminal包
  • Tilix — A tiling terminal emulator for GNU/Linux using GTK+ 3 — The application includes an extension for Nautilus which adds an "Open in Tilix" option to the context menu (written in Python)
https://github.com/gnunn1/tilix || tilixAUR
注意:「Open in Tilix」擴展將 nautilus-python包 軟件包標記為可選依賴,但必須安裝才能使用。

依賴非自由軟件的集成

[編輯 | 編輯原始碼]

一些 GNOME/文件的集成功能雖然免費/自由,但可能依賴於非自由軟件,例如:

  • Code Nautilus — Nautilus extension to open files and directories in Visual Studio Code (written in Python)
https://github.com/cra0zy/code-nautilus || code-nautilus-gitAUR
  • JetBrains Nautilus — Nautilus extension to open files and directories in JetBrains Toolbox installed products (written in Python)
https://github.com/encounter/jetbrains-nautilus || jetbrains-nautilus-gitAUR
  • Nautilus Code — Nautilus extension which adds right-click menu items to open current folder in Visual Studio Code or GNOME Builder (written in C)
https://github.com/realmazharhussain/nautilus-code || nautilus-codeAUR

文件很容易進行圖形化配置,但並非所有選項都能在首選項中找到。更多選項可以使用dconf-editor在org.gnome.nautilus中找到。

注意:如果在GNOME桌面環境之外使用文件,則必須確保/usr/lib/gsd-xsettings正在運行,否則dconf設置不會在文件中應用。

改變默認項目視圖

[編輯 | 編輯原始碼]

設置default-folder-viewer變量可以改變項目的默認視圖,如設為列表視圖:

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

按類型排序

[編輯 | 編輯原始碼]

若要默認用類型排序所有文件夾中的文件:

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

始終顯示文本文件路徑

[編輯 | 編輯原始碼]

文件工具欄默認顯示用於路徑導航的按鈕欄界面。若要用鍵盤輸入路徑,則需按Ctrl+l顯示文本路徑欄。

若要始終以文本路徑欄顯示,可以使用以下gsettings命令:

$ gsettings set org.gnome.nautilus.preferences always-use-location-entry true
注意:改變此設置後將無法再顯示按鈕欄,只有把值設為false時才能同時使用兩種路徑欄。

提示與技巧

[編輯 | 編輯原始碼]

縮略圖

[編輯 | 編輯原始碼]

見文件管理器功能#縮略圖預覽。

注意:在linux-hardened包中,縮略圖會生成失敗(所有縮略圖都在~/.cache/thumbnails/fail/目錄中),這是由於非特權用戶的命名空間因為安全原因在該內核上默認禁用。Nautilus使用bwrap (由bubblewrap包提供)對縮略圖進行沙盒處理。儘管存在安全隱患,你仍然可以選擇啟用非特權用戶命名空間。有關更多信息,請參見 FS#63316。

有時會無法顯示視頻縮略圖。若要解決此問題(正如No video thumbnails on nautilus),必須安裝ffmpegthumbnailer包、gst-libav包、gst-plugins-ugly包並移除~/.cache/thumbnails/fail/裡的內容。

用右鍵菜單創建新文檔

[編輯 | 編輯原始碼]

若要使用此選項,請在您的主文件夾中創建一個~/Templates/(模板)文件夾,並通過終端touch ~/Templates/new或任何文件管理器在該文件夾中放置一個空文件,然後重新啟動文件。

在非英語系統中,模板目錄的名稱可能不同。可以用xdg-user-dir TEMPLATES找到實際目錄。

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

XDG_TEMPLATES_DIR="$HOME/some/path"

隱藏文件

[編輯 | 編輯原始碼]

GNOME文件和大部分文件管理器一樣,默認隱藏名稱以「.」開頭的文件。

GNOME 文件管理器還會隱藏名稱列在同一目錄下的 .hidden 文件中的文件(每行一個文件名)。可以使用 nautilus-hideAUR 擴展,方便在此類 .hidden 文件中添加或刪除條目。

在Tilix中打開當前路徑

[編輯 | 編輯原始碼]

如果你使用 tilixAUR 終端,可以通過安裝其可選依賴 nautilus-python包,在 GNOME 文件管理器的右鍵菜單中添加「在 Tilix 中打開」選項。

將文件夾加入書籤

[編輯 | 編輯原始碼]

若要將文件夾添加到你的書籤中,只需在Nautilus中打開該文件夾,並按Ctrl+d。請注意,書籤列表與其它基於GNOME的圖形化文件管理器(如Nemo)共享,因此在其中增減的文件夾也會影響到其它文件管理器中的書籤。

自定義腳本

[編輯 | 編輯原始碼]

位於~/.local/share/nautilus/scripts的腳本可以運行於文件的右鍵關聯菜單。

The context menu can also be organized into subfolders, e.g. ~/.local/share/nautilus/scripts/images and ~/.local/share/nautilus/scripts/music.

Scripts have access to the following environment variables:

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
注意:Make sure the scripts are marked as executable. You may have to restart nautilus with nautilus -q for them to show up.

Keybinds to execute scripts can be assigned in the ~/.config/nautilus/scripts-accels file:

; Example Keybinds
; Modifiers: <Control> <Alt> <Shift>
F4 open-terminal-here
<Alt>x remove-extension
注意:You cannot overwrite any pre-existing nautilus keybinds.

疑難解答

[編輯 | 編輯原始碼]

文件已不再是默認文件管理器

[編輯 | 編輯原始碼]

這可能是因為重置了路徑的文件關聯,安裝anjutaAUR或者visual-studio-code-binAUR往往會造成這種情況。

若要解決此問題,打開文件,右鍵點擊一個文件夾,然後選擇使用其它程序打開 > 文件 > 選擇,就會把路徑的關聯設回文件。

若沒有解決此問題,見文件管理器功能#未在文件管理器中打開目錄。

每次複製操作後都會卡幾秒

[編輯 | 編輯原始碼]

如果系統中安裝了kdeconnect包,問題可能來自其文件共享模塊,停用文件共享即可。

共享文件夾的 Windows 計算機未顯示在網絡視圖中

[編輯 | 編輯原始碼]

要啟用 WSD 支持,請安裝 gvfs-wsdd包,使 GNOME 文件管理器能夠在網絡視圖中發現較新版本的 Windows 計算機。

掛載選項中缺少 WebDAV

[編輯 | 編輯原始碼]

安裝 gvfs-dnssd包 並重新啟動 Nautilus。

未安裝 gnome-console 時「作為程序運行」無法正常工作

[編輯 | 編輯原始碼]

右鍵菜單中的「作為程序運行」選項被硬編碼為使用 gnome-console包。如果你使用其他終端模擬器,且系統中未安裝默認的 GNOME 終端,則該菜單選項不會執行任何操作。

由於該選項只是直接執行 /usr/bin/kgx(gnome-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 桌面條目必須包含適當的 Exec 和 MimeType 字段值。

以下示例展示如何為 Alacritty 終端模擬器創建額外的桌面條目,使其能夠被「打開方式...」菜單識別。

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

# `working-directory` 參數需要提供一個值
Exec=alacritty --working-directory %f
# MimeType 包含特殊類型 `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 命令修復。

請檢查你所使用的終端應用程式的命令行參數和桌面條目文件,並據此調整上述示例。