Terminal hängt, wenn der Titel einen nicht erreichbaren NFS-Pfad enthält

2

[Bearbeiten: Neuformulierung, um die Frage klarer zu machen]

Ich benutze das Mac Terminal, um auf entfernte Linux-Systeme zuzugreifen. Auf dem Mac wird die Bash-Eingabeaufforderung wie folgt festgelegt:

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}\007"

Auf dem Remote- Linux-System lautet die Bash-Eingabeaufforderung wie folgt:

 PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'

(Dieser Pfad befindet sich in / etc / bashrc auf dem entfernten Linux-System und kann nicht durch bloße Moral bearbeitet werden.)

Wenn ich ein Terminal starte, sieht der Titel meiner Terminal-Sitzung folgendermaßen aus:

user@mymac -- -bash

(Das "- -bash" -Element scheint vom Terminal hinzugefügt worden zu sein.)

Und nachdem ich auf ein Linux-System umgestiegen bin, ändert sich der Titel in:

otheruser@linuxbox:~ -- ssh linuxbox

(das vom Terminal hinzugefügte Element "- ssh linuxbox")

Das Problem ist, wenn ich auf dem REMOTE LINUX-System zu einem Automount-Pfad wie 'cd / net / hostname / path' wechsle, bei dem der NFS-Pfad auf das Linux-System exportiert wird, aber NICHT auf meinen Mac. Das Terminal stürzt ab. Jedes Fenster, jede Registerkarte wird unbrauchbar.

Der Titel an dieser Stelle wurde festgelegt auf:

 otheruser@linuxbox:/net/hostname/path -- ssh linuxbox

Ich habe endlich herausgefunden, dass mein Mac versucht, das Dateisystem nfs, auf das in der Remote-Terminalsitzung verwiesen wird, zu mounten, was meiner Meinung nach durch den Titel ausgelöst wird, da dies der einzige Weg ist, auf dem der Pfad '/ net / ... übergeben wird Auf meinem lokalen Mac werden und der folgende Mount-Befehl ausgeführt:

 $ ps -ef | grep automount    0   858     1   0 10:58AM ??         0:00.08 automountd
0  1003   858   0 11:03AM ??         0:00.00 /sbin/mount -o nobrowse -t nfs -o retrycnt=0 -o nosuid,nodev -o nosuid -o automounted -o nosuid hostname:/path   /net/hostname/path
0  1004  1003   0 11:03AM ??         0:00.01 /sbin/mount_nfs -o nobrowse -o retrycnt=0 -o nosuid -o nodev -o nosuid -o automounted -o nosuid hostname:/path /net/hostname/path

Wenn ich den Befehl 'mount_nfs' mit 'kill -9' beende, reagiert das Terminal erneut, bis der Titel des Terminals geändert wird, wenn die Eingabeaufforderung aktualisiert wird. Welches ist häufig.

Warum löst das Terminal in diesem Fall einen Mount-Befehl lokal aus? Wie kann ich damit aufhören? Das ist, ohne die Eingabeaufforderung auf dem Remote-System ändern zu müssen.

Strahl
quelle
Warum erwarten Sie OS X wissen tp , dass der Weg , den Sie auf CD geben nicht vorhanden ist - es ist ein gültiger Name
Mark
Anders ausgedrückt: Warum muss OS X überhaupt über ein Remote-Dateisystem nachdenken (dh versuchen, es zu mounten), das auf dem Titel einer Terminalsitzung basiert? ... vor allem, wenn sich diese Terminalsitzung auf einem Remote-System befindet.
Ray
Wie alle Unix - Varianten , wenn Sie für PWD Unix fragen erwartet das Verzeichnis vorhanden zu sein , und wenn es nicht versucht , helfend zu mounten
Mark
Markieren Sie - das 'pwd' wird auf dem Remote-System ausgeführt, um die Eingabeaufforderung (und den Titel) zu erstellen. Ich verstehe nicht, warum OS X wichtig ist, und versuche, den Pfad ebenfalls bereitzustellen.
Ray
Kein pwd ist im aktuellen System immer aufgeregt - Sie müssten ausführen, um auf einem beliebigen Frachtsystem auszuführen
Mark