
我已經從 FreeBSD 12.0-current 安裝了 Midnight Commander:
pkg install mc
mc
當以 root 身分呼叫時,它會按預期運行;但是,當以普通用戶身份運行時,它會中止並出現錯誤:
common.c: unimplemented subshell type 1
read (subshell_pty...): No error: 0 (0)
怎麼辦?
答案1
根據這個線,mc 有錯誤/問題,這也取決於它的編譯方式。
選項是用SUBSHELL
off 重新編譯它;或將其運行為:
mc -u
因此,最簡單的選擇是創建mc
as的別名mc -u
。如:
alias mc='mc -u'
從man mc
:
-u, --nosubshell 停用並發 shell 的使用(僅當 Midnight Commander 是使用並發 shell 支援建置時才有意義)。
答案2
如果將預設 root shell 更改為 /bin/sh,也會出現此錯誤。包中有資訊表明 subshell 幾乎可以在 /bin/sh 之外的任何地方工作。將預設 shell 更改為 /bin/csh 應該沒問題:
pw user mod root -s /bin/csh