Mc
Midnight Commander 配置目錄位置啟動選項
如果你跑
mc -F
,你會看到有$$ System data $$配置目錄和$$ User data $$配置目錄 $$ System data $$
Config directory: /etc/mc/
$$ User data $$
Config directory: /home/<username>/.config/mc/
第一個是系統範圍的,第二個是使用者特定的。
第二個似乎取決於使用者的家庭位置;換句話說,它是必然的。這意味著,如果您想(暫時)以同一使用者的備用配置啟動 mc,則無法在不更改(和
export
ing)之前的 HOME 變數的情況下執行此操作。這種“在開始之前更改 HOME”的解決方法雖然可以解決問題,但很難接受,因為它也……確實修改了使用者 HOME。你認為有辦法要麼
- 在 mc 啟動之前動態更改使用者配置目錄(命令行選項是最合適的,但它似乎不存在)
- 在 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 的一部分