[Workaround] MATE: Standard-Terminal-Wrapper von mutt
- JueShire
- Beiträge: 42
- Registriert: 15.08.2008 19:26:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Frankfurt am Main
[Workaround] MATE: Standard-Terminal-Wrapper von mutt
Hallo,
mein Problem: Aufruf von 'mutt' öffnet das Programm in 'xterm'.
Gewünschte Lösung: Aufruf von 'mutt' öffnet das Programm in 'mate-terminal(.wrapper)'.
Versuchte Lösungen:
- in MATE die Standard-Terminal-Applikation auf MATE-terminal setzen;
- mit 'update-alternatives' den Standard von 'x-terminal-emulator' auf 'mate-terminal' setzen;
- Umgebungvariable 'TERM' auf '/usr/bin/mate-terminal' setzen;
- '/usr/share/applications/mutt.desktop' auf Einstellungsmöglichkeiten checken (keine gefunden).
Leider alles erfolglos - 'mutt' wird immer noch in 'xterm' geöffnet. Hat jemand einen weiteren Lösungsvorschlag?
Gruß,
Jürgen
mein Problem: Aufruf von 'mutt' öffnet das Programm in 'xterm'.
Gewünschte Lösung: Aufruf von 'mutt' öffnet das Programm in 'mate-terminal(.wrapper)'.
Versuchte Lösungen:
- in MATE die Standard-Terminal-Applikation auf MATE-terminal setzen;
- mit 'update-alternatives' den Standard von 'x-terminal-emulator' auf 'mate-terminal' setzen;
- Umgebungvariable 'TERM' auf '/usr/bin/mate-terminal' setzen;
- '/usr/share/applications/mutt.desktop' auf Einstellungsmöglichkeiten checken (keine gefunden).
Leider alles erfolglos - 'mutt' wird immer noch in 'xterm' geöffnet. Hat jemand einen weiteren Lösungsvorschlag?
Gruß,
Jürgen
Zuletzt geändert von JueShire am 23.02.2018 12:35:40, insgesamt 1-mal geändert.
Re: MATE: Standard-Terminal-Wrapper von mutt
Meiner Meinung nach hätte einer deiner beiden ersten Ansätze Abhilfe bringen sollen. Jedenfalls obliegt es mit dem "terminal=true" in der .desktop-Datei der Desktopumgebung den passenden Terminalemulator auszuwählen.
Die einfache (und häßliche) Lösung wäre es, die /usr/share/applications/mutt.deskop (?) nach ~/.local/share/applications zu kopieren und dort den Eintrag Exec=... so anzupassen
oder vielleicht auch
(und das terminal=true zu entfernen).
Ansonsten könntest du, wenn es die Abhängigkeiten zulassen, auch einmal ausprobieren was passiert, wenn du xterm deinstallierst. Weil das nicht immer ganz unproblematisch ist, hab ich mir einmal ein xterm-dummy-Paket mit equivs gebaut, das xterm als Provides hatte und als einzigen Inhalt ein Shellskript namens /usr/local/bin/xterm (local damit es nicht mit dem richtigen xterm kollidieren kann, auch wenn es nicht schön ist), das lediglich x-terminal-emulator aufgerufen hat.
Die einfache (und häßliche) Lösung wäre es, die /usr/share/applications/mutt.deskop (?) nach ~/.local/share/applications zu kopieren und dort den Eintrag Exec=... so anzupassen
Code: Alles auswählen
Exec=mate-terminal -e mutt
Code: Alles auswählen
Exec=x-terminal-emulator -e mutt
Ansonsten könntest du, wenn es die Abhängigkeiten zulassen, auch einmal ausprobieren was passiert, wenn du xterm deinstallierst. Weil das nicht immer ganz unproblematisch ist, hab ich mir einmal ein xterm-dummy-Paket mit equivs gebaut, das xterm als Provides hatte und als einzigen Inhalt ein Shellskript namens /usr/local/bin/xterm (local damit es nicht mit dem richtigen xterm kollidieren kann, auch wenn es nicht schön ist), das lediglich x-terminal-emulator aufgerufen hat.
- JueShire
- Beiträge: 42
- Registriert: 15.08.2008 19:26:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Frankfurt am Main
Re: MATE: Standard-Terminal-Wrapper von mutt
Beginnend hatte ich kein xterm installiert, sondern nur mate-terminal. Der Effekt war, dass mutt gar nicht startete, weil es kein Terminal fand.Ansonsten könntest du, wenn es die Abhängigkeiten zulassen, auch einmal ausprobieren was passiert, wenn du xterm deinstallierst
Ich bin nun aber einen Schritt weiter. Nachdem ich die Umgebungsvariable händisch auf TERM=/usr/bin/mate-terminal gesetzt habe, bekomme ich für einen minimalen Augenblick folgendes eingeblendet:
Code: Alles auswählen
E558: Terminal not found in terminfo
'/usr/bin/mate-terminal' not known. Available builtin terminals are:
Die man-page von terminfo ist aber so lang, dass ich mir das für ein Wochenende aufsparen muss...
Bisweilen setze ich TERM auf xterm zurück, und manipuliere xterm über .Xresources.
Re: MATE: Standard-Terminal-Wrapper von mutt
$TERM und terminfo dienen ja afaik dazu, dass Programme erkennen (können) auf was für einer Art Terminal sie laufen, also welche Fähigkeiten das Terminal besitzt. Bei gnome-terminal ist der Wert auf xterm-256color gesetzt und ich vermute sehr stark, dass Werte wie xterm oder xterm-256color auch für mate-terminal nicht verkehrt sind, das hat aber nichts mit der Auswahl des Terminalemulators zu tun, die ja schon längst stattgefunden haben muss, wenn ein Programm, das im Terminal läuft terminfo verwendet oder direkt $TERM auswerten will.
Ich vermute du hast nur erreicht, dass mutt/terminfo nicht erkennt auf was für einem terminal es läuft und daher die Fehlermeldung von terminfo erhalten.
Ich muss mir zum Testen erst einen zweiten Terminalemulator installieren…
Ich vermute du hast nur erreicht, dass mutt/terminfo nicht erkennt auf was für einem terminal es läuft und daher die Fehlermeldung von terminfo erhalten.
Ich muss mir zum Testen erst einen zweiten Terminalemulator installieren…
Re: MATE: Standard-Terminal-Wrapper von mutt
Als schnelle (dirty) Lösung könntest Du in /usr/bin xterm auskommentieren und einen Link von mate-terminal auf xterm setzen.
Eigentlich kann man aber xterm entfernen, wenn ein weiteres terminal installiert ist.
Vielleicht hat @smutbert aber noch eine "ordentliche" Lösung.
Eigentlich kann man aber xterm entfernen, wenn ein weiteres terminal installiert ist.
Vielleicht hat @smutbert aber noch eine "ordentliche" Lösung.
- JueShire
- Beiträge: 42
- Registriert: 15.08.2008 19:26:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Frankfurt am Main
Re: MATE: Standard-Terminal-Wrapper von mutt
Danke für die bisherigen Hinweise. Eine quick-and-dirty-Lösung brauche ich nicht, da ich muttt bis auf weiteres im xterm nutze.
Aber mich interessiert die Ursache, und MATE scheint irgendein Problem mit den Umgebungsvariablen zu haben, denn ein ergibt immer und zwar völlig egal, wie ich die Umgebungsvariablen zu setzen versuche - ich habe es über .bash_profile, .profile, .xsessionrc und sogar über /etc/environment versucht.
Kann mir irgendjemand sagen, welche Einstellungen MATE beim Start (über lightdm) liest resp. wo ich diese Informationen finde?
Aber mich interessiert die Ursache, und MATE scheint irgendein Problem mit den Umgebungsvariablen zu haben, denn ein
Code: Alles auswählen
echo $TERM
Code: Alles auswählen
xterm
Kann mir irgendjemand sagen, welche Einstellungen MATE beim Start (über lightdm) liest resp. wo ich diese Informationen finde?
Re: MATE: Standard-Terminal-Wrapper von mutt
xterm ist für mate-terminal (und viele andere) ja auch ein komplett richtiger Wert!
Ich meine es schon geschrieben zu haben, aber vielleicht habe ich mich ungeschickt ausgedrückt: $TERM wird normalerweise überhaupt erst vom Terminalemulator gesetzt, damit die shell und Anwendungen, die im Terminal laufen bzw. gestartet werden überhaupt etwas über die Eigenschaften und Fähigkeiten des Terminals in Erfahrung bringen können.
Bei der Auswahl des zu startenden Terminals hat $TERM seine Finger bestimmt nicht im Spiel.
Ich hab diesen Thread in der Zwischenzeit allerdings komplett vergessen... ich werde versuchen das mit mate-terminal heute noch bei mir auszuprobieren.
Ich meine es schon geschrieben zu haben, aber vielleicht habe ich mich ungeschickt ausgedrückt: $TERM wird normalerweise überhaupt erst vom Terminalemulator gesetzt, damit die shell und Anwendungen, die im Terminal laufen bzw. gestartet werden überhaupt etwas über die Eigenschaften und Fähigkeiten des Terminals in Erfahrung bringen können.
Bei der Auswahl des zu startenden Terminals hat $TERM seine Finger bestimmt nicht im Spiel.
Ich hab diesen Thread in der Zwischenzeit allerdings komplett vergessen... ich werde versuchen das mit mate-terminal heute noch bei mir auszuprobieren.
Re: MATE: Standard-Terminal-Wrapper von mutt
So jetzt habe ich es auch ausprobiert:
Tatsächlich kann man einstellen was man will, es ändert sich nichts. Bei mir wird hartnäckig gnome-terminal statt mate-terminal gestartet und ich habe Hinweise gefunden, dass sich mate schon mindestens seit gut 5 Jahren so verhält: https://forums.linuxmint.com/viewtopic.php?t=113734
Lösungsvorschläge gibt es viele im Netz, aber keine ordentlichen. Nur Workarounds, die entweder darin bestehen alle Terminalemulatoren bis auf den, den man nutzen will, zu deinstallieren und/oder einen symbolischen Link namens xterm auf das gewünschte Terminal zu erstellen oder die .desktop-Datei (von mutt) anzupassen.
Mein bevorzugter Workaround bestünde in
allerdings habe ich vergessen zu testen ob das unter Mate auch so funktioniert.
Tatsächlich kann man einstellen was man will, es ändert sich nichts. Bei mir wird hartnäckig gnome-terminal statt mate-terminal gestartet und ich habe Hinweise gefunden, dass sich mate schon mindestens seit gut 5 Jahren so verhält: https://forums.linuxmint.com/viewtopic.php?t=113734
Lösungsvorschläge gibt es viele im Netz, aber keine ordentlichen. Nur Workarounds, die entweder darin bestehen alle Terminalemulatoren bis auf den, den man nutzen will, zu deinstallieren und/oder einen symbolischen Link namens xterm auf das gewünschte Terminal zu erstellen oder die .desktop-Datei (von mutt) anzupassen.
Mein bevorzugter Workaround bestünde in
Code: Alles auswählen
# ln -s /etc/alternatives/x-terminal-emulator /usr/local/bin/xterm
- JueShire
- Beiträge: 42
- Registriert: 15.08.2008 19:26:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Frankfurt am Main
Re: MATE: Standard-Terminal-Wrapper von mutt
Danke für die Tests und Recherche.
Als einfacher Workaround, der keine Effekte auf andere Anwendungen hat, hat sich eine Anpassung von und gesetzt wird.
Als einfacher Workaround, der keine Effekte auf andere Anwendungen hat, hat sich eine Anpassung von
erwiesen, in dem dort/usr/share/applications/mutt.desktop
Code: Alles auswählen
Exec=mate-terminal -e mutt
Code: Alles auswählen
Terminal=false
Re: [Workaround] MATE: Standard-Terminal-Wrapper von mutt
Ich bin mir zwar nicht ganz sicher, aber es kann sein, daß beim nächsten update von mutt deine Einstellungen verschwunden sind. Ich habe meine diesbezüglichen Einstellungen unter ~.local/share/applications/exo-mail-reader.desktop festgelegt*. Die Datei in /usr/share/applications/ lösche ich nach jedem mutt-update.
* hat geschrieben:[Desktop Entry]
Hidden=false
Exec=/usr/bin/urxvt -geometry 110x55 -e mutt -f ~/Mail/mail/
Icon=mutt
Name[de_DE]=Mutt
Type=Application
NoDisplay=false
Version=1.0
StartupNotify=false
Comment=E-Mail-Programm
Categories=Network;X-XFCE;X-Xfce-Toplevel;
Terminal=false
Name=Mutt
Icon[de_DE]=mutt
Comment[de_DE]=E-Mail-Programm
Re: [Workaround] MATE: Standard-Terminal-Wrapper von mutt
So ähnlich hätte ich diesen Workaround auch vorgeschlagen:
Wenn du die Anpassung in einer Kopie der Datei in »~/.local/share/applications/mutt.desktop« ignoriert das DE für diesen Benutzer die systemweite Datei »/usr/share/applications/mutt.desktop« – bei Updates musst du also nichts unternehmen, um deine Änderungen beizubehalten.
Wenn du die Anpassung in einer Kopie der Datei in »~/.local/share/applications/mutt.desktop« ignoriert das DE für diesen Benutzer die systemweite Datei »/usr/share/applications/mutt.desktop« – bei Updates musst du also nichts unternehmen, um deine Änderungen beizubehalten.