Diese Lösung ist ein wenig hackisch, aber ich denke, sie wird das tun, wonach Sie suchen. Sie benötigen xdotool
und wmctrl
installiert, damit dies funktioniert.
Zuerst müssen Sie Ihre ~/.bashrc
Datei bearbeiten , da das Terminal standardmäßig nach jeder Zeile seinen Titel zurücksetzt, wodurch Befehlszeilentitelsätze unbrauchbar werden.
Gleich nach: xterm*|rxvt*)
Ersetzen: PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
Mit: PS1="${debian_chroot:+($debian_chroot)}\u@\h \w\a$ "
Als nächstes erstellen wir ein benutzerdefiniertes ssh
Skript mit dem Namen "Was auch immer Sie wollen", aber für diese Antwort rufe ich meins auf tab-ssh
. Öffnen Sie einen Texteditor und speichern Sie Folgendes als tab-ssh
:
#!/usr/bin/env bash
WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}')
xdotool windowfocus $WID
xdotool key ctrl+shift+t
wmctrl -i -a $WID
sleep 1
title=$(echo "$*" | sed s/.*@//g)
xdotool type --delay 1 --clearmodifiers 'echo -en "\033]0;"'"${title}"'"\a"'
xdotool key Return
sleep 1
xdotool type --delay 1 --clearmodifiers "ssh $*"
xdotool key Return
Dann machen Sie es ausführbar:
chmod +x tab-ssh
Angenommen, Sie verwenden bash
und gnome-terminal
, sollte das Skript eine neue Registerkarte öffnen, umbenennen und die ssh
Sitzung starten . Zum Beispiel:
tab-ssh username@0.0.0.0
öffnet eine neue Registerkarte, benennt sie um 0.0.0.0
(dh alles, was auf das "@" - Zeichen folgt) und führt sie dann aus username@0.0.0.0
.
Erstellt mit den folgenden: