Fedora 14 domyślnie używa vi, gdy uruchamia się visudo. Czy istnieje sposób, aby zmienić to na coś innego?
28
Dodanie Defaults editor=/path/to/editor
pliku sudoers spowoduje, że visudo użyje określonego edytora do zmian.
Dodatkowo, jeśli twój pakiet sudo został zbudowany za pomocą --with-env-editor, tak jak jest to domyślne w niektórych dystrybucjach Linuksa, możesz również ustawić zmienną środowiskową EDITOR, wykonując export EDITOR=/path/to/editor
. Wykonane w wierszu poleceń, zostanie cofnięte, gdy tylko sesja powłoki zostanie zakończona, ustawienie zmiennej w profilu ~ / .bashrc lub / etc / spowoduje, że zmiana zostanie utrzymana.
visudo
honoruje się$VISUAL
i$EDITOR
?--with-env-editor
, ostatnio tutaj oznacza to w pamięci Internetu. Dodatkowo jakiś pakiet sudo zmienił już jakiś czas domyślny, tak aby używać vi jako domyślnego edytora, co moim zdaniem zbiegło się ze zmianą zachowania w zakresie akceptacji zmiennych środowiskowych. Nie mam jasnego harmonogramu tego, w jaki sposób, kiedy lub czy te wydarzenia odnoszą się obecnie do siebie.Następujące
alternatives
(pierwotnie tylko Debian i jego forks, ale teraz większość głównych dystrybucji, IIUC).ma tę zaletę, że
sudoers
najpierw edytować w domyślnym edytorzesudo
ma nie został zbudowany z--with-env-editor
Z wiersza poleceń:
sudo update-alternatives --config editor
sudo visudo
powinien teraz otworzyć wybrany edytor.źródło
Normalny program uniksowy, który chce wywołać edytor, uruchomi program, którego nazwa znajduje się w zmiennej środowiskowej
EDITOR
lubVISUAL
, a jeśli zmienna nie jest ustawiona, domyślna zależna od systemu. Wiele programów, ale nie wszystkie, sprawdzają zarówno, jakEDITOR
iVISUAL
; rozróżnienie jest dawno przestarzałe (po uruchomieniuEDITOR
na teletype iVISUAL
na „szklanym” terminalu…), więc powinieneś ustawić obie te same wartości. Istnieje pewna różnica zdań co do tego, czy zawartość zmiennej powinna być pełną ścieżką do pliku wykonywalnego, szukanej nazwy pliku wykonywalnego$PATH
lub fragmentu powłoki, więc powinieneś trzymać się ścieżki do pliku wykonywalnego nie zawierającego metaznaku powłoki. Domyślne ustawienie systemowe, gdy żadna zmienna nie jest ustawiona, jest tradycyjnievi
, choć niektóre dystrybucje zmieniły to na bardziej przyjazny dla początkujących edytor, taki jaknano
.visudo
sprawdza obaVISUAL
iEDITOR
(można to skompilować, prawdopodobnie w celu zniechęcenia roota do używania edytora, którego bezpieczeństwu twórca dystrybucji nie ufa, ale nawet OpenBSD tego nie robi).źródło
Te kroki pozwalają mi ustawić edytor na vi dla visudo na Ubuntu 12.04, prawdopodobnie działają one w większości dystrybucji:
Polecenie wydania:
Spowoduje to otwarcie pliku sudoers w nano. U góry zobaczysz tę linię:
Dodaj następujący wiersz poniżej powyższego wiersza:
Zapisz plik i wyjdź. Otwórz ponownie visudo jako domyślny użytkownik:
Plik sudoers otwiera się teraz w VI.
źródło
visudo
używaEDITOR
na przykład zmiennej.źródło