実行すると、
mc -F
[システムデータ]構成ディレクトリと[ユーザーデータ]構成ディレクトリがあることがわかります。
[システムデータ]
Config directory: /etc/mc/
[ユーザーデータ]
Config directory: /home/<username>/.config/mc/
最初はシステム全体に適用され、2 番目はユーザーごとに適用されます。
2つ目は、ユーザーの家の場所によって異なります。つまり、ここに縛られています。これは、同じユーザーで代替構成で(一時的に)mcを起動したい場合は、export
以前のHOME変数を変更(および指定)しないとそれを行うことができないことを意味します。この「ブート前のホームディレクトリの変更」回避策は問題を解決しますが、ユーザーのホームディレクトリを変更するため、受け入れることは困難です。
方法があると思いますか?
mcが起動する前にユーザー設定ディレクトリを動的に変更します(コマンドラインオプションは最も適切ですが存在しないようです)。
以前にHOMEを変更することがユーザーディレクトリの場所を変更する唯一の方法である場合は、mcが起動するとすぐにユーザーの「自然な」HOMEを復元します。
同時に実行する場合は、構成が異なるmcインスタンスが互いに干渉しないようにしてください。
ベストアンサー1
思ったより簡単だということがわかりました。 MC_HOME変数は、mcを開始する前に代替パスに設定できます。マニュアルページはすぐに答えを見つけることができません =)
仕組みは次のとおりです。 - 一般的な方法
[jsmith@wstation5 ~]$ mc -F
Root directory: /home/jsmith
[System data]
<skipped>
[User data]
Config directory: /home/jsmith/.config/mc/
Data directory: /home/jsmith/.local/share/mc/
skins: /home/jsmith/.local/share/mc/skins/
extfs.d: /home/jsmith/.local/share/mc/extfs.d/
fish: /home/jsmith/.local/share/mc/fish/
mcedit macros: /home/jsmith/.local/share/mc/mc.macros
mcedit external macros: /home/jsmith/.local/share/mc/mcedit/macros.d/macro.*
Cache directory: /home/jsmith/.cache/mc/
代替案は次のとおりです。
[jsmith@wstation5 ~]$ MC_HOME=/tmp/MCHOME mc -F
Root directory: /tmp/MCHOME
[System data]
<skipped>
[User data]
Config directory: /tmp/MCHOME/.config/mc/
Data directory: /tmp/MCHOME/.local/share/mc/
skins: /tmp/MCHOME/.local/share/mc/skins/
extfs.d: /tmp/MCHOME/.local/share/mc/extfs.d/
fish: /tmp/MCHOME/.local/share/mc/fish/
mcedit macros: /tmp/MCHOME/.local/share/mc/mc.macros
mcedit external macros: /tmp/MCHOME/.local/share/mc/mcedit/macros.d/macro.*
Cache directory: /tmp/MCHOME/.cache/mc/
この機能のユースケース:
リモートサーバーで同じユーザー名を共有する必要があり(アクセスはrsaキーで区切ることができます)、上書きせずに好みのmc構成を使用しようとしています。同時セッションは互いに干渉しません。
これは、後述のsshrcアプローチの一部としてうまく機能します。 https://github.com/Russell91/sshrc