Primer método, puede agregar esta línea a ~/.bashrc:
export SYSTEMD_EDITOR=vim
Y luego sudo visudoy agregue esta línea:
Defaults env_keep += "SYSTEMD_EDITOR"
Inicie una nueva sesión de bash para que surta efecto, luego ejecútelo sudo systemctl edit <foo>como de costumbre.
El segundo método es el uso update-alternatives:
Instale su deseado editor, por ejemplo vim.gtk3:
$ cual editor
editor es / usr / bin / editor
$ sudo update-alternative --install "$ (que editor)" editor "$ (que vim.gtk3)" 15
Luego elija su deseado 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
El tercer método es establecer directamente el EDITORtiempo de ejecución:
sudo EDITOR=vim systemctl edit <foo>
La precedencia es primer método> tercer método> segundo método .
No intente configurar el editor "GUI" como geditporque ¿Por qué no gksu / gksudo o iniciar una aplicación gráfica con sudo funciona con Wayland? y
Gedit usa el 100% de la CPU mientras edita archivos
sudo -E ...después de haber modificado/root/.bashrc.sudo -i ...Sin embargo, no había pensado en ejecutar sudo como shell de inicio de sesión ( ). Ninguno de los dos es muy satisfactorio, ya que necesita recordar las banderas correspondientes, pero bueno ... supongo que hay cosas peores ... Aún así (tal vez sea de interés), confirmo que para algunos de nosotros:SYSTEMD_EDITOR=/usr/bin/vim; export SYSTEMD_EDITOR(como root) es Correcto. La ruta depende de cómoviminstaló su paquete en primer lugar. Además, como definí PATH para root,vimes suficiente. No hay una sola forma de hacerlo. Gracias @terdon.