Wenn in Ubuntu 14.10 mehrere Terminal-Registerkarten geöffnet waren, konnte ich mit der rechten Maustaste auf eine Terminal-Registerkarte klicken und diese umbenennen. In Ubuntu 15.04 kann ich diese Funktion nicht finden.
Gibt es einen einfachen Weg, es zurückzubekommen?
Dies ist die aktuelle Version:
$ gnome-terminal --version
GNOME Terminal 3.14.2
gnome-shell
. Es verschwand auch das Menü, um ein neues Terminal in einem neuen Fenster oder einer neuen Registerkarte zu öffnen (aber Sie können es immer noch über die Verknüpfung tun. Warum ?! Ersetzen Sie alles mit einem großen Smart-Button: ein Klick und es macht alles!)Die von Kirby vorgeschlagene
.bashrc
Lösung hat für mich funktioniert:dann von meiner Aufforderung:
$ set-title test-title
quelle
set-title "longer and "
:echo $PS1 \[\e]0; \u@\h: \w \a\]\u@\h:\w\[\033[m\]$(__git_ps1)$ \e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a
Control + Z
dann anhaltenset-title X
, um dannfg
den Prozess fortzusetzen.Ich kann nicht glauben, dass sie solch eine benutzerfreundliche Funktion wie diese entfernt haben.
Ich wechsle zu ROXTerm ( http://roxterm.sourceforge.net ), was die Arbeit gut macht. Es ist in Ubuntu verpackt:
Dann lass den Dinosaurier seinen eigenen Weg gehen ;-)
quelle
Ich habe RoxTerm wie oben vorgeschlagen mit guten Ergebnissen ausprobiert. Aber ich habe mich am 15.04. Für das MATE-Terminal entschieden, das Teil des MATE-Projekts ist, einer Fortsetzung von Gnome 2:
Dieses Terminal basiert auf dem Gnome-Terminal-Code.
Kommentar: Die Denkweise der Gnome Terminal-Entwickler ist schwer zu verstehen. Dort wird viel darüber diskutiert, wie man Terminal-Tabs benennt und wie schwierig es ist, die richtigen zu finden. Wenn dies der Fall ist, warum erschweren Sie es dem Benutzer, sie zu benennen? Gar nicht so schlau.
quelle
Jetzt habe ich das fast einen Tag lang untersucht und endlich einen Weg gefunden, diesen Titel zu setzen. Dies geschieht über Escape-Sequenzen, die mit \ e] 0 beginnen. und ende mit einem BEL-Zeichen (= \ 007 = \ a). Im Gegensatz zu ich oben erwähnt, Mitteilungen der Schale zurück in die Terminal - Anwendung ist möglich, sehr begrenzt, durch eine solche Escape - Sequenzen (es gibt ein paar mehr).
Dazu von oben:
Es kann funktionieren, aber nicht immer.
PROMPT_COMMAND
ist eine Variable, deren Inhalt jedes Mal ausgeführt wird, wenn Sie einen Befehl senden. Daher sendet sie auch diese Escape-Sequenz. Dies kann jedoch durch eine Escape-Sequenz in der PS1-Variablen überschrieben werden, mit der die Befehlszeile festgelegt wird. Dies ist der Grund, warum das oben Gesagte hier keine Wirkung hatte.Aus einer älteren Ubuntu-Installation habe ich folgendes herausgesucht, das die Eingabeaufforderung (rechter Teil nach dem
]
) setzt und auch die erforderliche Escape-Sequenz (linker Teil bis einschließlich des]
) sendet :Dies führt wahrscheinlich zu einer besseren Leistung, da nicht
$PROMPT_COMMAND
jedes Mal eine Interpretation erforderlich ist . Es hat auch viel mehr Optionen, da Bash hier mehr Escape-Sequenzen hat, z. B.\u
für den aktuellen Benutzernamen,\W
für den aktuellen Verzeichnisnamen oder\w
für den gesamten Pfad des aktuellen Arbeitsverzeichnisses, optional auf die letzten paar durch die Zahl in gekürzt$PROMPT_DIRTRIM
. Siehe KapitelPROMPTING
in der Bash-Manpage. Beachten Sie auch, dass die Escape-Sequenz zusätzlich von\[
und\]
hier umgeben sein muss.So legen Sie einen festen Titel fest:
Genießen!
Während meiner Untersuchung habe ich auch versucht, den gnome-terminal-Quellcode zu verstehen, der zu vte-Quellcode führt, und dort wird die Unterstützung für das Setzen von Titeln und das Lesen von Escape-Sequenzen als Sicherheitsrisiko angesehen: Siehe hier (Fall 20, Fall 21) und hier ("Window Title Reporting").
quelle
PS1
für andere Zwecke, wie das Festlegen einer benutzerdefinierten Eingabeaufforderung. Ich habe gerade versucht, Ihre Escape-Sequenz zu den vorhandenenPS1
Inhalten hinzuzufügen, und es scheint zu funktionieren. WiePS1+="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
Das Setzen von $ PROMPT_COMMAND wie oben gezeigt hat hier keine Auswirkung. Kein Wunder, da Bash innerhalb des Terminals ausgeführt wird und übergeordnete Prozesse (hier: gnome-terminal) die Umgebung eines Kindes unter einem Unix-ähnlichen Betriebssystem nicht lesen können. Mit etwas Einfacherem, wie
Führt echo bla aus , sonst passiert nichts.
Bearbeiten: Man muss dies in Escape-Sequenzen einwickeln, siehe meine andere Antwort. Obwohl das Lesen der Kinderumgebung nicht möglich ist, erfolgt über diese Sequenzen eine gewisse Kommunikation zum Elternteil.
Im Gnome-Fehler 740188 wird über das Definieren einer title () -Funktion in .bashrc gesprochen. Ein anderes für jede Registerkarte geöffnet? Schweres hässliches Hacken voraus, wenn überhaupt möglich!
Sogar andere Erklärungen zu Stackexchange beziehen sich auf das Setzen von $ PS1 (und werden hochgestuft). Sorry, nein, das ist nicht der Titel, das ist die Eingabeaufforderung.
Kurz gesagt: Sie haben es irreparabel vermasselt, um ein bisschen Platz im Einstellungsdialog zu sparen. Oh mein Gott
Jetzt besteht die einzige Möglichkeit, eine Entwicklerentscheidung rückgängig zu machen, darin, einen schweren Scheißsturm auszulösen. Andernfalls wird der Fehlerbericht in Sekundenschnelle geschlossen (viele, viele Male ausprobiert). Wie würden wir diesen Shitstorm schaffen?
quelle