次のようなことができるかと思います。
export HOME=$HOME:$HOME/.configs
これにより、 ~/.configs ですべてのカスタム構成を維持できます。
設定できることはわかっていますが、後で問題が発生するかどうかはわかりません。これは安全ですか?もっと標準的な方法がありますか?
答え1
まず、可能でまれな場合、専門家はそうする必要があるかもしれませんが、環境変数の値を変更しないでください。システムHOME
によって設定されます。
第二に、 の内容はHOME
1 つの (既存の) ディレクトリ、つまりホームディレクトリにのみなければなりません。
何を見るかPOSIX とについてHOME
:
HOME:システムは、ユーザーのホームディレクトリのパス名にログインするときにこの変数を初期化する必要があります。
答え2
ディレクトリ$HOME/.config
はXDG仕様の値によって決まります$XDG_CONFIG_HOME
。
理論的には、設定ファイルを別の場所に保存したい場合は、$XDG_CONFIG_HOME
必要な場所に設定するだけです。
ただし、実際には$HOME/.config/...
XDG仕様に従わずに盲目的に作成されたソフトウェアインスタンスを見つける可能性が高いです。特に展開に必要な部分ではないので、さらにそうです。
XDG準拠のアプリケーションでは、デフォルト値を取得する必要がある他の場所を定義する一連のディレクトリ(コロンで区切られたなど$XDG_CONFIG_DIRS
)を持つこともできます。$PATH
この値のデフォルト値はでなければなりません/etc/xdg
。
今、あなたが尋ねなければならない次の質問は「良い、それではこれをどこで設定する必要がありますか$XDG_CONFIG_HOME
?」です。かなり複雑になります。
全体として.profile
(または.bash_profile
、.bashrc
)に入れることもできますが、PAMを介してグローバルに設定する必要があるかもしれません。個人的に私はまだこれを試していません。これは、.profile
GUIベースのログイン環境がソリューションベースのソリューションとどのように機能するのかわからないためです。
2番目の質問は、「自分の設定をこの新しい場所に移動するにはどうすればよいですか?」です。潜在的な問題がいっぱい。ため息をつく。
ここで最も簡単なオプションは、おそらく目的の$HOME/.config
場所へのシンボリックリンクを使用することです。これにより、設定の問題だけでなく、$XDG_CONFIG_DIR
すぐ下に表示されているアプリを引き続き使用することに関連する問題も処理されます$HOME/.config
。
cd
test -d .config && mv .config .config_old
ln -s /path/to/preferred_config_dir .config