Terminalfarben bei Remote-Verbindung automatisch ändern?

22

Gibt es eine Möglichkeit, ein Terminalprofil automatisch anzuwenden, wenn eine Verbindung zu einem Remotecomputer über SSH hergestellt wird?

Ich möchte offensichtlicher visuelle Hinweise, dass ich mit einem Remote-Computer verbunden bin, als der Benutzer / Host, der auf jeder Terminalzeile angezeigt wird. Ich verbringe den größten Teil meines Tages mit mehreren Computern verbunden und es kann verwirrend werden.

Jeremy Kauffman
quelle
Was ich jetzt mache, ist, für jede Maschine, mit der ich mich verbinde, separate Gnome-Terminal-Starter zu haben. Jeder Starter wird mit einem anderen Profil und einer anderen Fenstergröße geöffnet. Wenn das irgendwie automatisch geändert werden könnte, wenn ich von einem beliebigen Terminal aus eine Verbindung zu einem Server herstelle, wäre es fantastisch. Hoffe du findest eine Lösung.
Ramón

Antworten:

9

Srigelsford aus dem Ubuntu-Forum empfiehlt Folgendes :

Ich habe mehrere Profile in gnome-terminal mit den gewünschten Einstellungen erstellt und dann Aliase wie im folgenden Beispiel für ssh to ares erstellt. Das Ares-Profil ist rot hinterlegt.

alias -p ares='gnome-terminal --window-with-profile=Ares -x bash -c "ssh ares"; exit'

Der Nachteil dabei ist, dass dies in Ihrem vorhandenen Terminalfenster nicht möglich ist und ein anderes gestartet wird. Mein Alias ​​schließt den vorhandenen nach dem Starten des neuen, aber Sie können dies stoppen, indem Sie den entfernen. Ausfahrt vom Ende.

Erstellen Sie einfach so viele Profile, wie Sie möchten, und ordnen Sie jeden Server einem Profil in einem Alias ​​zu. Geben Sie zum Starten einfach den Namen des Alias ​​$ ares ein

Groovehunter
quelle
4

Sie können das Profil der Remote-System-Shell so ändern, dass farbige Eingabeaufforderungen verwendet werden. Weitere Informationen finden Sie unter folgendem Link: http://www.funtoo.org/de/articles/linux/tips/prompt/ .

João Pinto
quelle
Vielen Dank. Dies ist eine Option, aber da ich mich mit vielen verschiedenen Servern verbinde, ist es ein bisschen nervig. Vielleicht könnte ich ein Skript schreiben, um eine lokale Einstellungsdatei zu kopieren.
Jeremy Kauffman
2

Das Folgende funktioniert für gnome3-Terminals. Es verwendet xdotool, um die Interaktion mit dem Gnome-Terminalmenü zu automatisieren, da die verfügbaren Tastaturkürzel derzeit begrenzt sind.

Ich habe zwei Profile erstellt. Die oberste im Menü Terminal-> Profile ist meine Standardeinstellung und zeigt einen lokalen Computer an. Das zweite ist mein Farbschema für eine Remote-Verbindung zu machine66.

In meinem bashrc habe ich dann folgende Aliase definiert:

alias first_profile="xdotool key F10 Right Right Right Right Down Right Return"
alias second_profile="xdotool key F10 Right Right Right Right Down Right Down Return"
alias go66="second_profile; ssh remotemachine66; first_profile"

First_profile und second_profile verwenden einfach xdotools, um auf f10 zu klicken (das Menü zu öffnen), und gehen dann nach rechts zum Terminal, 1 nach unten zur Profilauswahl und wählen dann das erste oder zweite Profil aus.

go66 ruft zuerst second_profile auf, um die Farben einzustellen. Beim Beenden von ssh wird first_profile aufgerufen und das Profil an das lokale Profil zurückgegeben.

Es ist klobig, aber es funktioniert. Ich freue mich über Verbesserungsvorschläge.

Spacemoose
quelle
0

ich hatte das schon länger auf meinem todolist und habe es gerade noch probiert und gesucht

dies ist auch eine erinnerung an mich selbst: muss mit screen / byobu probieren

Im Moment benutze ich Gnome-Terminal-Profile. Die Konfigurationsdateien sind xml in HOME / .gconf / apps ... und so könnte ich sie später per Skript für ungefähr 20 bis 50 Hosts mit automatisch erstellten Farben usw. erstellen / kopieren allerdings keine sehr raffinierte idee.

Im Moment benötige ich eine einfachere Tastenkombination als ALT + DR 0, um einen neuen Tab mit dem Profil # 0 zu öffnen.

Groovehunter
quelle
und fügen Sie diese ubuntuforums.org/member.php?u=536437
groovehunter