Editors
使用 Visual Studio Code 作為編輯器,例如使用 sudoedit
我正在使用 Kubuntu 20.04。
當我執行時
sudoedit /etc/fstab
,VS Code 會打開一個空白文件,並且 CLI 會立即返回(請參閱下面的詳細資訊)。如果我執行
export SUDO_EDITOR=nano
,文件將在 nano 編輯器中打開,其內容符合/etc/fstab
預期。如果我執行
export SUDO_EDITOR=/snap/bin/code
,它會再次打開帶有空白文件的 VS Code。我究竟做錯了什麼?或者這是一個錯誤?
kevin@kevcoder00 ~ $ echo $VISUAL kevin@kevcoder00 ~ $ echo $SUDO_EDITOR kevin@kevcoder00 ~ $ echo $EDITOR /snap/bin/code kevin@kevcoder00 ~ $ sudoedit /etc/fstab [sudo] password for kevin: sudoedit: /etc/fstab unchanged
您需要告訴編輯器等待:
SUDO_EDITOR="/snap/bin/code --wait" sudoedit /etc/fstab
如果沒有該選項,VS Code 會派生或通知一個已經在執行的實例,並且控制權會立即返回到
sudoedit
. 後者看到沒有任何變化並刪除用於編輯目的的臨時副本。(Snap 可能會產生這種效果,但 VS Code 本身就需要這個。)
或者,您可以嘗試(在您的情況下可能是過度殺傷的解決方案)我的腳本:
https://github.com/burianvlastimil/sudoedit-enhanced
我努力把它記錄好,最新的、最近的修訂是穩定的。
無論如何,Stephen Kitt的解決方案可能沒問題。
但是,
sudoedit
不幸的是,特別是 VS Code 不能很好地工作 - 正如我被要求提供的詳細資訊,來自我引用的評論:@StephenKitt 當然。這是大約一年前我的測試。當時唯一的編輯方法是
root
通過. 有什麼改變嗎?我肯定很想知道。code``sudo code /path/to/file