Wie ändere ich Terminator Titel Terminal Titel, ZSH auf Debian?

14

Ich weiß nicht, ob ich es hier oder auf unix.stackexchange.com stellen soll . Ich habe diese Frage hier gefunden .

Meine Frage ist ähnlich, ich möchte den Titel eines Terminals ändern, ich verwende eine Debian-basierte Distribution, Terminator und ZSH, oh-my-zsh, der Titel war in Ordnung mit Bash, aber als ich zu ZSH wechselte, wird er /bin/zshals angezeigt Titel.

Lynob
quelle
@ DaniëlW.Crompton wirklich? es ist ein Betrüger? Wenn ja, werde ich es jetzt schließen, ich habe auf diese Frage verlinkt, also weiß ich, dass es da ist, aber ich wusste nicht, dass es ein Betrug ist, weil ich ein anderes Betriebssystem und einen anderen Emulator verwende
Lynob
Haben Sie ausprobiert, was in der Frage, mit der Sie verlinkt haben, empfohlen wurde?
Daniël W. Crompton
2
@ DaniëlW.Crompton ja, echo -ne "\e]1;this is the title\aund echo -ne "\e]1;$PWD\a"keine Fehler geben, aber nicht funktionieren, ich habe versucht, alle zu
deaktivieren, es
1
Haben Sie echo -ne "\ e] 0; $ PWD \ a" mit einer 0 anstelle einer 1 versucht?
Daniël W. Crompton

Antworten:

13

Sie legen Ihren Fenstertitel mit den xtem-Escape-Sequenzen fest. In den meisten Implementierungen funktioniert die erste am besten:

echo -en "\e]0;string\a" #-- Set icon name and window title to string
echo -en "\e]1;string\a" #-- Set icon name to string
echo -en "\e]2;string\a" #-- Set window title to string

BEARBEITEN: Das obige setzt den Titel nur einmal. Um zsh so einzustellen, dass immer der Stich im Titel angezeigt wird, fügen Sie Folgendes .zprofilein Ihr Home-Verzeichnis ein:

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac
Daniël W. Crompton
quelle
2
ich sagte , früher echo -ne "\e]0;$PWD\a"funktioniert , aber wenn ich verlassen Shell, es nicht mehr funktioniert ... Ich habe versucht , Sie in der Antwort getippt und ich erhalte zsh: command not found: stringaund zsh: command not found: e]1und so weiter, alle von ihnen
Lynob
1
Die Antwort wurde aktualisiert
Daniël W. Crompton
Um das Home-Verzeichnis innerhalb von $ PWD durch das von ~mir verwendete zu ersetzen precmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"}(Z-Shell)
Maksym Ganenko
13

Das Folgende hat für mich funktioniert, um jede Registerkarte in gnome-terminal umzubenennen. Ich habe den folgenden Code zu meiner ~ / .zshrc- Datei hinzugefügt .

precmd () { print -Pn "\e]0;$TITLE\a" }
title() { export TITLE="$*" }

Dies schafft eine Titel Funktion jede Registerkarte umbenennen.

Hinweis: Wenn Sie oh-my-zsh verwenden, müssen Sie den Befehl für den automatischen Titel deaktivieren. Sie können dies tun, indem Sie diese Zeile in Ihrer ~ / .zshrc- Datei auskommentieren :

DISABLE_AUTO_TITLE="true"
Steve
quelle
5
DISABLE_AUTO_TITLE = "true" hat den Trick für mich gemacht. Vielen Dank.
Rakesh Gopal
4

Dies sollte unabhängig von der verwendeten Shell funktionieren:

printf "\033];%s\07\n" "hello world"
jlliagre
quelle
2

Frühere Antworten haben bei mir nicht ganz funktioniert. Nicht ohne Schluckauf (nicht immer aufgefrischt oder so). Es kann daran liegen, dass ich ZSH hatte, ohne oh-my-zsh. Zum Glück habe ich davon erfahren chpwd, also:

chpwd() {
  [[ -t 1 ]] || return
  case $TERM in
    sun-cmd) print -Pn "\e]l%~\e\\"
      ;;
    *xterm*|rxvt|(dt|k|E)term) print -Pn "\e]2;%~\a"
      ;;
  esac
}
  1. chpwd wird jedes Mal aufgerufen, wenn das Verzeichnis geändert wird.
  2. Wenn Sie xterm (oder andere) zum ersten Mal starten, zählt dies nicht als Verzeichnisänderung. Setzen Sie also den Aufruf von chpwd direkt ein .zshrc

Da ich oh-my-zsh nicht verwende, weiß ich nicht, ob es dort funktioniert, aber es sei denn, sie haben sich geändert und überschrieben chpwd(in diesem Fall überschreiben Sie ihr Überschreiben: D), sollte es.

LAFK sagt Reinstate Monica
quelle
-1

Nun, Sie können einen Scrip erstellen, der ein Fenster öffnet und den Namen so festlegt, wie Sie es möchten. Führen Sie das Skript aus, um das Fenster mit Ihrem Namen aufzurufen. Sie können auch die X-, Y-Position und Größe des Fensters festlegen. Sie können mehrere Fenster erstellen und für jeden Anlass benennen lassen.

cliff2310
quelle
//, Hast du etwas spezifischeres?
Nathan Basanese
Es ist über 12 Jahre her, seit ich diese Skripte geschrieben habe. Ich möchte keine schlechten Informationen geben, aber ich denke, dass alles, was mit den Optionen von xterm gemacht wurde. Weitere Informationen finden Sie auf der MAN-Seite für xterm. Ich habe die Skripte vielleicht irgendwo, aber Harvey hat meine gesamte alte Festplatte auf einem Stapel liegen lassen, auf dem sie abgeladen wurden, um sie aus dem Weg zu räumen. Wenn die Reparaturen abgeschlossen sind, kann ich dies möglicherweise aktualisieren.
Cliff2310