[4.13.12-1-Xorgでgnome3とgdmを使用するARCH]
VISUALとEDITOR env-vars vim
。SYSTEMD_EDITOR="vim"; export SYSTEMD_EDITOR
Arch(systemd)でユニットファイルを変更する場合
$ sudo systemctl edit _unit_
私は私を見つめていることを見つけましたnano
。人生は短すぎます。vim
何があってもやりたいです。どうすればいいですか?
答え1
最初の方法では、次の行を追加できます~/.bashrc
。
export SYSTEMD_EDITOR=vim
次に、sudo visudo
次の行を追加します。
Defaults env_keep += "SYSTEMD_EDITOR"
適用するには、新しいbashセッションを開始してsudo systemctl edit <foo>
通常どおり実行します。
2番目の方法は以下を使用することですupdate-alternatives
。
editor
たとえば、次のように必要なものをインストールしますvim.gtk3
。
$どのエディタ エディタは/usr/bin/editorです。 $ sudo update-alternatives --install "$( which 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
EDITOR
3番目の方法は、ランタイムを直接設定することです。
sudo EDITOR=vim systemctl edit <foo>
優先順位は最初の方法> 3番目の方法> 2番目の方法。
「GUI」エディタを設定しようとしないでくださいgedit
。gksu / gksudoまたはsudoを使用してグラフィックアプリケーションを起動することがWaylandで機能しないのはなぜですか?そして
Geditはファイル編集時にCPUを100%使用します。
答え2
自分のユーザーの変数を設定していますが、systemctl
root()でsudo
コマンドを実行しています。したがって、ユーザーに設定した変数は関係ありません。
この問題を解決するには、次の手順を実行できます(ただし1つ選択)。
sudo
このように実行すると、-E
現在の環境がエクスポートされます。sudo -E systemctl edit _unit_
変数(
SYSTEMD_EDITOR
これだけが必要です)をルートに追加します~/.profile
。export SYSTEMD_EDITOR="/bin/vi"
その後実行
sudo -i systemctl edit _unit_
最後に、エディタの名前だけでなくフルパスも指定する必要があります。はい。/bin/vi
そしていいえvim
。
答え3
私はシェルエイリアスを使用します:
sc='sudo SYSTEMD_EDITOR=/bin/vi /usr/bin/systemctl'
それから:
sc edit service-name
systemctl
またrestart
。
答え4
私のために働いた唯一の方法は次のとおりです。
- ルートシェル(
su
またはsudo -i
)、設定SYSTEMD_EDITOR=/usr/bin/vim
、その後systemctl edit <unit>
- 設定
SYSTEMD_EDITOR
、その後sudo -E systemctl edit <unit>
sudo SYSTEMD_EDITOR=/usr/bin/vim systemctl edit <unit>
bashとzshの設定を試み、ユーザーとrootの設定を試しましたが、変数を設定するか、EDITOR
sudoを使用してrootシェルでのみ機能します。VISUAL
SYSTEMD_EDITOR
sudo
-E
sudoers( )も編集し、以下を追加しました。ところで、sudo visudo
vimを表示しても
Defaults env_keep += "SYSTEMD_EDITOR"
変数がリストされていないことがわかりました。sudo systemctl show-environment
sudo echo $SYSTEMD_EDITOR
以下を使用して変数を設定し、
sudo systemctl set-environment SYSTEMD_EDITOR=/usr/bin/vim
を使用して確認しますsudo systemctl show-environment
。
それ以来、私に効果があった唯一の方法は、一番上にリストされた方法だけでした。