Zmiana domyślnego edytora crontab

138

Próbuję zmienić domyślny edytor z nanona vim.

Uruchomiłem następujące polecenia:

sudo update-alternatives --config editor

i

update-alternatives --config editor

Oba teraz generują:

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Zrestartowałem moją sesję ssh i zrestartowałem sshd, ale crontab -e wciąż otwiera się w nano

Co jeszcze muszę zrobić?

austinbv
źródło
1
Nie wydaje mi się, żeby którakolwiek z tych odpowiedzi faktycznie dotyczyła pytania, prawda?
geotheory
Oto obszerniejsza odpowiedź: askubuntu.com/questions/977538/…
SDsolar

Odpowiedzi:

121

Spróbuj sesji ssh, a następnie

export EDITOR=vim

lub ewentualnie

export EDITOR=/usr/bin/vim.basic

Format ustawienia zmiennej EDITOR zależy od używanej powłoki.

W Ubuntu możesz ustawić zmienną środowiskową EDITOR podczas logowania, dodając powyższe do ~/.profile

Sesja SSH odczyta podobny plik (jeśli istnieje) na zdalnym hoście o nazwie ~/.ssh/environment. Musi to zostać szczegółowo zdefiniowane w konfiguracji demona ssh. Zobacz man sshd_configi wyszukaj PermitUserEnvironmentwięcej szczegółów.

fossfreedom
źródło
1
Działa to również w CentOS
machineaddict
Jakiś powód, dla którego nie chcesz tutaj używać .bashrc? wydaje się działać dla mnie, czy jest .profile lepszy?
Nate
3
Odpowiedź redaktora poniżej jest lepszą odpowiedzią
mcarans
213

Wystarczy uruchomić select-editor, pozwoli to wybrać dowolny edytor, który chcesz.

Mostafa Shahverdy
źródło
9
Myślę, że lepsza odpowiedź niż wybrana. Nie muszę zmieniać mojego profilu bash, aby ustawić edytor. Zweryfikowano po wylogowaniu i ponownym zalogowaniu.
Paul Carlton,
4
Powinna być zaakceptowana odpowiedź. Dzięki Mostafa!
DylanYoung
3
Zdecydowanie powinna być zaakceptowana odpowiedź! To bardzo pomogło! : D
Fadi
3
To była jedyna odpowiedź, która zadziałała dla mnie
cjohansson
3
Najlepsza odpowiedź. ...
Jesteśmy Borg
26

Moje osobiste preferencje ...

cd /bin
mv nano nano_must_die
ln -s /usr/bin/vim nano
Dave
źródło
Uwielbiam to, działało mi wystarczająco dobrze po aktualizacji - alternatywy nie działały.
Cole Busby
5
Nie wiedziałbym, co jest nie tak z nano dla administratorów, którzy nie widzą wartości w uczeniu się komend vi tylko po to, aby poprawić niektóre pliki konfiguracyjne.
Maks.
1
Chyba rób co chcesz na swojej osobistej maszynie. Ale na maszynie udostępnianej komukolwiek innemu, ta sugestia zasadniczo wyłącza nano dla wszystkich użytkowników w taki sposób, że kiedy użytkownik konkretnie poprosi o nano, otrzymuje vim. Jaki jest tego sens? Gdyby chcieli Vima, poprosiliby o to. Jeśli problem polega na tym, że system jest skonfigurowany do automatycznego wywoływania nano w pewnych okolicznościach, w których osobiście wolisz vima, to zmień konfigurację.
gwideman
13

Z „man crontab”:

   The -e option is used to edit the  current  crontab  using  the  editor
   specified  by  the  VISUAL  or EDITOR environment variables.  After you
   exit from the editor, the modified crontab will be installed  automati‐
   cally.  If  neither  of  the environment variables is defined, then the
   default editor /usr/bin/editor is used.

Być może zmienna środowiskowa EDITOR jest ustawiona na nano?

aureianimus
źródło
13

Jeśli chcesz tymczasowo wybrać edytor, możesz wykonać następujące czynności

EDITOR=nano crontab -e

Ustawia EDITORzmienną środowiskową dla polecenia

Luke Madhanga
źródło
11

Na moim komputerze Ubuntu 12.04 crontabużywa ~/.selected_editorpliku, który zawiera ścieżkę wybranego edytora. Edytuj to:

nano ~/.selected_editor

Zredagowałem go bezpośrednio lub użyłem select-editor, czyli skryptu, aby zrobić to samo. Edytuj następujący wiersz:

SELECTED_EDITOR="/usr/bin/vim.basic" 

Ludzie IHMO nie powinni zmieniać niczego w / etc lub / bin, aby to zrobić. Jest to kwestia poziomu użytkownika, a nie zadanie systemowe.

NormanD
źródło
dla gedit:SELECTED_EDITOR="/usr/bin/gedit"
xinthose
2

Miałem problemy z, select-editora update-alternativesmoim rozwiązaniem było po prostu edytowanie linku:

  1. sudo rm /etc/alternatives/editor
  2. sudo ln -s /usr/bin/vim /etc/alternatives/editor

editor teraz otwiera Vim

Dennis Bellinger
źródło
2

Miałem ten sam problem - crontab -e polega na select-editor, visudo opiera się na konfiguracji „alternatyw”

Moje rozwiązanie:

uruchom oba polecenia jako root

# update-alternatives --install /usr/bin/editor editor /usr/bin/sensible-editor 50

# select-editor 

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/sensible-editor
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny

Choose 1-4 [1]: 3
juliański
źródło
Jako root? Lepsze wykorzystanie sudo(zobacz na przykład, jakie są zalety sudo nad su
Marc Vanhoomissen