XDG ユーザーディレクトリ

提供: ArchWiki
2021年7月23日 (金) 18:53時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (序文を英語版に差し替え)
ナビゲーションに移動 検索に移動

関連記事

From freedesktop.org:

xdg-user-dirs is a tool to help manage "well known" user directories like the desktop folder and the music folder. It also handles localization (i.e. translation) of the filenames.
The way it works is that xdg-user-dirs-update(1) is run very early in the login phase. This program reads a configuration file, and a set of default directories. It then creates localized versions of these directories in the users home directory and sets up a config file in $XDG_CONFIG_HOME/user-dirs.dirs (XDG_CONFIG_HOME defaults to ~/.config) that applications can read to find these directories.

Most file managers indicate XDG user directories with special icons.

インストール

xdg-user-dirs パッケージをインストールしてください。

ヒント: 一部の デスクトップ環境 ではすでにインストールされています。例: GNOME

デフォルトディレクトリの作成

$HOME ディレクトリの中に、ローカライズされた完全なデフォルトユーザーディレクトリを作成するには、次のコマンドを入力:

$ xdg-user-dirs-update
ヒント: 英語のディレクトリを作成するには、LC_ALL=C xdg-user-dirs-update --force を使います。

コマンドを実行すると、以下も自動的に作成されます:

  • ローカルの ~/.config/user-dirs.dirs 設定ファイル: アカウントごとのホームディレクトリを見つけて使用するのにアプリケーションが使用。
  • グローバルの /etc/xdg/user-dirs.defaults 設定ファイル: 一般のホームディレクトリを見つけて使うのにアプリケーションが使用。
  • ローカルの ~/.config/user-dirs.locale 設定ファイル: 使用しているロケールにあわせて言語を設定するのに使用。

カスタムディレクトリの作成

ローカルの ~/.config/user-dirs.dirs とグローバルの /etc/xdg/user-dirs.defaults どちらの設定ファイルも次のような環境変数を使ってユーザーディレクトリを指定しています: XDG_DIRNAME_DIR="$HOME/directory_name"。設定ファイルのサンプルは以下のようになります (どれもテンプレートのディレクトリです):

XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_TEMPLATES_DIR="$HOME/.Templates"
XDG_VIDEOS_DIR="$HOME/Videos"

xdg-user-dirs は、適当なユーザーディレクトリを記述しているローカルの設定ファイルを読み込むため、カスタムフォルダを指定することが可能です。例えば ~/.config/user-dirs.dirsXDG_DOWNLOAD_DIR 変数のカスタムフォルダを $HOME/Internet にすれば、どのアプリケーションもこの変数でこのディレクトリを使用します。

ノート: 多くの設定ファイルと同じように、ローカル設定はグローバル設定を上書きします。新しいカスタムディレクトリを作成する必要もあります。

また、コマンドラインを使ってカスタムフォルダを指定することもできます。例えば以下のコマンドは上述のように設定ファイルを編集したのと同じになります:

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

設定されているディレクトリを確認

一度設定されれば、xdg-user-dirs で全てのユーザーディレクトリを表示することができます。例えば、以下のコマンドは Templates ディレクトリの場所を表示します (ローカルの設定ファイルの XDG_TEMPLATES_DIR 変数に相当):

$ xdg-user-dir TEMPLATES