Midnight Commander 構成ディレクトリの場所の開始オプション

Midnight Commander 構成ディレクトリの場所の開始オプション

実行すると、 mc -F [システムデータ]構成ディレクトリと[ユーザーデータ]構成ディレクトリがあることがわかります。

[システムデータ]

Config directory: /etc/mc/

[ユーザーデータ]

Config directory: /home/<username>/.config/mc/

最初はシステム全体に適用され、2 番目はユーザーごとに適用されます。

2つ目は、ユーザーの家の場所によって異なります。つまり、ここに縛られています。これは、同じユーザーで代替構成で(一時的に)mcを起動したい場合は、export以前のHOME変数を変更(および指定)しないとそれを行うことができないことを意味します。この「ブート前のホームディレクトリの変更」回避策は問題を解決しますが、ユーザーのホームディレクトリを変更するため、受け入れることは困難です。

方法があると思いますか?

  1. mcが起動する前にユーザー設定ディレクトリを動的に変更します(コマンドラインオプションは最も適切ですが存在しないようです)。

  2. 以前に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

おすすめ記事