Woher kommt der Text in der Titelleiste der zsh?

A

AlexZ

Registriert
Thread Starter
Dabei seit
11.01.2012
Beiträge
3
Reaktionspunkte
0
Hallo,

ich habe die zsh installiert und wundere mich, woher der text "mwalter1" nach alex@ in der Titelleiste der zsh / Terminal herkommt. Es gab vor "Urzeiten" mal einen PC im Netzwerk, der so hieß...

attachment.php


Gruß

Alex
 

Anhänge

  • Screen Shot 2012-01-11 at 10.00.44 AM.png
    Screen Shot 2012-01-11 at 10.00.44 AM.png
    26,6 KB · Aufrufe: 168
das ist dein prompt, der wird user@hostname mit drin haben...
 
Ein bisschen offtopic, aber ich denke es hilft Dir, das Problem zu finden. Ausserdem ist das Script sehr brauchbar ;)

Hier ist ein Script, mit dem Du die Titelzeile der Terminal.app aus der zsh einstellst, was auch den Vorteil hat, dass Du immer wieder in dieses directory zurückkommst, wenn z.B. der Rechner neu gestartet wird:
Code:
# system-wide environment settings for zsh(1)
if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

# Tell the terminal about the working directory whenever it changes.
#
# https://devforums.apple.com/message/527752

if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]]; then

    update_terminal_cwd() {
        # Identify the directory using a "file:" scheme URL, including
        # the host name to disambiguate local vs. remote paths.

        # Percent-encode the pathname.
        local URL_PATH=''
        {
            # Use LANG=C to process text byte-by-byte.
            local i ch hexch LANG=C
            for ((i = 1; i <= ${#PWD}; ++i)); do
                ch="$PWD[i]"
                if [[ "$ch" =~ [/._~A-Za-z0-9-] ]]; then
                    URL_PATH+="$ch"
                else
                    hexch=$(printf "%02X" "'$ch")
                    URL_PATH+="%$hexch"
                fi
            done
        }

        local PWD_URL="file://$HOST$URL_PATH"
        #echo "$PWD_URL"        # testing
        printf '\e]7;%s\a' "$PWD_URL"
    }

    # Register the function so it is called whenever the working
    # directory changes.
    autoload add-zsh-hook
    add-zsh-hook chpwd update_terminal_cwd

    # Tell the terminal about the initial directory.
    update_terminal_cwd
fi

Der entscheidende Teil hier ist das

printf '\e]7;%s\a' "$PWD_URL"

Da wird mit einer Operating System Command 7 Escape Sequenz die Titelzeile gesetzt.

Du musst jetzt mal nachsehen, ob in Deiner .zscrc oder Deine /etc/zshenv irgendetwas drinsteht

Gruss

Alex
 
Danke für Eure schnellen Antworten.
Die Ausgabe von PWD_URL hat mich auf den richtigen Weg gebracht.
Offenbar bekomme ich den Hostnamen vom Windows-Server zugewiesen, sobald ich per WLAN mit dem Netzwerk verbunden (aber nicht angemeldet) bin.

Gruß

Alex
 
Der hostname könnte möglicherweise aufgrund eines reverse DNS lookups gesetzt werden.
 
Danke. Ist dieser dann irgendwo explizit z.b. in .zshrc o.ä. aktiviert oder passiert das automatisch?
 
Das passiert automatisch, wenn ich mich nicht total irre

Alex
 
Zurück
Oben Unten