Kann X11 nicht mehr mit ssh verwenden. Habe XQuartz2.7.7 installiert. Wenn Sie sich mit X11 über ssh anmelden, erhalten Sie die Warnungen
Warnung: Setup der nicht vertrauenswürdigen X11-Weiterleitung fehlgeschlagen: xauth-Schlüsseldaten nicht generiert Warnung: Keine xauth-Daten; Verwenden gefälschter Authentifizierungsdaten für die X11-Weiterleitung.
In meinem eigenen System echo $DISPLAY
gibt
/private/tmp/com.apple.launchd.GuewxwWwKS/org.macosforge.xquartz:0
Wenn ich es jedoch versuche xauth generate $DISPLAY . trusted
, erhalte ich den Fehler
xauth: (argv): 1: falscher Anzeigename "/private/tmp/com.apple.launchd.GuewxwWwKS/org.macosforge.xquartz:0" im Befehl "add"
Irgendwelche Ideen, wie man das behebt?
$DISPLAY
ist falsch. Es sollte so etwas sein:0.0
. Haben Sie setzen$DISPLAY
in~/.bash_profile
oder~/.profile
sich selbst?-Y
Option anstelle von verwenden-X
? Welches Betriebssystem verwendet Ihr Server? Und: Auf einem Mac ist es völlig normal, dass Sie$DISPLAY
etwas eingestellt haben/tmp/
.DISPLAY=:0.0
, und es hat funktioniert. Ich habe dies in mein .bash_profileAntworten:
AKTUALISIEREN
Der Entwickler Jeremy Huddleston Sequoia gab gestern bekannt, dass dieses Problem in XQuartz 2.7.8_beta2 behoben ist :
Der Fehlerbericht ist geschlossen und als behoben markiert:
Wenn Sie die Betaversion nicht installieren können (oder möchten), können Sie dennoch die unten beschriebene Problemumgehung verwenden.
ANTWORTEN
Analyse
(Scrollen Sie nach unten für den Workaround-Abschnitt)
Mein erster Gedanke war "die
DISPLAY
Variable ist falsch". Aber es ist nicht.Wie sich herausstellt, speichert die Variable unter OS X 10.10 Yosemite (und zurück zu 10.8 Mountain Lion )
DISPLAY
einenlaunchd
Socket-Pfad:anstelle des bekannten Anzeigenamens:
(Ich habe
hostname:displaynumber.screennumber
am Ende dieser Antwort einige Informationen zum Format hinzugefügt .)Das bedeutet, dass
xauth
man wissen muss, wie man mit dieser speziellen Inkarnation derDISPLAY
Variablen umgeht, und wie bei Mavericks, aber der in Yosemite verwendete Socket hat einen anderen Pfad (genauer:/private/tmp/com.apple.launchd.XXXX
statt/private/tmp/launch-XXXX
) undxauth
bricht.Dieser Fehler wurde dem XQuartz-Team am 18. November 2014 (vor 3 Monaten) gemeldet ( http://xquartz.macosforge.org/trac/ticket/2068 ):
Laut Fehlerbeschreibung soll es in XQuartz 2.7.8 behoben werden, was 4 Monate zu spät ist (siehe die Projekt-Roadmap-Seite unter http://xquartz.macosforge.org/trac/roadmap ).
Der Patch zur Behebung des Problems wurde am 31. Dezember 2014 für das Projekt freedesktop.org ( http://cgit.freedesktop.org/xorg/app/xauth/commit/parsedpy.c?id=f990dd936b5fd1a40290bb88cde517a0ac38f823 ) bereitgestellt :
Es ist also nur eine Frage der Zeit, bis dieser Patch seinen Weg in die nächste Version von XQuartz findet.
Umgehung
(Getestet unter OS X 10.10.2 Yosemite.)
Hinzufügen:
Öffnen
~/.bashrc
und starten Sie entweder ein neues Terminalfenster oder geben Sie ihm (. ~/.bashrc
) in Ihrer aktuellen Terminal-Sitzung eine Quelle .Dieser Alias verknüpft zuerst den Socket-Pfad mit
/private/tmp/launch-XXX
(zum Beispielln -fs /private/tmp/com.apple.launchd.GuewxwWwKS /private/tmp/launch-GuewxwWwKS
) und startet dannssh
:Für die neugierigen, traditionell hat der Anzeigename des X-Servers diese Form (von
man X
Ubuntu): Der Anzeigename des X-Servers hat diese Form:woher:
quelle