文件管理器功能
本文概述了擴展文件管理器特性和功能所需的附加軟件包,特別是在使用 Openbox 等窗口管理器的情況下。此外,還提供了在沒有密碼的情況下(若受影響)訪問分區和可移動媒體的功能。
概要[編輯 | 編輯原始碼]
僅靠文件管理器無法提供使用完整桌面環境(如 Xfce、KDE)的用戶所習慣的特性和功能。因為文件管理器需要額外的軟件包以:
- 顯示並訪問其他分區
- 顯示、掛載並訪問可移動媒體(例如 USB 存儲設備、光盤和數碼相機)
- 啟用或與其他操作系統共享網絡
- 啟用縮略圖
- 歸檔和提取壓縮文件
- 自動掛載可移動媒體
當一個文件管理器以完整桌面環境的一部分安裝時,大多數這類的軟件包都已被自動安裝。因此,當為獨立的窗口管理器安裝了文件管理器時(就像獨立的窗口管理器那樣),文件管理器僅能提供基礎功能。用戶必須自行確定之後需要添加的額外擴展特性和功能。
額外功能[編輯 | 編輯原始碼]
使用輕量化環境時,文件管理器的特性越多,所需要使用的內存就越多。參見 udisks。
掛載[編輯 | 編輯原始碼]
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 的後備方案,十分有效。
網絡[編輯 | 編輯原始碼]
- 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[編輯 | 編輯原始碼]
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;
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.
歸檔文件[編輯 | 編輯原始碼]
若要在文件管理器內提取歸檔文件(如 .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 文章的內容。
桌面通知[編輯 | 編輯原始碼]
一些文件管理器使用 desktop notifications 確認多種事件和狀態,例如掛載、卸載和可移動媒體的彈出。
Enable Trash functionality on different filesystems (external drives)[編輯 | 編輯原始碼]
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
。
/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
。此外,在應用更改前,請終止實現 D-Bus 服務的程序。