回答:
自分のユーザーの変数を設定していますが、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
ルートとして)正しい。パスはすべて、最初にyrvim
pkgをインストールした方法に依存します。さらに、ルートのPATHを定義したのでvim
十分です。それを行う方法は1つだけではありません。@terdonに感謝します。