Emacs ignoriert x-default-terminal

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
buhtz
Beiträge: 1099
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Emacs ignoriert x-default-terminal

Beitrag von buhtz » 08.05.2021 13:29:27

Wenn ich das Kontextmenü einer txt-Datei öffne, kann ich per Untermenü "Öffnen mit" u.a. zwischen "Emacs (GUI)" und "Emacs (Terminal)" wählen.
Beim Terminal geht immer ein kleiner häßlicher xterm auf. Mein "default" Terminal ist aber der Debianterminator.

Code: Alles auswählen

$ sudo update-alternatives --config x-terminal-emulator
Es gibt 9 Auswahlmöglichkeiten für die Alternative x-terminal-emulator (welche /usr/bin/x-terminal-emulator bereitstellen).

  Auswahl      Pfad                             Priorität Status
------------------------------------------------------------
* 0            /usr/bin/terminator               50        automatischer Modus
  1            /usr/bin/koi8rxterm               20        manueller Modus
  2            /usr/bin/lxterm                   30        manueller Modus
  3            /usr/bin/mlterm                   20        manueller Modus
  4            /usr/bin/terminator               50        manueller Modus
  5            /usr/bin/txiterm                  20        manueller Modus
  6            /usr/bin/uxterm                   20        manueller Modus
  7            /usr/bin/xfce4-terminal.wrapper   40        manueller Modus
  8            /usr/bin/xiterm+thai              20        manueller Modus
  9            /usr/bin/xterm                    20        manueller Modus

Drücken Sie die Eingabetaste, um die aktuelle Wahl[*] beizubehalten,
oder geben Sie die Auswahlnummer ein: 
Vielleicht nutzt Emacs ja einen anderen "terminal" Platzhalter

Code: Alles auswählen

 ls -l /etc/alternatives | grep terminal
lrwxrwxrwx 1 root root  19 Okt 20  2018 x-terminal-emulator -> /usr/bin/terminator*
lrwxrwxrwx 1 root root  35 Okt 20  2018 x-terminal-emulator.1.gz -> /usr/share/man/man1/terminator.1.gz
Woran liegt das also?

Vermutlich ist das der passende Eintrag im "Öffnen mit" Menü?

Code: Alles auswählen

$ cat /usr/share/applications/emacs-term.desktop
[Desktop Entry]
Version=1.0
Name=Emacs (Terminal)
GenericName=Text Editor
Comment=GNU Emacs is an extensible, customizable text editor - and more
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
TryExec=/usr/bin/emacs
Exec=/usr/bin/emacs -nw %F
Icon=emacs
Type=Application
Terminal=true
Categories=Utility;Development;TextEditor;
Keywords=Text;Editor;
Unter Exec ist deutlich zu sehen, dass hier kein Terminal explizit aufgerufen wird, sondern Debianemacs selbst (mit -nw) angewiesen wird im Nicht-GUI-Modus zu laufen.
Interpretiere ich das also richtig, dass Emacs selbst hier den systemweiten default-Terminal ignoriert?

Starte ich allerdings emacs -nw in einem laufenden Debianterminator Fenster, geht kein Debianxterm auf, sondern der emacs läuft dann im Terminator-Fenster.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Emacs ignoriert x-default-terminal

Beitrag von smutbert » 08.05.2021 14:01:25

Desktopumgebungen haben mitunter ihre eigenen Einstellungen für bevorzugte Programme (Browser, Dateimanager, Terminal, Mailclient,...).
Unter Gnome würde ich z. B. mit Debiandconf-editor nachsehen, was unter org.gnome.desktop.default-applications.terminal eingetragen ist.

buhtz
Beiträge: 1099
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: Emacs ignoriert x-default-terminal

Beitrag von buhtz » 15.05.2021 23:16:18

Also unter "Bevorzugte Anwendungen" von XFCE steht auch nur "Debians bevorzugter Terminal-Emulator". Auch wenn ich dort explizit "Terminator" auswähle, ändert sich nichts am beschriebenen Verhalten.

Die Anworten auf der Emacs Mailingliste sind bisher wenig hilfreich. Vermutlich haben bisher aber auch nur User und keine Devs geantwortet. ;)

Meinem Verständnis nach sehe ich keine andere Möglichkeit, dass emacs hier scheinbar selbstständig xterm auswählt. Was könnte das noch beeinflussen?

Es scheint auch kein weiteres Desktop Environment installiert zu sein. Im Anmeldebildschirm steht jedenfalls nur Xfce zur Auswahl.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Emacs ignoriert x-default-terminal

Beitrag von smutbert » 16.05.2021 00:14:26

Es kann auch eigentlich nur Xfce, am ehesten der Dateimanager (thunar) „schuld“ sein. Emacs selbst kann sich nicht aussuchen in welchem Terminal es gestartet wird.

In einer ähnlichen Situation habe ich als Workaround einmal in »/usr/local/bin« einen symbolischen Link namens xterm auf den gewünschten Terminalemulator angelegt.

Antworten