
Wenn ich byobu verwende, ist der Titel meiner Terminal-Registerkarte auf eingestellt user@fqdn (IP) - byobu
, was je nach Domäne ziemlich lang sein kann. Wie kann ich ihn auf etwas Kürzeres beschränken, wie etwa user@hostname
oder noch besser, zsh
den Titel festlegen lassen? Ich habe versucht, einzustellen BYOBU_NO_TITLE=1
, gefolgt vondieser Fehler, aber ich glaube, dadurch kann die lokale Shell den Titel festlegen, nicht die Remote-Shell.
Das kann sehr ärgerlich sein, da Terminator die Länge aller Tab-Header auf den gleichen Wert setzt, sodass ein sehr langer Titel ausreicht, um alle sehr lang zu machen. Im schlimmsten Fall wäre es mir lieber, wenn ich einfach einen Teil davon auf eine maximale Länge (wie user@f ... byobu
) kürzen könnte.
Ich habe bereits eine Funktion zum .zshrc
Festlegen des Titels hinzugefügt:
case $TERM in
xterm*|screen*)
if [[ -n $SSH_TTY ]]
then
precmd () {print -Pn "\e]0;%m: %~\a"}
else
precmd () {print -Pn "\e]0;%~\a"}
fi
;;
esac
Das funktioniert, wenn ich Byobu nicht verwende:
Die Registerkarte links ist eine SSH-Sitzung ohne Byobu und die Registerkarte rechts eine mit Byobu.
Mit Sergs Vorschlag, es IP_EXTERNAL
auf 1 zu setzen, kann ich die IP loswerden und den Titel verkürzen. Ich würde eine Lösung bevorzugen, die den von zsh (oder anderen Anwendungen wie Vim) festgelegten Titel an das Terminal weitergibt – es sieht so aus, als ob byobu/tmux sie blockiert.
Antwort1
UPDATE: 10. April 2015
Meine aktuelle Lösung, die nicht von der Verwendung einer Shell oder eines Terminals abhängt, besteht darin, wmctrl
ein Skript zu verwenden und den vollständigen Pfad zum Skript in einzugeben .byoburc
. Funktioniert mit Gnome-Terminal, Terminator, Sakura – praktisch jedem Terminal. Hier ist das Skript:
#!/bin/bash
# Description: byobu always has string ") - byobu" in it's window title
# like user@hostname (192.168.0.2) - byobu
# So why not find windows with exact same string, and tell wmctrl to
# set the title for us ? That's all we do here
BYOBU_WINDOW=$( wmctrl -lx | awk '/) - byobu/ {print $1}' )
sleep 0.5
wmctrl -ir $BYOBU_WINDOW -N "MYTITLEHERE"
Ursprünglicher Beitrag
Sie können Profileinstellungen so gnome-terminal
festlegen, dass der in den Profileinstellungen angegebene ursprüngliche Titel beibehalten wird. Unten sehen Sie den Screenshot meines Byuobu mit der Option „Ursprünglichen Titel beibehalten“ und mit der Option „Ursprünglichen Titel ersetzen“
Was Terminator betrifft, werde ich es herunterladen und sehen, ob das Gleiche darauf zutrifft.
Antwort2
ich habe herausgefunden, dass Byobu im Backend tmux verwendet. und tmux bietet einige Möglichkeiten, den Terminaltitel mit den folgenden Zeilen festzulegen .byoubu/.tmux.conf
:
set -g set-titles on
set -g set-titles-string "#(pwd)"
wobei #(pwd)
es auf das Arbeitsverzeichnis gesetzt wird. Die Palette der Optionen finden Sie auf der Manpage von tmux im Abschnitt „Formate“.
Wenn man etwas tiefer gräbt, scheint es, dass byobu standardmäßig genau diese beiden Zeilen kommentiert, /usr/share/byobu/profiles/tmux
um seinen eigenen benutzerdefinierten Titel festzulegen