Liebe Leute, ich habe manchmal recht viele Konsolen-Sitzungen geöffnet. Darin springe ich wild von einem Rechner zum anderen hin und her (per ssh). Um den Überblick zu bewahren wäre es sicher hilfreich, wenn der Name eines Fensters "sprechend" wäre. Ich kann sicherlich per Hand die jeweilige Sitzung umbenennen (ALT+STRG+S). Aber das ist auch nicht komfortabel. Ich suche etwas, wo mir der Fenstertitel ohne mein regelmäßiges Zutun sagt, in welchem Fenster ich auf welchem Rechner als welcher User gerade bin. Man könnte so etwas vielleicht im Prompt (PS1) unterbringen, aber ich kenne keinen Befehl, der in der Bash ausgeführt der konsole sagt, was sie in den Titel schreiben soll. Und ich bin auch nicht routiniert darin, den Prompt entsprechen zu programmieren. Es reicht mir übrigens nicht, dass beim Einloggen (via .bashrc) der Titel gesetzt wird, denn dann bin ich verratzt, sobald ich einen Rechner wieder verlasse: Eingeloggt auf Rechner A -> Konsolentitel A, ssh zu Rechner B -> Konsolentitel B, exit -> immer noch Konsolentitel B. Weiß jemand wie es geht oder wo steht wie es geht? Vielen Dank. Jan Handwerker -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
passt zwar nicht ganz, aber vielleicht hilft es zum weiterbasteln: Ich habe bei mir in einer .bashrc folgendes eingetragen und ein "xname WICHTIG" setzt dann den Konsolentitel Wolfgang xname() { echo -en "\033]2;$@\007" }
Liebe Leute,
ich habe manchmal recht viele Konsolen-Sitzungen geöffnet. Darin springe ich wild von einem Rechner zum anderen hin und her (per ssh). Um den Überblick zu bewahren wäre es sicher hilfreich, wenn der Name eines Fensters "sprechend" wäre.
Ich kann sicherlich per Hand die jeweilige Sitzung umbenennen (ALT+STRG+S). Aber das ist auch nicht komfortabel. Ich suche etwas, wo mir der Fenstertitel ohne mein regelmäßiges Zutun sagt, in welchem Fenster ich auf welchem Rechner als welcher User gerade bin.
Man könnte so etwas vielleicht im Prompt (PS1) unterbringen, aber ich kenne keinen Befehl, der in der Bash ausgeführt der konsole sagt, was sie in den Titel schreiben soll. Und ich bin auch nicht routiniert darin, den Prompt entsprechen zu programmieren.
Es reicht mir übrigens nicht, dass beim Einloggen (via .bashrc) der Titel gesetzt wird, denn dann bin ich verratzt, sobald ich einen Rechner wieder verlasse: Eingeloggt auf Rechner A -> Konsolentitel A, ssh zu Rechner B -> Konsolentitel B, exit -> immer noch Konsolentitel B.
Weiß jemand wie es geht oder wo steht wie es geht?
Vielen Dank.
Jan Handwerker -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, On Tuesday 10 July 2007 10:52:09 Jan Handwerker wrote:
Ich kann sicherlich per Hand die jeweilige Sitzung umbenennen (ALT+STRG+S). Aber das ist auch nicht komfortabel. Ich suche etwas, wo mir der Fenstertitel ohne mein regelmäßiges Zutun sagt, in welchem Fenster ich auf welchem Rechner als welcher User gerade bin.
Per ANSI-Steuersequenz? Mit <ESC> "]0;" <text> <\a> \a ist der Alarm-Character. Anstatt "]0;" kann man mit '1' oder '2' auch nur das Icon oder den Titel umstellen. Nun brauchst du beim Login nur noch die passende Sequenz hinaussenden, also z.B. echo -en "\033]0;$USER@$HOST\a"
Es reicht mir übrigens nicht, dass beim Einloggen (via .bashrc) der Titel gesetzt wird, denn dann bin ich verratzt, sobald ich einen Rechner wieder verlasse: Eingeloggt auf Rechner A -> Konsolentitel A, ssh zu Rechner B -> Konsolentitel B, exit -> immer noch Konsolentitel B.
Der zweite Schwierigkeitsgrad. Den Prompt (PS1) veraendern oder .logout bemuehen. Linux Documentation Project beim Advanced Bash-Scripting Guide (nur so eine Vermutung, habe nicht nachgeschaut). Roman -- Roman Fietze Telemotive AG Büro Mühlhausen
Am Dienstag, 10. Juli 2007 10:52:09 schrieb Jan Handwerker:
Liebe Leute,
ich habe manchmal recht viele Konsolen-Sitzungen geöffnet. Darin springe ich wild von einem Rechner zum anderen hin und her (per ssh). Um den Überblick zu bewahren wäre es sicher hilfreich, wenn der Name eines Fensters "sprechend" wäre.
Ich kann sicherlich per Hand die jeweilige Sitzung umbenennen (ALT+STRG+S). Aber das ist auch nicht komfortabel. Ich suche etwas, wo mir der Fenstertitel ohne mein regelmäßiges Zutun sagt, in welchem Fenster ich auf welchem Rechner als welcher User gerade bin.
Man könnte so etwas vielleicht im Prompt (PS1) unterbringen, aber ich kenne keinen Befehl, der in der Bash ausgeführt der konsole sagt, was sie in den Titel schreiben soll. Und ich bin auch nicht routiniert darin, den Prompt entsprechen zu programmieren.
Es reicht mir übrigens nicht, dass beim Einloggen (via .bashrc) der Titel gesetzt wird, denn dann bin ich verratzt, sobald ich einen Rechner wieder verlasse: Eingeloggt auf Rechner A -> Konsolentitel A, ssh zu Rechner B -> Konsolentitel B, exit -> immer noch Konsolentitel B.
Weiß jemand wie es geht oder wo steht wie es geht?
Vielen Dank.
Jan Handwerker
Hallo Jan, beim xterm konnte man das mit der Option "-T Titel" beim Aufruf einstellen. Laut Hilfeseite geht das bei der Konsole unter KDE auch so. Tschö, Emil -- Registered Linux User since 19940320 -------------------------------------------------- Emil Stephan, Marktplatz 39, 53773 Hennef, Germany voice: +49-2242-84438 Accelerate Windows: 9.81 m/sec^2 would be adequate -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hier ein Auszug aus meiner .bashrc, der müsste eigentlich in sich vollständig sein: function _shortprompt () { local maxlen=$1 local host=`hostname` local hostlen=${#host} local cwd=`pwd` if [ $hostlen -gt $maxlen ]; then echo ${host:0:$((maxlen-1))}~ return; elif [ $hostlen -eq $maxlen ]; then echo ${host} return; else local url=$host:$cwd local len=${#url} if [ $len -le $maxlen ]; then echo $url return; fi fi local glue=':..'; local url=$host$glue$cwd local len=${#url} echo $host$glue${cwd:$((len-maxlen+1))} } function ps1 () { #set -u function _xtermtitle () { local Title="\[\e]2;" local Icon="\[\e]1;" local TtlCls="\a\]" echo -n $Title'\u@\h:$(pwd -P)'$TtlCls$Icon'$(_shortprompt 23)'$TtlCls } function _ansiprompt () { local NoAttr="\[\e[m\]" if test "$UID" = 0; then em=$2; else em="" fi echo -n "$1\t $em\u$1@\h $LANG "'$(pwd -P)'"$NoAttr\n\$ " } local RedOnBlk="\[\e[31;40m\]" local CyOnBlk="\[\e[36;40m\]" local RedOnCy="\[\e[31;46m\]" local BlkOnCy="\[\e[30;46m\]" local BlkOnY="\[\e[30;43m\]" local RedOnY="\[\e[31;43m\]" case "$TERM" in xterm*|kvt|rxvt|dtterm|iris-ansi|cygwin|kterm) _xtermtitle _ansiprompt $BlkOnY $RedOnY ;; linux|vt*|AT386) _ansiprompt $CyOnBlk $RedOnBlk ;; *) echo -n '\t \u@\h $(pwd -P)\n\$ '; ;; esac set +u } PS1=$(ps1) unset -f ps1 _xtermtitle _ansiprompt -- Viele Grüße ------------------------------------------------------------------------ Michael ------------------------------------------------------------------------ ________________________________________________________________________ PROSTEP AG, Dolivostraße 11, D-64293 Darmstadt HR: Amtsgericht Darmstadt, HRB 8383 Vorstand: Dr. Bernd Pätzold (Vorsitz), Reinhard Betz Aufsichtsrat: Dr. Heinz-Gerd Lehnhoff (Vorsitz) ________________________________________________________________________ -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Am Dienstag, 10. Juli 2007 schrieb Michael Behrens:
Hier ein Auszug aus meiner .bashrc, der müsste eigentlich in sich vollständig sein:
toll! nur noch ein Wunsch: kann man auch die Beschriftung der Reiter am unteren Fensterrand von "konsole" (KDE) auf diese Art&Weise steuern? Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Am Dienstag, 10. Juli 2007 schrieb Michael Behrens:
Hier ein Auszug aus meiner .bashrc, der müsste eigentlich in sich vollständig sein:
toll!
nur noch ein Wunsch: kann man auch die Beschriftung der Reiter am unteren Fensterrand von "konsole" (KDE) auf diese Art&Weise steuern?
Hi Ich starte meine SSH-Sessions immer mit dem Aufruf: konsole -T TITEL -e luit -encoding ISO8859-1 ssh -C SERVERNAME -l root Dann steht im Tab und Titel das was unter -T angegeben wird. Das Ganze noch als Schnellstarter in die Taskleiste - und schon hat man schnellen Zugriff auf alle Server. Zu dem Thema fällt mir wieder ein was mich schon seit Jahren nervt. Wenn ich xterm öffne und von einem Verz. zum nächsten wechsle, erscheint im Titel immer das aktuelle Verz. Kann man das irgendwie abschalten ? -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Jens Strohschnitter wrote:
Ich starte meine SSH-Sessions immer mit dem Aufruf:
konsole -T TITEL -e luit -encoding ISO8859-1 ssh -C SERVERNAME -l root
Dann steht im Tab und Titel das was unter -T angegeben wird. Das Ganze noch als Schnellstarter in die Taskleiste - und schon hat man schnellen Zugriff auf alle Server.
Noch bequemer ist doch, die Sitzungen direkt in Konsole einzustellen: Im Konsole-Menü: Einstellungen -> Konsole einrichten -> Sitzung Da kannst Du dann festlegen, welcher Name auf dem Tab angezeigt wird und zB auch eine individuelle Farbeinstellung treffen, was ich sehr praktisch finde, weil ich dann auf den ersten Blick sehe, wo ich gerade arbeite. Diese vordefinierten Sitzungen sind dann über den Button zugänglich, mit dem man neue Tabs öffnet. (Maus gedrückt halten statt einfacher Klick.) Total praktisch, wenn häufig auf eine gößere Zahl von Servern per ssh zugreifen muss. Joachim -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Ich starte meine SSH-Sessions immer mit dem Aufruf:
konsole -T TITEL -e luit -encoding ISO8859-1 ssh -C SERVERNAME -l root
Dann steht im Tab und Titel das was unter -T angegeben wird. Das Ganze noch als Schnellstarter in die Taskleiste - und schon hat man schnellen Zugriff auf alle Server.
Noch bequemer ist doch, die Sitzungen direkt in Konsole einzustellen: Im Konsole-Menü: Einstellungen -> Konsole einrichten -> Sitzung
Da kannst Du dann festlegen, welcher Name auf dem Tab angezeigt wird und zB auch eine individuelle Farbeinstellung treffen, was ich sehr praktisch finde, weil ich dann auf den ersten Blick sehe, wo ich gerade arbeite.
Diese vordefinierten Sitzungen sind dann über den Button zugänglich, mit dem man neue Tabs öffnet. (Maus gedrückt halten statt einfacher Klick.) Total praktisch, wenn häufig auf eine gößere Zahl von Servern per ssh zugreifen muss.
Hi yep! Der Eintrag in der .bashrc hat wunder bewirkt. Danke. Mit den Sitzungseigenschaften ist ein guter Ansatz, aber ich glaube ich bleibe bei meinem o.b. Schnellstarter aus der Taskleiste. Einziger Nachteil, ich kann nur die globalen Einstellungen nutzen. Also nicht für Server1 einen weissen für Server2 einen schwarzen Hintergrund. Aber damit kann ich leben. -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun ------------------------------------- __________________________________________________________ Raiffeisen Waren-Zentrale Rhein-Main eG 50668 Koeln, Altenberger Str. 1a Tel: 0221/1638-0 Fax: 0221/1638-254 Sitz: Koeln Amtsgericht Koeln, GnR 728 Vorstand: Hans-Josef Hilgers (Sprecher) Markus Stuettgen Dr. Karl-Heinrich Suemmermann Friedhelm Decker (Vorsitzender) Ingo Steitz Vorsitzender des Aufsichtsrates: Peter Bleser (MdB) St.Nr.: 215/5938/0152 Bankverbindung: WGZ Bank AG, Duesseldorf (BLZ 300 600 10) Konto-Nr.: 300 011 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Jens Strohschnitter wrote:
Zu dem Thema fällt mir wieder ein was mich schon seit Jahren nervt. Wenn ich xterm öffne und von einem Verz. zum nächsten wechsle, erscheint im Titel immer das aktuelle Verz. Kann man das irgendwie abschalten ?
Indem Du z.B. in deine ~/.bashrc folgendes einträgst: PS1="\[\033]0;\u@\h\007\]$(ppwd \l)\u@\h:\w> " Dann bekommst Du am Prompt user, host und aktuelles Verzeichnis angezeigt, im xterm-Fenstertitel aber NUR user@host. D.h. die Sequenz die zwischen \033 und \007 steht, geht in den xterm-Fenstertitel, was danach kommt, geht ins Prompt. Das kannst Du dann nach Belieben anpassen. Joachim -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mit, 11 Jul 2007, Jens Strohschnitter schrieb:
Zu dem Thema fällt mir wieder ein was mich schon seit Jahren nervt. Wenn ich xterm öffne und von einem Verz. zum nächsten wechsle, erscheint im Titel immer das aktuelle Verz. Kann man das irgendwie abschalten ?
Ja. Du machst aus PS1 die (Escape-)Sequenz vor dem "Bell" (\007, \a) weg. -dnh -- 163: SMD Schwer Montierbare Dinger (Holger Köpke) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Michael, Harmann, Roman, Emil, Jürgen, Jens, Joachim und David, zunächst einmal vielen Dank für die Ratschläge. Da ist wirklich manches möglich mit diesen Escape-Sequenzen. Ich habe mir jetzt meinen Prompt so zusammengebastelt: PS1="\[\033]0;\u@\h:\w\a\033[0;34m\]\t \u@\h:\w>\[\033[0m\] " wodurch der Konsolentitel immer das aktuelle Verzeichnis enthält. Das funktioniert sogar, wenn ich zwei Sitzungen in einem Fenster habe. Sehr schön. Ich kann auch von einem Rechner zum nächsten wechseln (ohne eine neue Konsole zu starten) und sehe immer den richtigen Titel. Was mir jetzt noch fehlt: Auf dem Reiter an der Fensterunterseite hätte ich auch noch gerne ein "\u@\h". Weiß jetzt noch jemand, wie das geht? Ich habe mit man console_codes ettliche der Escape-Sequenzen nachvollziehen können. Was mir fehlt ist eine Beschreibung von \u und \h. Ich weiß zwar was die oben verwendeten \x-Befehle machen (ja, ja, lesen geht zum Teil noch), aber vielleicht gibt es ja noch viel mehr schöne Dinge :-). Wo kann ich das denn nachlesen. Und gibt es neben man console_codes vielleicht auch eine schönere Beschreibung mit Beispielen oder so? Vielen Dank! Jan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Don, 12 Jul 2007, Jan Handwerker schrieb: [..]
Ich habe mit man console_codes ettliche der Escape-Sequenzen nachvollziehen können. Was mir fehlt ist eine Beschreibung von \u und \h.
Diese Escapes sind Shell-spezifisch, d.h. die findest du in der Dokumentation deiner Shell erklärt. Für die bash: man -P'less +/^PROMPTING' bash z.B.: \h the hostname up to the first `.' \H the hostname \u the username of the current user \w the current working directory \W the basename of the current working direc tory
Wo kann ich das denn nachlesen. Und gibt es neben man console_codes vielleicht auch eine schönere Beschreibung mit Beispielen oder so?
Du suchst das "Bash-Prompt-HOWTO". Bspw. per zless /usr/share/doc/howto/en/txt/Bash-Prompt-HOWTO.gz zu finden, wenn du das 'howto' Paket installiert hast. -dnh -- The two most common things in the universe are hydrogen and stupidity. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo David, David Haller wrote:
man -P'less +/^PROMPTING' bash
oh ja, das habe ich überlesen und ...
Du suchst das "Bash-Prompt-HOWTO". Bspw. per
die howtos habe ich in der Zwischenzeit mal wieder verdrängt. Dabei wäre das HOWTO genau das gewesen, was ich von Anfang an hätte finden sollen. Danke Dir! Gruß Jan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (9)
-
David Haller
-
Dr. Jürgen Vollmer
-
Emil Stephan
-
hamann.w@t-online.de
-
Jan Handwerker
-
Jens Strohschnitter
-
Joachim Marx
-
Michael Behrens
-
Roman Fietze