Ändern des Standard-Crontab-Editors

139

Ich versuche, den Standardeditor von nanoauf zu ändern vim.

Ich habe die folgenden Befehle ausgeführt:

sudo update-alternatives --config editor

und

update-alternatives --config editor

Beide geben nun aus:

  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

Ich habe meine ssh-Sitzung neu gestartet und sshd neu gestartet, aber crontab -e wird immer noch in nano geöffnet

Was muss ich sonst noch tun?

austinbv
quelle
1
Ich glaube nicht, dass eine dieser Antworten tatsächlich die Frage beantwortet, oder?
Geotheorie
Hier ist eine ausführlichere Antwort: askubuntu.com/questions/977538/…
SDsolar

Antworten:

121

Versuchen Sie Ihre SSH-Sitzung, gefolgt von

export EDITOR=vim

oder möglicherweise

export EDITOR=/usr/bin/vim.basic

Das Format der Einstellung der EDITOR-Variablen hängt davon ab, welche Shell Sie verwenden.

In Ubuntu können Sie die Umgebungsvariable EDITOR bei der Anmeldung festlegen, indem Sie die oben genannten Elemente zu den hinzufügen ~/.profile

Ihre SSH-Sitzung liest eine ähnliche Datei (falls vorhanden) auf dem aufgerufenen Remote-Host ~/.ssh/environment. Dies muss in der ssh-Daemon-Konfiguration speziell definiert werden. Sehen man sshd_configund sucht PermitUserEnvironmentfür weitere Details.

fossfreedom
quelle
1
Dies funktioniert auch in CentOS
machineaddict
Gibt es einen Grund, warum Sie .bashrc hier nicht verwenden möchten? scheint bei mir zu funktionieren, oder ist .profile besser?
Nate
3
Die Antwort von Select-Editor unten ist eine bessere Antwort
mcarans
215

Einfach ausführen select-editor, damit können Sie einen beliebigen Editor auswählen.

Mostafa Shahverdy
quelle
9
Bessere Antwort, denke ich, als was ausgewählt wurde. Sie müssen mein Bash-Profil nicht ändern, um den Editor einzustellen. Verifiziert durch Abmelden und erneutes Anmelden.
Paul Carlton
4
Sollte die akzeptierte Antwort sein. Vielen Dank, Mostafa!
DylanYoung
3
Auf jeden Fall sollte die akzeptierte Antwort gewesen sein! Das hat sehr geholfen! : D
Fadi
3
Dies war die einzige Antwort, die für mich funktioniert hat
cjohansson
3
Beste Antwort. ...
Wir sind Borg
26

Meine persönliche Präferenz ...

cd /bin
mv nano nano_must_die
ln -s /usr/bin/vim nano
Dave
quelle
Ich liebe es, habe gut genug für mich gearbeitet, nachdem Update-Alternativen nicht funktioniert haben.
Cole Busby
5
Ich würde nicht wissen, was mit Nano für Administratoren falsch ist, die keinen Wert darin sehen, vi-Befehle zu lernen, nur um einige Konfigurationsdateien zu optimieren.
Max
1
Ich denke, Sie können auf Ihrem eigenen Computer tun, was Sie wollen. Auf einem Computer, der mit anderen Benutzern geteilt wird, wird Nano durch diesen Vorschlag im Wesentlichen für alle Benutzer inaktiviert. Wenn ein Benutzer Nano speziell anfordert, erhält er stattdessen vim. Was ist der Sinn davon? Wenn sie vim wollten, würden sie danach fragen. Wenn das Problem darin besteht, dass das System so konfiguriert ist, dass es Nano unter bestimmten Umständen automatisch aufruft, wenn Sie persönlich vim bevorzugen, ändern Sie die Konfiguration.
Wideman
13

Aus "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.

Vielleicht haben Sie die Umgebungsvariable EDITOR auf nano gesetzt?

aureianimus
quelle
13

Wenn Sie den Editor nur vorübergehend auswählen möchten, können Sie Folgendes tun

EDITOR=nano crontab -e

Dadurch wird die EDITORUmgebungsvariable für den Befehl festgelegt

Luke Madhanga
quelle
11

crontabVerwendet auf meinem Ubuntu 12.04-Computer die ~/.selected_editorDatei, die den Pfad des ausgewählten Editors enthält. Bearbeite es:

nano ~/.selected_editor

Ich habe es direkt bearbeitet oder verwendet select-editor, was ein Skript ist, um dasselbe zu tun. Bearbeiten Sie die folgende Zeile:

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

IHMO-Benutzer sollten dazu nichts in / etc oder / bin ändern. Es ist eine Sache auf Benutzerebene, keine systemweite Aufgabe.

NormanD
quelle
für gedit:SELECTED_EDITOR="/usr/bin/gedit"
xinthose
2

Ich hatte Probleme mit select-editorund update-alternatives, meine Lösung bestand darin, einfach den Link zu bearbeiten:

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

editor Jetzt öffnet Vim

Dennis Bellinger
quelle
2

Ich hatte das gleiche problem - crontab -e verlässt sich auf select-editor, visudo verlässt sich auf die config von "alternatives"

Meine Lösung:

Führen Sie beide Befehle als root aus

# 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
julianisch
quelle
Als root? Bessere Verwendung sudo(siehe zum Beispiel, was sind die Vorteile von sudo gegenüber su
Marc Vanhoomissen