回答:
自分のユーザーの変数を設定していますが、systemctlルート(sudo)としてコマンドを実行しています。したがって、ユーザーに設定した変数は関係ありません。
これを修正するには、次のいずれかを実行できます(ただし1を使用します)。
で実行sudoし-Eて、現在の環境をエクスポートします。
sudo -E systemctl edit _unit_
変数(これだけが必要SYSTEMD_EDITOR)をrootに追加します~/.profile:
export SYSTEMD_EDITOR="/bin/vi"
次に実行
sudo -i systemctl edit _unit_
最後に、名前だけでなくエディターへのフルパスを指定する必要があることに注意してください。だからそうで/bin/viはないvim。
vim、それが私がそれを言及した理由です。そしてちょっと、私はemacsユーザーです:)
vim!物を閉じるのに3日かかった。
最初の方法では、次の行を~/.bashrc次の場所に追加できます。
export SYSTEMD_EDITOR=vim
そして、sudo visudo次の行を追加します。
Defaults env_keep += "SYSTEMD_EDITOR"
新しいbashセッションを開始して有効にし、sudo systemctl edit <foo>通常どおり実行します。
2番目の方法はuse update-alternativesです:
必要なものをインストールしますeditor、例えばvim.gtk3:
$編集者 エディターは/ usr / bin / editorです $ sudo update-alternatives --install "$(which editor)" editor "$(which vim.gtk3)" 15
次に、希望するものを選択しますeditor。
$ sudo update-alternatives --config editor
There are 7 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/vim.gtk3 50 auto mode
1 /bin/ed -100 manual mode
* 2 /bin/nano 40 manual mode
3 /usr/bin/code 0 manual mode
4 /usr/bin/gedit 5 manual mode
5 /usr/bin/vim.basic 30 manual mode
6 /usr/bin/vim.gtk3 50 manual mode
7 /usr/bin/vim.tiny 15 manual mode
Press <enter> to keep the current choice[*], or type selection number: 6
update-alternatives: using /usr/bin/vim.gtk3 to provide /usr/bin/editor (editor) in manual mode
3番目の方法はEDITOR、実行時の直接設定です。
sudo EDITOR=vim systemctl edit <foo>
優先順位は、first method> third method> second methodです。
以下のようなセットに「GUI」エディタを試みてはいけないgedit理由はなぜないgksuの/ gksudoまたはウェイランドとsudoの作業でグラフィカルアプリケーションを起動しますか?そして
、ファイルの編集中にGeditのは、CPUの100%を使用しています
vimありませんでしたgedit。
geditは、GUIエディターでさえ動作していることを証明するための例にすぎませんvim。もちろん、この回答で使用できます。
sudo visudo...最初の応答を受け入れるのが速すぎました。私が探していたのは、/etc/suddoers提案されたとおりのファイルの修正です。yrソリューションを選択しないでいただきありがとうございます。私の悪い。
gedit。
sudo -E ...修正した後にすでに働いていました/root/.bashrc。sudo -i ...ただし、sudoをログインシェル()として実行することは考えていませんでした。対応するフラグを覚えておく必要があるため、どちらも非常に満足のいくものではありませんが、ちょっと...もっと悪いこともあると思います...それでも(おそらくそれは興味深いです)、私たちの一部にとって:(SYSTEMD_EDITOR=/usr/bin/vim; export SYSTEMD_EDITORルートとして)正しい。パスはすべて、最初にyrvimpkgをインストールした方法に依存します。さらに、ルートのPATHを定義したのでvim十分です。それを行う方法は1つだけではありません。@terdonに感謝します。