Ich möchte, dass sich die Hintergrundfarbe meines Terminals basierend auf dem Hostnamen ändert. Meine Argumentation dafür ist hauptsächlich, dass ich eine zusätzliche Möglichkeit habe, mich daran zu erinnern, auf welchem Server ich mich befinde, damit ich nichts Dummes tue.
Gibt es eine Möglichkeit, den Standard-Auberginen-Hintergrund zu verwenden, wenn ich mich auf meinem lokalen Computer befinde, und dann rot zu ändern, wenn ich einen Produktions-Webserver oder andere Hosts verwandle, die ich angeben könnte?
Antworten:
Sie können die localcommand-Option von ssh / config verwenden, um einen Befehl auszuführen, wenn ein Alias verwendet wird. ich benutze
Dies hängt von xtermcontrol und Ihrer Bezeichnung xterm ab. Vermutlich gibt es andere Apps für andere Begriffe.
Das einzige Problem bei diesem Ansatz ist, dass es passiert, wenn Sie ssh aufrufen. Es gibt nichts, was den Farbwechsel rückgängig machen könnte. Ich habe es getan, indem ich eine Funktion um ssh gewickelt habe, aber das hat auch seine Nachteile.
quelle
Es scheint keine Funktionalität
gnome-terminal
zu geben, um einem vorhandenen Fenster über die Befehlszeile eine neue Registerkarte hinzuzufügen . Es gibt jedoch einige Möglichkeiten, um das zu erreichen, was Sie wollen.Pro Befehlsprofile
Erstellen Sie ein neues
gnome-terminal
Profil für jeden Host, auf dem Sie SSH ausführen. Wenn Sie nur wenige Hosts haben, zu denen Sie regelmäßig eine Verbindung herstellen, ist dies möglicherweise der einfachste. Für jedes Profil können ein anderer Titel, eine andere Vordergrundfarbe, eine andere Hintergrundfarbe, ein benutzerdefinierter Befehl und andere Einstellungen definiert werden. Anschließend können SieFile -> Open Tab
mit eine neue Registerkarte mit dem ausgewählten Profil öffnen.Wiederverwendbares Profil
Erstellen Sie ein neues
gnome-terminal
Profil, mit dem jedes Mal, wenn Sie eine Verbindung zu einem anderen SSH-Host herstellen möchten, ein neues Fenster geöffnet wird (basierend auf dieser Antwort von AskUbuntu, auf die Stefano hingewiesen hat). Dies funktioniert gut, wenn Sie häufig eine Verbindung zu vielen verschiedenen Hosts herstellen. Auf diese Weise können Sie nicht zwischen verschiedenengnome-terminal
Fenstern unterscheiden , in denen Sie ausschließlich in den Hintergrund- / Vordergrundfarben mit verschiedenen Hosts verbunden sind. Sie haben jedoch einen anderen Titel pro Fenster.gnome-terminal
Profil (File -> New Profile
) basierend auf demDefault
Profil und nennen Sie es "RemoteHost" (beachten Sie, dass "RemoteHost" keine Leerzeichen enthält, um Befehle zu vereinfachen).Title and Command
Ändern Sie unter der Registerkarte Folgendes:Initial title:
zu "Remote Host"When terminal commands set their own titles:
zuReplace initial title
Colors
Ändern Sie unter der Registerkarte Folgendes:Use colors from system theme
Build-in schemes:
zuCustom
Text color:
undBackground color:
zu Farben Ihrer Wahl. Denken Sie daran, dass einige Befehle (wiels
) Farben für ihre Ausgabe verwenden und Sie keine Farben auswählen möchten, die das Lesen der Ausgabe erschweren.Close
Schaltfläche, um Ihr neues Profil zu speichern.gnome-terminal
mit dem Befehl für jeden entfernten SSH-Host ein neues Fenster öffnengnome-terminal --window-with-profile=RemoteHost -t "Some Remote SSH Host" -x ssh user@somehost
. Die-t
Option legt dengnome-terminal
Fenstertitel fest und-x
führt den Rest der Befehlszeile im Terminal aus. Sie könnten sogar einealias
Tastenkürzung vornehmen .Befehlszeile
Ich habe diesen Blogeintrag mit dem folgenden Skript gefunden, das die Befehle
xdotool
und verwendetwmctrl
(sie wurden unter Ubuntu nicht standardmäßig installiert, daher müssen Sie sie möglicherweise zuerst installieren), um mit der Tastenkombinationgnome-terminal
Ctrl+ Shift+ teine neue Registerkarte im aktuellengnome-terminal
Fenster zu öffnen . Es kann geändert werden, um eine neue Registerkarte mit einem bestimmten Profil zu öffnen und einen Befehl für Sie auszuführen.Andere
Sie könnten kreativ werden und ein paar andere Dinge ausprobieren.
Diese SuperUser-Antwort verwendet im Grunde genommen ein bisschen "script-fu" -Akrobaten, um ein temporäres
gnome-terminal
Profil zu erstellen , das zum Öffnen eines neuen Fensters verwendet wird. Es kann für Ihre Verwendung geändert werden.Mit diesen StackOverflow-Fragen und -Akrobaten und weiteren "script-fu" -Akrobaten können
gnome-terminal
Sie den Titel möglicherweise dynamisch ändern, wenn Sie SSH an einen Remotehost senden. Es wäre nicht so auffällig wie Änderungen der Hintergrund- / Vordergrundfarbe, aber es wäre immer besser als ein StandardtitelTerminal
.quelle
Dies funktioniert in Gnome, WENN Sie bereit sind, für jede SSH-Sitzung ein neues Gnome-Terminal-Fenster zu verwenden.
Erstelle ein neues Profil (mit anderer Hintergrundfarbe) mit dem Namen "Remote"
Fügen Sie Folgendes in
.bash_aliases
oder ein.bashrc
Jetzt
sshc remote-machine
öffnet sich eine neue Gnome-Terminal-Sitzung mit dem "Remote" -Profil. Dadurch wird zwischen lokalen und Remote-Profilen unterschieden.Um mehrere Profile / Hosts aufzunehmen, erstellen Sie mehrere Profile und platzieren Sie
.bash_aliases
stattdessen so etwas:Jetzt
sshc Production
öffnet sich ein neues Sitzungsfenster mit dem Profil "Rot",sshc Test
öffnet sich ein neues Sitzungsfenster mit dem Profil "Grün" und andere Hosts verwenden das Profil "Standard".quelle
Die einfachste Lösung, die ich für mint mate + mate terminal gefunden habe, besteht darin, alle Informationen von Stack *** Sites zu sammeln (genau wie für gnome).
sudo apt get install xdotool
Jetzt können Sie / etc / ssh / ssh_config so ändern, dass es das Profil nach jedem Aufbau einer ssh-Sitzung ändert:
Jetzt, nachdem jede SSH-Verbindung im Terminal hergestellt wurde, wird das Profil geändert und Sie werden nie wieder ein unerwünschtes SQL-Update in die Produktionsdatenbank laden :)
Es gibt jedoch keine einfache Lösung, um das Standardprofil wiederherzustellen, nachdem die SSH-Verbindung geschlossen wurde. Aber das scheint mir genug zu sein, und ich habe nicht nach weiteren Informationen gesucht.
quelle