私はKubuntu 20.04を使用しています。
を実行すると、sudoedit /etc/fstab
VS Codeは空の文書を開き、CLIがすぐに返されます(下記の詳細を参照)。
を実行すると、export SUDO_EDITOR=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
答え1
編集者に待つことを知らせる必要があります。
SUDO_EDITOR="/snap/bin/code --wait" sudoedit /etc/fstab
このオプションがないと、VS Codeはすでに実行中のインスタンスを分岐または通知し、後者はsudoedit
変更がないことを確認し、編集目的で使用された一時コピーを削除します。 (Snapはこの効果を得るのに役立ちますが、VS Code自体にはこれが必要です。)
また、見ることができますGnu / LinuxのGUI(およびCLI)でシステムファイルをrootとして正しく編集するには?
答え2
あるいは、私のスクリプトを試してみてください(あなたの場合は過度の解決策かもしれません)。
https://github.com/burianvlastimil/sudoedit-enhanced
私はそれを文書化するために一生懸命努力しており、最新、最新のリビジョンは安定しています。
いずれにせよ、スティーブンジッタ~の解決策おそらく問題ないでしょう。
しかし、残念ながら、sudoedit
特にVSコードはうまく機能しません。詳細を尋ねる質問に次の説明を引用しました。
@StephenKittもちろんです。ここにいる1年前のテストを基準にすれば、ほぼ
root
当時編集できる唯一の方法code
はsudo code /path/to/file
。変更がありますか?もちろん知りたいです。