Wie stelle ich visudo so ein, dass ein anderer Editor als der Standard unter Fedora verwendet wird?

28

Fedora 14 verwendet standardmäßig vi, wenn visudo ausgeführt wird. Gibt es eine Möglichkeit, dies in etwas anderes zu ändern?

Tshepang
quelle

Antworten:

44

Das Hinzufügen Defaults editor=/path/to/editorin die sudoers-Datei bewirkt, dass visudo den angegebenen Editor für Änderungen verwendet.

Wenn Ihr sudo-Paket mit --with-env-editor erstellt wurde, wie dies bei einigen Linux-Distributionen der Fall ist, können Sie die Umgebungsvariable EDITOR auch durch Ausführen von festlegen export EDITOR=/path/to/editor. Wird dies in der Befehlszeile ausgeführt, wird es zurückgesetzt, sobald diese Shell-Sitzung beendet wird. Wenn Sie die Variable in einem ~ / .bashrc- oder / etc / -Profil festlegen, bleibt die Änderung bestehen.

Tok
quelle
Könnten Sie bitte die Befehle angeben, die Sie ausgeführt haben?
Tok
@Tshepang - Sie können auch den Standardeditor = / usr / bin / nano in der sudoers-Datei festlegen, um einen Editor anzugeben. An dieser Stelle gehe ich davon aus, dass Sie Nano wie in Ihrem vorherigen Kommentar angegeben verwenden möchten.
Tok
@Tshepang - Ja, dies ist jedoch wahrscheinlich ein Produkt, das das Paket mit --with-env-editor erstellt hat.
Tok
1
@Tok: Auf welchem ​​System visudoehrt $VISUALund nicht $EDITOR?
Gilles 'SO- hör auf böse zu sein'
3
@Gilles - basierend auf meiner Lektüre Ubuntu hat kürzlich die Build-Parameter seines sudo-Pakets so geändert, dass sie nicht mehr enthalten sind --with-env-editor, was in letzter Zeit hier im Gedächtnis des Internets bedeutet. Außerdem hat das sudo-Paket vor einiger Zeit seine Standardeinstellung geändert, um vi als Standardeditor zu verwenden, was meines Erachtens mit einer Änderung des Verhaltens in Bezug auf die Akzeptanz von Umgebungsvariablen zusammenfiel. Ich habe keine klare Zeitleiste, wie, wann oder ob diese Ereignisse zu diesem Zeitpunkt in Beziehung zueinander stehen.
Tok
11

Folgende

  • Funktioniert für Distributionen, die dies verwenden alternatives(ursprünglich nur Debian und seine Forks, aber jetzt die meisten wichtigen Distributionen, IIUC).
  • hat den Vorteil, dass

    1. Sie müssen nicht sudoerserst mit dem Standardeditor bearbeiten
    2. Es funktioniert sogar , wenn die Verpackung = sudohat nicht gebaut worden , mit--with-env-editor

Von einer Kommandozeile:

  1. Lauf sudo update-alternatives --config editor
  2. Wählen Sie den gewünschten Editor aus dem Menü (Textmodus). Wenn Sie den gewünschten Editor nicht sehen, müssen Sie ihn wahrscheinlich installieren. Abbrechen, machen Sie das und wiederholen.

sudo visudo sollte jetzt den Editor Ihrer Wahl öffnen.

TomRoche
quelle
7

Ein normales Unix-Programm, das einen Editor aufrufen möchte, führt das Programm aus, dessen Name sich in der Umgebungsvariablen EDITORoder befindet. VISUALWenn die Variable nicht festgelegt ist, ist dies eine systemabhängige Standardeinstellung. Viele, aber nicht alle Programme prüfen beides EDITORund VISUAL; Die Unterscheidung ist längst überholt (wenn Sie einmal EDITORmit einem Fernschreiber und VISUALeinem „Glas“ -Terminal gearbeitet haben…), daher sollten Sie beide auf den gleichen Wert einstellen. Es gibt einige Meinungsverschiedenheiten darüber, ob der Inhalt der Variablen der vollständige Pfad zu einer ausführbaren Datei, ein nachgeschlagener Name für eine ausführbare Datei $PATHoder ein Shell-Snippet sein soll. Daher sollten Sie sich an einen Pfad zu einer ausführbaren Datei halten, die kein Shell-Metazeichen enthält. Die Standardeinstellung des Systems, wenn keine Variable festgelegt ist, ist traditionellvi, obwohl einige Distributionen dies zu einem neueren, freundlicheren Editor geändert haben, wie z nano.

visudoprüft beides VISUALund EDITOR(dies kann kompiliert werden, vermutlich, um root davon abzuhalten, einen Editor zu verwenden, dessen Sicherheit der Distributionshersteller nicht vertraut, aber selbst OpenBSD tut dies nicht).

Gilles 'SO - hör auf böse zu sein'
quelle
3

Mit diesen Schritten kann ich den Editor unter Ubuntu 12.04 auf vi für visudo einstellen. Sie funktionieren wahrscheinlich für die meisten Distributionen:

Befehl ausgeben:

sudo visudo

Dies öffnet die sudoers-Datei in nano. In der Nähe der Spitze sehen Sie diese Linie:

Defaults    env_reset

Fügen Sie die folgende Zeile unter der obigen Zeile hinzu:

Defaults    editor=/usr/bin/vi

Speichern Sie die Datei und beenden Sie sie. Öffnen Sie visudo erneut als Standardbenutzer:

sudo visudo

Die sudoers-Datei wird jetzt in VI geöffnet.

Eric Leschinski
quelle
2

visudoverwendet EDITORzum Beispiel die Variable.

sudo EDITOR=/path/to/editor visudo
Bhavin
quelle