답변:
자신의 사용자에 대한 변수를 설정하고 있지만 systemctl
명령을 루트 ( sudo
) 로 실행하고 있습니다. 따라서 사용자에 대해 설정 한 변수는 관련이 없습니다.
이 문제를 해결하려면 다음 중 하나를 수행하십시오.
다음 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
그것이 내가 언급 한 이유입니다. 그리고 야, 난 이맥스 사용자입니다 :)
vim
! 물건을 닫는 데 3 일이 걸렸습니다.
첫 번째 방법은이 행을 ~/.bashrc
다음에 추가 할 수 있습니다 .
export SYSTEMD_EDITOR=vim
그리고이 sudo visudo
줄을 추가하십시오 :
Defaults env_keep += "SYSTEMD_EDITOR"
새 bash 세션을 시작하여 적용한 다음 sudo systemctl edit <foo>
평소대로 실행하십시오 .
두 번째 방법은 사용입니다 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
런타임에 직접 설정 됩니다.
sudo EDITOR=vim systemctl edit <foo>
우선 순위는 첫 번째 방법> 세 번째 방법> 두 번째 방법 입니다.
같은 세트에 "GUI"편집기를 시도하지 마십시오 gedit
때문에 왜하지 gksu / gksudo 또는 WAYLAND와 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
루트로) 권리. 경로vim
는 1 년에 yr pkg를 설치 한 방법에 따라 다릅니다 . 또한 루트에 대한 PATH를 정의vim
하면 충분합니다. 그것을하는 유일한 방법은 없습니다. @terdon에게 감사합니다.