Funktioniert nicht: update-alternatives --config editor

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
ellocco
Beiträge: 24
Registriert: 10.01.2025 14:05:15

Funktioniert nicht: update-alternatives --config editor

Beitrag von ellocco » 29.01.2025 11:57:31

Der Befehl

Code: Alles auswählen

update-alternatives --config editor
hat bei mir keine spürbare Auswirkung, obwohl nano ausgewählt ist, geht der vi/vim auf.
Gibt es in den neueren Debian Versionen (ich benutze v12 / bookworm) eine Änderung, wie der Standard-Editor gesetzt wird?
Auch Folgendes bringt keine Änderung:

Code: Alles auswählen

sudo update-alternatives --set editor /usr/bin/nano
Der Befehl:

Code: Alles auswählen

update-alternatives --get-selections
liefert:

Code: Alles auswählen

animate                        auto     /usr/bin/animate-im6.q16
[...]
ebtables                       auto     /usr/sbin/ebtables-nft
editor                         auto     /bin/nano
ex                             auto     /usr/bin/vim.tiny
[...]
Aber vielleicht erklärt folgende Information warum es schief geht:

Code: Alles auswählen

sudo update-alternatives --display editor
editor - automatischer Modus
  beste Version des Links ist /bin/nano
  Link verweist zur Zeit auf /bin/nano
  Link editor ist /usr/bin/editor
  Slave editor.1.gz ist /usr/share/man/man1/editor.1.gz
  Slave editor.da.1.gz ist /usr/share/man/da/man1/editor.1.gz
  Slave editor.de.1.gz ist /usr/share/man/de/man1/editor.1.gz
  [...]
 /bin/nano - Priorität 40
  Slave editor.1.gz: /usr/share/man/man1/nano.1.gz
/usr/bin/vim.tiny - Priorität 15
  Slave editor.1.gz: /usr/share/man/man1/vim.1.gz
  Slave editor.da.1.gz: /usr/share/man/da/man1/vim.1.gz
  Slave editor.de.1.gz: /usr/share/man/de/man1/vim.1.gz
  [...]

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von tobo » 29.01.2025 12:39:15

ellocco hat geschrieben: ↑ zum Beitrag ↑
29.01.2025 11:57:31
Aber vielleicht erklärt folgende Information warum es schief geht:
Nö, für nano stimmt das so. Gesetzt wird die Einstellung über `update-alternatives --config editor'.

Was bedeutet denn eigentlich "geht vim auf" - unter welchen Umständen, in welcher Umgebung (wie/warum, wo) passiert das? Wie sind bei dir die Umgebungsvariablen EDITOR und VISUAL gesetzt?

Benutzeravatar
ellocco
Beiträge: 24
Registriert: 10.01.2025 14:05:15

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von ellocco » 29.01.2025 13:08:40

Danke für die Rückfrage! - Die beiden Variablen sind nicht gesetzt.
Wenn ich im CLI Folgendes eingebe, lande ich im vim.tiny:

Code: Alles auswählen

edit bla.txt
Hier das, was ich sehe:

Code: Alles auswählen

~# update-alternatives --config editor
Es gibt 3 Auswahlmöglichkeiten für die Alternative editor (welche /usr/bin/editor bereitstellen).
  Auswahl      Pfad               Priorität Status
------------------------------------------------------------
* 0            /usr/bin/nano       100       automatischer Modus
  1            /bin/nano           40        manueller Modus
  2            /usr/bin/nano       100       manueller Modus
  3            /usr/bin/vim.tiny   15        manueller Modus

Benutzeravatar
MSfree
Beiträge: 11901
Registriert: 25.09.2007 19:59:30

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von MSfree » 29.01.2025 13:39:05

ellocco hat geschrieben: ↑ zum Beitrag ↑
29.01.2025 13:08:40
Wenn ich im CLI Folgendes eingebe, lande ich im vim.tiny:
Dann gib mal

Code: Alles auswählen

ls -l `which edit`
ein und zeige, was da raus kommt.

Noch etwas:
Es muß heißen:

Code: Alles auswählen

editor irgendnedatei.txt

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von tobo » 29.01.2025 14:06:52

ellocco hat geschrieben: ↑ zum Beitrag ↑
29.01.2025 13:08:40
Wenn ich im CLI Folgendes eingebe, lande ich im vim.tiny:

Code: Alles auswählen

edit bla.txt
edit zeigt bei mir auf run-mailcap.

Code: Alles auswählen

$ ls -l `which edit`
lrwxrwxrwx 1 root root 11 2021-11-29 14:07 /usr/bin/edit -> run-mailcap
$
Das wird global konfiguriert (edit, compose, view...) in /etc/mailcap. Dort kannst du generell schauen was alles geht und für dich als Benutzer edit->nano setzen durch die lokale Einstellung in ~/.mailcap:

Code: Alles auswählen

echo 'text/plain; nano %s; edit=nano %s; compose=nano %s; test=test -x /usr/bin/nano; needsterminal' >>~/.mailcap
Das sollte eigentlich tun...

Benutzeravatar
MSfree
Beiträge: 11901
Registriert: 25.09.2007 19:59:30

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von MSfree » 29.01.2025 15:01:20

tobo hat geschrieben: ↑ zum Beitrag ↑
29.01.2025 14:06:52
...
Das sollte eigentlich tun...
Richtig. Es wurde hier aber davon ausgegangen, daß die alternatives den Editor konfigurieren, Man muß den dann aber auch mit editor aufrufen und nicht mit edit, weil edit eben etwas anderes ist und tut.

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von tobo » 29.01.2025 16:45:43

MSfree hat geschrieben: ↑ zum Beitrag ↑
29.01.2025 15:01:20
tobo hat geschrieben: ↑ zum Beitrag ↑
29.01.2025 14:06:52
...
Das sollte eigentlich tun...
Richtig. Es wurde hier aber davon ausgegangen, daß die alternatives den Editor konfigurieren, Man muß den dann aber auch mit editor aufrufen und nicht mit edit, weil edit eben etwas anderes ist und tut.
Kommt auf das an, wovon man ausgeht. Ich denke, dass ellocco will, das `edit bla.txt' die Datei unter nano aufruft und er dachte, dass er das mit update-alternatives konfigurieren kann. Das macht zumindest auch dahingehend Sinn, denn wenn ellocco wüsste, wie er es konfiguriert, dann müsste er auch nicht hier nachfragen!? Außerdem hab ich ja deswegen explizit nachgehakt. Aber, who knows...

Benutzeravatar
ellocco
Beiträge: 24
Registriert: 10.01.2025 14:05:15

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von ellocco » 29.01.2025 16:57:09

Hier ein paar ls -l befehle und Ihre Antworten:

Code: Alles auswählen

~$: which edit
/usr/bin/edit
~$: ls -l `which edit`
lrwxrwxrwx 1 root root 11 29. Nov 2021  /usr/bin/edit -> run-mailcap
~$: ls -l /usr/bin/edit
lrwxrwxrwx 1 root root 11 29. Nov 2021  /usr/bin/edit -> run-mailcap
~$: ls -l /usr/bin/run-mailcap
-rwxr-xr-x 1 root root 18491 29. Nov 2021  /usr/bin/run-mailcap
Ja, das ist richtig schräg: /usr/bin/edit zeigt in den Wald.
Auch der Befehl: sudo update-alternatives --set editor /usr/bin/nano
ändert daran nichts ...

Ok, ich habe meinen Typo begriffen, vielen Dank! :-)
Wenn ich den Befehl editor aufrufen passt es auch.
Und wo wird dann der Befehl edit konfiguriert?

Code: Alles auswählen

~$: ls -l /usr/bin/edit
lrwxrwxrwx 1 root root 11 29. Nov 2021  /usr/bin/edit -> run-mailcap
Zuletzt geändert von ellocco am 29.01.2025 17:17:59, insgesamt 2-mal geändert.

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von tobo » 29.01.2025 17:06:06

ellocco hat geschrieben: ↑ zum Beitrag ↑
29.01.2025 16:57:09
Hier ein paar ls -l befehle und Ihre Antworten:

Code: Alles auswählen

~$: which edit
/usr/bin/edit
~$: ls -l `which edit`
lrwxrwxrwx 1 root root 11 29. Nov 2021  /usr/bin/edit -> run-mailcap
~$: ls -l /usr/bin/edit
lrwxrwxrwx 1 root root 11 29. Nov 2021  /usr/bin/edit -> run-mailcap
~$: ls -l /usr/bin/run-mailcap
-rwxr-xr-x 1 root root 18491 29. Nov 2021  /usr/bin/run-mailcap
Ja, das ist richtig schräg: /usr/bin/edit zeigt in den Wald.
Auch der Befehl: sudo update-alternatives --set editor /usr/bin/nano
ändert daran nichts ...
Wieso zeigt das in den Wald - das ist genauso wie es sein soll! Was du machen kannst, steht oben...

Benutzeravatar
thunder11
Beiträge: 2502
Registriert: 19.04.2023 09:08:30

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von thunder11 » 29.01.2025 17:11:41

Besser (erklärender) wäre wohl gewesen:

Code: Alles auswählen

s -l /bin/|grep run-mailcap
lrwxrwxrwx 1 root    root           11 12. Nov 00:56 compose -> run-mailcap
lrwxrwxrwx 1 root    root           11 12. Nov 00:56 edit -> run-mailcap
lrwxrwxrwx 1 root    root           11 12. Nov 00:56 print -> run-mailcap
-rwxr-xr-x 1 root    root        19013 12. Nov 00:56 run-mailcap
lrwxrwxrwx 1 root    root           11 12. Nov 00:56 see -> run-mailcap
und: apt info mailcap sagt:
Debians mailcap-System und Unterstützungsprogramme
Das mailcap-System ordnet Medientypen mithilfe von System- und
Benutzerkonfigurationsdateien Programmen zu, die sie verarbeiten können.
Der Medientyp einer Datei wird durch ihre Erweiterung oder durch Ausführen
des Befehls »file(1)« bestimmt, falls verfügbar.
.
Andere Pakete registrieren ihre Programme als
Viewer/Editoren/Composer/usw., indem sie Dateien mit mailcap-Einträgen
oder FreeDesktop-Menüeinträgen in vorgegebenen Verzeichnissen ablegen,
die von den dpkg-Triggern dieses Pakets überwacht werden.
.
Dieses Paket enthält das Programm »run-mailcap« zum Öffnen beliebiger
Dateien sowie die Aliase »see«, »edit«, »compose« und »print« zum
Anzeigen, Ändern, Erstellen und Drucken (jeweils).

Benutzeravatar
ellocco
Beiträge: 24
Registriert: 10.01.2025 14:05:15

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von ellocco » 29.01.2025 17:19:37

@thunder11
Danke für die Erklärung.
D.h. den Befehl edit am besten so lassen wie er ist.

tobo
Beiträge: 2523
Registriert: 10.12.2008 10:51:41

Re: Funktioniert nicht: update-alternatives --config editor

Beitrag von tobo » 29.01.2025 18:38:43

ellocco hat geschrieben: ↑ zum Beitrag ↑
29.01.2025 17:19:37
@thunder11
Danke für die Erklärung.
D.h. den Befehl edit am besten so lassen wie er ist.
Nein, deshalb wurden Konfigurationsdateien erfunden. Wiederholung wird hier ja nicht so gern gesehen, aber bei dir ist das offensichtlich notwendig:
tobo hat geschrieben: ↑ zum Beitrag ↑
29.01.2025 14:06:52
Das wird global konfiguriert (edit, compose, view...) in /etc/mailcap. Dort kannst du generell schauen was alles geht und für dich als Benutzer edit->nano setzen durch die lokale Einstellung in ~/.mailcap:

Code: Alles auswählen

echo 'text/plain; nano %s; edit=nano %s; compose=nano %s; test=test -x /usr/bin/nano; needsterminal' >>~/.mailcap
Den Text in der Code-Box copy&pastest du (komplett) in dein Terminal (als normaler Benutzer) und fortan hast du nano als edit-Anwendung.

Antworten