Namen der Tabs in Konsole automatisch dem Hostnamen anpassen

Mittlerweile habe ich mich von xterm als Shell verabschiedet und nutze die KDE Konsole – Es ist einfach übersichtlicher und komfortabler an dieser Stelle ebenfalls mit Tabs zu arbeiten anstatt mit 10 und mehr Fenstern. Damit man dann wiederrum den Überblick über die Tabs (oder auch Sitzungen) nicht verliert, kann man die Tabnamen automatisch dem Hostnamen anpassen, auf den man sich mit SSH verbunden hat.
Das geschieht über folgendes kleines Skript:

#!/bin/bash
REAL_SSH=/usr/bin/ssh
if [ ! -z "$KONSOLE_DCOP_SESSION" ]
then
# Use the last argument as the title
for arg in $@; do
NEW_TITLE=”$arg”
done
OLD_TITLE=`dcop “$KONSOLE_DCOP_SESSION” sessionName`
dcop “$KONSOLE_DCOP_SESSION” renameSession “$NEW_TITLE”
function restore_title() {
dcop “$KONSOLE_DCOP_SESSION” renameSession “$OLD_TITLE”
}
# If SSH is interrupted (CTRL-C), restore the old title
trap “restore_title” SIGINT
$REAL_SSH $*
restore_title
else
$REAL_SSH $*
fi

Das Skript packt man einfach in /usr/local/bin und macht es ausführbar. Nun verbindet man sich einfach per “s $hostname” anstatt “ssh $hostname” und der Tabname wird umgeschrieben. Beendet man eine Session, so wird der Tabname wieder auf den lokalen Hostnamen zurückgesetzt.

Links:
Download Skript

This entry was posted in combjuta and tagged , . Bookmark the permalink.

4 Responses to Namen der Tabs in Konsole automatisch dem Hostnamen anpassen

  1. cruiser says:

    Hmmm… das ist mir ehrlich gesagt etwas zu überladen. Mir gefällt die schlankere Variante besser.

  2. Früher gabs ja mal die Auto Completition bei SSH Verbindungen von Haus aus, heute ist das bei den meisten Distributionen nicht mehr so, da die Hostnamen und IP Adressen standardmässig gehasht abgespeichert werden. Dies kann man in der .ssh/known_hosts seh

  3. Cocker68 says:

    Das geht viel einfacher:

    Folgende Zeilen in .bashrc setzen…

    #######################
    # if on pseudo-tty make hostname appear in konsole-tab
    [ $(expr match "$(tty)" '/dev/p') -eq 6 ] && export PS1=”${PS1}\[\e]30;\H\a\]”
    #######################

    … und dafür sorgen, dass .bashrc auch beim Öffnen eines neuen Tabs ausgeführt wird: Dazu in der Konsole-Konfiguration bei
    Session/Execute: “bash -l ”
    setzen.

    - Cocker :wq

Leave a Reply

Your email address will not be published. Required fields are marked *

*

*


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>