gnome-terminal erlaubt keine Änderung des Titels

7

Ich habe in den Einstellungen des Gnome-Terminals die Einstellung "Erster Titel ersetzen" ausgewählt, aber es wird nur der Standardtitel "Terminal" angezeigt. Nachdem ich diese Antwort gelesen hatte , fügte ich Folgendes hinzu .bashrc:

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

und auch diese Zeile auskommentiert:

#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"

Nach dem Neustart des Terminals wurde es user@hostname: ~/currentdirin seinem Titel angezeigt und bei jedem Wechsel cdin ein anderes Verzeichnis geändert . Es ändert sich jedoch immer noch nicht, wenn ich CLI-Programme wie cmusund vimstarte (vim legt beispielsweise den aktuellen Dateinamen als Titel fest).

Ich habe installiert rxvtund dort funktioniert alles einwandfrei.

Ubuntu 13.04, Gnome-Terminal 3.6.1.

Meine .bashrc - fast die gleiche wie bei der Standard-Ubuntu-Installation.

Screenshot des Terminals

Galymzhan
quelle
Sieht aus wie ein Fehler ...
Edwin
Lesen Sie die Kommentare der Antwort, die Sie vorgetragen haben, und versuchen Sie, das relevante PROMPT zu kommentieren.
topless
Wenn eine Software wie VIM oder cmus einen Befehl zum Ändern des Titels ausgibt, wird der Titel geändert ... Sie können nur den Anfangstitel festlegen .
Alex

Antworten:

2

Erstens haben Sie etwas Widersprüchliches in Ihrer Frage. Sie sagten: "Es wurde user@hostname: ~/currentdirin seinem Titel angezeigt und geändert, wann immer ich cdin ein anderes Verzeichnis wechselte" , aber das angehängte Bild sagte etwas anderes. Ich bin mir fast sicher, dass Ihr Terminal wie in der folgenden Abbildung aussehen sollte , wenn Sie in den Einstellungen des Gnome-Terminals die Einstellung "Erster Titel ersetzen" ausgewählt haben und diese ~ / .bashrc-Datei wie gesagt verwenden:

Galymzhan @ Atom

Zweitens liegen Sie völlig falsch mit: "vim legt beispielsweise den aktuellen Dateinamen als Titel fest" . Dazu müssen Sie eine Datei .vimrcmit dem folgenden Code in Ihrem Home-Verzeichnis haben:

let &titlestring = $USER . "@" . hostname() . ": vim " . expand("%:t")
if &term == "screen"
  set t_ts=^[k
  set t_fs=^[\
endif
if &term == "screen" || &term == "xterm"
  set title
endif

Und noch etwas: Ich verstehe noch nicht genau, wofür Sie das if von der 11. bis zur 40. Zeile in Ihrer .bashrcDatei verwenden, aber das Einrichten TERM="gnome-256color"in der Zeile 33 kann in diesem Fall ein Problem sein. Daher empfehle ich Ihnen, diese Zeile zu kommentieren oder den gesamten Code zwischen den Zeilen 11 und 40 zu entfernen.

Nach all dem vimsollte Ihr Terminal bei Verwendung wie folgt aussehen:

galymzhan @ atom: vim

Radu Rădeanu
quelle
Ich habe einen Screenshot gepostet, bevor ich bashrc geändert habe. Entschuldigung für die Verwirrung. Wie auch immer, diese Zeilen 11-40 waren tatsächlich die Ursache für dieses Problem. Sie werden benötigt, um die richtige xterm-Variable festzulegen (wie gnome-256color), aber im Moment bleibe ich beim Standardwert xterm.
Galymzhan
0

Folgendes funktioniert bei mir:

  1. Installieren Sie das xttitlePaket.
    sudo apt-get install xttitle
  2. Hinzufügen zu ~/.bashrc:
    PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[1;31m\]($?)\[\033[00m\]\$ '

  3. Hinzufügen .bashrc

    # from the "xttitle(1)" man page - put info in window title  
    update_title()   {  
      [ $TERM = xterm -o $TERM = xterm-color ] && xttitle "[$$] ${USER}@${HOSTNAME}:$PWD"
    }  
    cd()
    {  
      builtin cd "${@}"
      update_title
    }
    
Walzer
quelle
0

Haben Sie beim Bearbeiten des Standardprofils versucht, diese Konfiguration zu speichern? Terminal schließen und dann wieder öffnen? Ist es gescheitert?

Die normale, sofort einsatzbereite Installation ersetzt meiner Erfahrung nach den ursprünglichen Titel, daher bin ich von dem Problem ein wenig überrascht.

Versuchen Sie diese Methode:

  1. Öffnen Sie ein Terminal
  2. Klicken Sie in der Mautleiste oben auf dem Bildschirm auf Bearbeiten> Profile
  3. Wählen Sie das Standardprofil
  4. Klicken Sie auf die Schaltfläche "Bearbeiten", wobei das Standardprofil markiert ist
  5. Klicken Sie auf die Registerkarte "Titel und Befehl"
  6. Stellen Sie sicher, dass die Schaltfläche "Ersetzen des Ersttitels" sichtbar ist
  7. Klicken Sie auf jedem Bildschirm auf die Schaltfläche "Schließen", um zum Terminal zurückzukehren
  8. Verlassen Sie das Terminal
  9. Starten Sie eine Terminalsitzung neu

Sie sollten den Titel automatisch durch Ihren eindeutigen Benutzernamen und Pfad in Ihrem Home-Verzeichnis ersetzen lassen.

Freecode
quelle
Ich habe alles so gemacht, wie du es beschrieben hast und immer noch kein Glück. Ist es übrigens möglich, eine Einheitsfrage zu sein? Ich habe Screenshot zum Beitrag hinzugefügt
Galymzhan
Verwenden Sie Unity? Persönlich tun und es funktioniert und hat immer. Zu diesem Zeitpunkt haben wahrscheinlich alle Ergänzungen zu .bashrc die Ausgabe auf eine Weise beeinflusst, die nicht so normal ist, wenn Sie die beschriebene Methode verwenden. Eine weitere Bearbeitung wird das Problem wahrscheinlich im Vergleich zur Standardkonfiguration verschärfen. Ein Weg, um sicher zu testen: Erstellen Sie einen anderen Benutzer, probieren Sie die oben beschriebene Methode aus und prüfen Sie, ob sie funktioniert.
Freecode