Mc

Midnight Commander 配置目錄位置啟動選項

  • April 7, 2020

如果你跑 mc -F ,你會看到有

$$ System data $$配置目錄和$$ User data $$配置目錄 $$ System data $$

Config directory: /etc/mc/

$$ User data $$

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

第一個是系統範圍的,第二個是使用者特定的。

第二個似乎取決於使用者的家庭位置;換句話說,它是必然的。這意味著,如果您想(暫時)以同一使用者的備用配置啟動 mc,則無法在不更改(和exporting)之前的 HOME 變數的情況下執行此操作。這種“在開始之前更改 HOME”的解決方法雖然可以解決問題,但很難接受,因為它也……確實修改了使用者 HOME。

你認為有辦法要麼

  1. 在 mc 啟動之前動態更改使用者配置目錄(命令行選項是最合適的,但它似乎不存在)
  2. 在 mc 啟動後為使用者恢復“自然”HOME,如果之前更改 HOME 是更改使用者目錄位置的唯一方法

如果同時執行,不同配置的 mc 實例不得相互干擾。

事實證明,這比人們想像的要簡單。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 配置而不覆蓋它。並發會話不會相互干擾。

這很好地作為 https://github.com/Russell91/sshrc中描述的 sshrc-approach 的一部分

引用自:https://unix.stackexchange.com/questions/174873