既定のフォルダー
ここでいう既定のフォルダーとは、「デスクトップ」や「ドキュメント」など標準的なフォルダーのことです。「.config」など隠しフォルダーは除きます。
隠しフォルダーについては、「XDG Base Directory Specificationについて」を参考にしてください。
各フォルダーの役割については「ホームフォルダ、アプリの設定ファイル」を参考にしてください。
具体的に既定のフォルダーを列挙すると、以下のフォルダーが該当します。
- 公開
- ダウンロード
- ミュージック
- ビデオ
- デスクトップ
- ドキュメント
- テンプレート
- ピクチャ
すべてユーザーのホームフォルダー(~/)直下に作成されるフォルダーです。
既定のフォルダーの特徴
既定のフォルダーの特徴です。既定のフォルダーはwell known folder(よく知られたフォルダー)と表現されることもあります。
フォルダーの扱い
Windowsでもそうなのですが、これらのフォルダーはすべてのアプリから共通的な方法で利用できるフォルダーになっています。Ubuntuに限った話ではなく、他のフレーバーでも同様の扱いをします。
アプリが既定のフォルダーのパスを取得する場合、既定のフォルダーのパスを取得する手段が提供されており、その手段を用いてフォルダーのパスを取得します。
従って通常作成するフォルダーと異なり、特別な扱いをされるフォルダーという事になります。
フォルダー名について
フォルダー名は、ユーザーの言語環境に応じて異なります。例えば英語環境の場合、以下のようになります。
- Public
- Downloads
- Music
- Videos
- Desktop
- Documents
- Templates
- Pictures
xdg-user-dirs
これらの仕組みを提供しているのが、「xdg-user-dirs」です。Ubuntuでは標準でインストールされています。
作成される既定のフォルダー
どのようなフォルダーが既定のフォルダーとして作成されるかは、「/etc/xdg/user-dirs.defaults」に記述されています。テキストエディターで開くと、以下のように作成する既定のフォルダーが記述されています。
「#」で始まる行はコメント行で、無視されます。
例えば「DESKTOP=Desktop」は、「DESKTOP」がキーで「Desktop」が値になります。
すなわち「DESKTOP」キーに対応したフォルダーは、「Desktop」フォルダー(~/Desktop)という事になります。
ここで記述されるフォルダー名は、ローカライズされていないフォルダー名です。
フォルダー名のローカライズ
上記にも記述した通り、ユーザーの言語環境によりフォルダー名が異なります。日本語に対応したフォルダー名は、「/usr/share/locale/ja/LC_MESSAGES/xdg-user-dirs.mo」に記述されています。
これはテキスト形式のファイルではないため、テキストエディターで開くことはできません。
フォルダーの設定ファイル
作成された既定のフォルダーの情報は、「~/.config/user-dirs.dirs」に保存されます。テキストエディターで開くと、以下のようにフォルダーのパスが記述されています。
また言語の情報が「~/.config/user-dirs.locale」に保存されます。
テキストエディターで開くと、以下のように言語情報が記述されています。
「xdg-user-dirs-gtk-update」で表示される「次回から表示しない」のチェックをオンにした場合、このファイルは存在しません。
xdg-user-dir
「xdg-user-dir」コマンドは、既定のフォルダーのパスを取得するコマンドです。既定のフォルダーのキーを指定すると、そのキーに対応したフォルダーのパスを表示します。
xdg-user-dirs-gtk
「xdg-user-dirs-gtk」はユーザーの既定のフォルダーを言語環境に応じて変更するアプリです。アプリ名は「xdg-user-dirs-gtk-update」です。
Ubuntuでは標準でインストールされています。
xdg-user-dirs-gtk-update
ユーザーが言語環境を変更し再ログインすると、以下のように既定のフォルダーを変更するかどうか、確認画面が表示されます。この機能を実現しているのが「xdg-user-dirs-gtk-update」です。
「xdg-user-dirs-gtk-update」は「xdg-user-dirs-update」コマンドのフロントエンドです。
ログイン時に実行されます。
次回から表示しない
次からこの画面を表示しません。古い名前のままにする
フォルダー名を変更しません。名前を変更する
ユーザーの言語環境に応じたフォルダー名に変更します。フォルダー名を変更しても、アプリが既定のフォルダーの仕組みを利用してフォルダーのパスを取得している場合、名前変更後のフォルダーを参照するようになります。
例えば以下のように英語環境のユーザーを日本語環境に変更し、「名前を変更する」ボタンをクリックします。
以下のように日本語のフォルダー名に変更されます。