XDG 用戶目錄

出自 Arch Linux 中文维基

用戶目錄指位於 $HOME 下的一系列常用目錄,例如 DocumentsDownloadsMusic,還有 Desktop。用戶目錄會在文件管理器中顯示為不同的圖標,且被多種應用程式所參照。可以使用 xdg-user-dirs 自動生成這些目錄。進一步信息請參照 freedesktop.org

提示:對於那些想要用文件管理器來給 Window manager(例如 Openbox)顯示桌面的人來說這個程序尤其有用,因為它會自動創建 ~/Desktop 目錄。

創建默認目錄[編輯 | 編輯原始碼]

可以用 xdg-user-dirs$HOME 下創建一整套默認的經本地化的用戶目錄。請運行:

$ xdg-user-dirs-update
提示:使用 LC_ALL=C xdg-user-dirs-update --force 命令可以強制創建英語目錄。

運行後該命令還會自動地:

  • 創建一個本地的 ~/.config/user-dirs.dirs 配置文件:應用程式通過他來查找使用特定帳號指定的用戶目錄。
  • 創建一個本地的 ~/.config/user-dirs.locale 配置文件:根據使用的 locale 指定語言。

創建自定義目錄[編輯 | 編輯原始碼]

本地的 ~/.config/user-dirs.dirs 和全局的 /etc/xdg/user-dirs.defaults 配置文件都使用如下的環境變量格式: XDG_DIRNAME_DIR="$HOME/目錄名"。一個例子:

~/.config/user-dirs.dirs
XDG_DESKTOP_DIR="$HOME/桌面"
XDG_DOCUMENTS_DIR="$HOME/文檔"
XDG_DOWNLOAD_DIR="$HOME/下載"
XDG_MUSIC_DIR="$HOME/音樂"
XDG_PICTURES_DIR="$HOME/圖片"
XDG_PUBLICSHARE_DIR="$HOME/公共"
XDG_TEMPLATES_DIR="$HOME/模板"
XDG_VIDEOS_DIR="$HOME/視頻"

因為 xdg-user-dirs 會參照本地配置文件來了解正確的用戶目錄,所以可以自定義。比如若將 ~/.config/user-dirs.dirsXDG_DOWNLOAD_DIR 變量設為了 $HOME/Internet,那麼任何參照了該變量的程序都會改用這個目錄。

注意: 和其他的配置文件一樣,本地設定覆蓋全局設定。另外自定義的目錄要自己創建。

或者也可以用命令行修改默認目錄。下列命令會產生和上面一樣的效果:

$ xdg-user-dirs-update --set DOWNLOAD ~/Internet

查詢配置好的目錄[編輯 | 編輯原始碼]

可以用 xdg-user-dirs 來查詢配置好的目錄路徑。例如,下列命令可以查詢 模板 目錄的位置,對應於本地配置文件中 XDG_TEMPLATES_DIR 變量的值:

$ xdg-user-dir TEMPLATES