Der Terminaltitel wird durch die Verwendung spezieller Escape-Sequenzen in der Konsolenausgabe gesetzt. Standardmäßig enthält die Bash-Eingabeaufforderung diese Escape-Sequenzen und setzt den Titel auf das aktuelle Arbeitsverzeichnis.
Sie müssen also Ihre PS1-Variable bearbeiten (meistens ist sie in ~/.bashrc
gesetzt ), andernfalls überschreibt bash Ihren Titel jedes Mal, wenn die Eingabeaufforderung angezeigt wird.
Sie können dann den Titel festlegen, indem Sie Folgendes in ein Skript einfügen, das ausgeführt wird, wenn Sie sich anmelden, z. ~/.profile
:
echo -e "\033]0;<your string>\007"
Die meisten Terminalprogramme – einschließlich konsole, putty und xterm – emulieren das alte VT100-Terminal. Mit diesem Terminal können Sie bestimmte Dinge einstellen, darunter Fettdruck, Farben, den Titel des Terminals usw., indem Sie spezielle Zeichenfolgen verwenden, die als Escape-Sequenzen bezeichnet werden.
Die Bash-Shell hat eine Variable namens PROMPT_COMMAND, die, wenn sie gesetzt ist, vor jeder ausgedruckten Eingabeaufforderung ausgewertet wird (ich glaube, zsh hat etwas Ähnliches, tatsächlich glaube ich, dass Bash den Code von ihnen übernommen hat). Sie können Escape-Sequenzen in PROMPT_COMMAND ausgeben und es wird Ihre Titelleiste setzen.
Das habe ich in meinem (Linux/bash):
USER=$(/usr/bin/id -un)
HOSTNAME=$(uname -n)
HOSTNAME=${HOSTNAME%%.*}
PROMPT_COMMAND='echo -ne "\e]0;[email protected]${HOSTNAME}: $(pwd -P)\a"'
Sie können dies in Ihre ~/.bashrc
einfügenEs gibt viele Anpassungen, die Sie mit Ihrem Terminal vornehmen können. Ich mag Fett in meiner Eingabeaufforderung, damit das Ende meiner Eingabeaufforderung leichter zu erkennen ist. Dadurch wird es fett gelb, gut vor meinem standardmäßigen schwarzen Hintergrund:
PS1="\[\e[33;1m\]\h:\$\[\e[0m\] "
Schauen Sie sich nach Linux Prompt Customization um, Sie werden mehr HowTos finden, als Sie wissen, was Sie damit anfangen sollen. Wählen Sie die aus, die Sie am einfachsten lesen können.
Ich habe viele Foren durchsucht und keine Antwort auf die Frage gefunden:
Wie bekomme ich die gesamte Befehlsausgabe in den Putty-Titel?
Benötigte es, damit andere Programme wissen, wann einige Jobs auf einem Server erledigt sind und ob sie richtig oder falsch ausgeführt werden. Plink stdout und stdin funktionierten nicht. Ich habe viele Tweaks mit Wartezeiten verwendet und für einige Befehle, die funktionierten, für andere nicht. XSEL und XCLIP konnten auf diesem Server nicht installiert werden.
Hier ist also die Lösung:
- Befehlsausgabe in einer Datei erhalten.
- Wiederholen Sie diese Datei zum Titel.
Auf Putty-Client und SUSE-Server sieht es so aus:
ls /home | grep domagaja > logutoit.txt
echo -e "\033]0\\;$(cat logutoit.txt)\\007\\c"
Hoffentlich kann das jemand gebrauchen. Es wird natürlich nicht für alle Servertypen und Putty-Client-Einstellungen funktionieren, aber die Idee sollte gut funktionieren.