
Gibt es außer evilvte noch einen Terminalemulator unter Linux, der es mir (ohne Absturz) ermöglicht, für jeden Host den Cursor, den VordergrundUndHintergrundfarbeund auchSymbol (d. h. das Symbol, das angezeigt wird, wenn die laufende Anwendung minimiert ist)?
Ich nutze SSH für eine recht große Anzahl verschiedener Hosts und um leichter verfolgen zu können, bei welchem Host ich angemeldet bin, hat jeder Host ein einzigartiges Farbschema (d. h. eine einzigartige Kombination aus Hintergrund-, Vordergrund- und Cursorfarbe), das ich für sein Terminalfenster verwende. Um die instinktive Navigation zwischen diesen Terminalsitzungen zu erleichtern, passe ich außerdem die Einstellungen des Terminalemulators so an, dass das Symbol, das beim Minimieren verwendet wird (oder wenn ich auf meinem XFCE-Desktop ALT-TAB drücke), das verwendete Farbschema widerspiegelt.
(Ich habe ein Perl-Programm, das eine Terminalgrafik mit Hintergrund-, Vordergrund- und Cursorfarben generiert, die dem Farbschema entsprechen, das ich für den Host verwende. So kann ich problemlos für jeden Host, mit dem ich arbeiten soll, ein entsprechendes Symbol generieren.)
Das Problem bei diesem Ansatz ist nicht, dass er nicht funktioniert (er funktioniert tatsächlich wunderbar!), sondern dass es schwierig ist, einen ausreichend guten Terminalemulator zu finden, deralleder folgenden:
- Pro Sitzung anpassbare Symbolgrafiken (in dem Sinne, dass ich jedes beliebige Bild auf der Festplatte angeben kann).
- Pro Sitzung anpassbarer Hintergrund, VordergrundUndCursorfarbe.
- Am besten auch pro Sitzung anpassbare ANSI-Farben (einschließlich „heller“ Farben 8 bis 15), einfach weil ich, wenn die Hintergrundfarbe rot ist, das ANSI-Rot und das helle Rot so optimieren möchte, dass sie sich ein wenig von der Hintergrundfarbe unterscheiden. (Ja, ich habe ein Skript, das auch diese Optimierung automatisiert.)
Im Moment verlasse ich mich auf evilvte, da es die einzige Terminalsoftware ist, die es mir ermöglicht, sowohl das Symbol als auch alle Farben (Cursor, Vordergrund, Hintergrund, Fett, Dunkel und alle ANSI-Farben) anzupassen. Das Problem mit evilvte ist, dass ich pro Sitzung eine separate Binärdatei kompilieren muss (teilweise automatisiert und funktioniert, aber ehrlich gesagt ein ziemlich hässlicher Ansatz). Außerdem unterstützt evilvte nicht die Verringerung der Breite oder Höhe des Terminalfensters (d. h. die Verringerung der Anzahl der Spalten oder Zeilen), obwohl es Ihnen erlaubt, die Breite/Höhe zu erhöhen. Ein weiteres potenzielles Problem mit evilvte ist, dass ich einen ziemlich hässlichen Hack durchgeführt habe, um alle ANSI-Farben dafür zu optimieren, was für zukünftige evilvte-Versionen möglicherweise funktioniert oder auch nicht.
Ich habe Gnome-Terminal ausprobiert, aber ursprünglich fehlte die Möglichkeit, die Cursorfarbe anzupassen, und einmal gab es Unterstützung fürDasEs wurde beschlossen, die Möglichkeit zur individuellen Anpassung des Symbols für jede Sitzung zu entfernen.
Ich wäre für jeden Hinweis auf ein Terminal dankbar, das alle von mir benötigten Funktionen bietet, aber ohne die Kopfschmerzen, die ich bei der Verwendung von evilvte bekomme.
Bearbeiten: Matt Jenkins hat eine gute und gut geschriebene Antwort gegeben, in der er mir die Verwendung von xterm vorschlägt und einige gute Hinweise zur Verwendung gibt. Leider hat xterm einige Einschränkungen, die es für meine Anforderungen ungeeignet machen (xterm unterstützt nur monochrome schwarzweiße Symbol-Pixmaps und ist fest codiert und in ANSI-Farben kompiliert). Daher habe ich seine Antwort nicht akzeptiert (durch Anklicken des Häkchens), aber ich habe sie trotzdem um einen Punkt „erhöht“.
Antwort1
Es scheint, dass „Konsole“ Ihr Freund ist.
Nach einer umfassenden Untersuchung mehrerer Terminalprogramme habe ich Folgendes festgestellt:
konsole
unterstützt das Festlegen benutzerdefinierter Farbschemata:
konsole
unterstützt benutzerdefinierte Symbole:
konsole
unterstützt mehrere Profile – kein Scripting erforderlich. Erstellen Sie einfach für jeden Server ein neues Profil. Sie können sogar den SSH-Befehl in das Profil aufnehmen, um sich automatisch beim Server anzumelden.
Oh, und konsole
es ist auch in Registerkarten unterteilt, sodass Sie Unordnung vermeiden und Server in weniger Fenstern gruppieren können. (Vielleicht alle Ihre Webserver in einem Fenster, alle Ihre Dateiserver in einem anderen usw.).
Um das Symbol im Fenstermanager festzulegen (das ist ein separates Symbol zum „Profil“-Symbol), müssen Sie dem Konsolenbefehl das Flag --icon angeben:
$ konsole --icon /usr/share/icons/oxygen/16x16/apps/java.png
Das ergibt:
In Kombination sollte dies --profile
das gewünschte Ergebnis liefern.
Beachten Sie, dass sich dieses Fenstermanagersymbol nicht ändert, wenn Sie die Registerkarten wechseln. Es kann daher als Symbol zur Identifizierung von Registerkartengruppen verwendet werden (z. B. alle Ihre Webserver). Oder Sie verwenden die Registerkarten nicht und beschränken sich auf ein Fenster pro Server.
Antwort2
Die meisten Linux-Terminalprogramme verfügen über Befehlszeilenflags zum Festlegen des Verhaltens – selbst die grundlegendsten xterm
.
Lassen Sie uns auf einige Ihrer Anforderungen eingehen:
- Pro Sitzung anpassbare Symbolgrafiken (in dem Sinne, dass ich jedes beliebige Bild auf der Festplatte angeben kann).
Diese haben nichts mit dem Terminalprogramm zu tun. Dies sind "Verknüpfungs"-Symbole, die das Terminalprogramm starten (ich denke, das ist es, wonach Sie suchen). Sie sollten sich die.desktopDatei Format.
- Pro Sitzung anpassbare Hintergrund-, Vordergrund- und Cursorfarbe.
Sie sollten untersuchen, welche Kommandozeilenflags Ihr bevorzugtes Terminalprogramm hat. Beispielsweise hat xterm -fg
und -bg
:
$ xterm -fg gold -bg darkblue
- Am besten auch pro Sitzung anpassbare ANSI-Farben (einschließlich „heller“ Farben 8 bis 15), einfach weil ich, wenn die Hintergrundfarbe rot ist, das ANSI-Rot und das helle Rot so optimieren möchte, dass sie sich ein wenig von der Hintergrundfarbe unterscheiden. (Ja, ich habe ein Skript, das auch diese Optimierung automatisiert.)
Die ANSI-Farben sind vordefinierte Standards. Sie sollten nicht geändert werden. Die meisten Terminalprogramme ermöglichen es Ihnen, „Standard“-Vorder- und Hintergrundfarben aus einer großen Farbpalette festzulegen, die nicht auf die normalen 16 ANSI-Farben beschränkt ist. Eine vollständige Liste dieser Farben finden Sie in der Datei rgb.txt. Sie befindet sich irgendwo in Ihrer Linux-Distribution und enthält „Standard“-X11-Farben. Unter Ubuntu befindet sie sich in /usr/share/X11/rgb.txt.
Als zusätzliche Identifikationsmöglichkeit können Sie in den meisten Terminalprogrammen den Fenstertitel festlegen. Mit dem guten alten xterm können Sie beispielsweise Folgendes verwenden:
$ xterm -bg darkblue -fg gold -title "My terminal"
Und fügen Sie sogar einen auszuführenden Befehl ein:
$ xterm -bg darkblue -fg gold -title "Web Server" -e "ssh [email protected]"
Das Ergebnis sieht ungefähr so aus:
Fügen Sie diesen Befehl zusammen mit einem Zeiger auf das Symbol des Webservers in das Ziel einer Datei „Web Server.desktop“ ein, und fertig!
Bearbeiten:
Ich habe gerade den Teil darüber gelesen, wie Sie die Symbole verwenden möchten.
Um das Symbol in der Titelleiste zu setzen, muss die X-Ressource „iconPixmap“ gesetzt werden. Dies kann mit dem -xrm
Flag erfolgen, das auf eine „XBM“-Datei verweist:
$ xterm -xrm '*iconPixmap: /path/to/icon.xbm'