Xquartz hat aufgehört, an Maverics zu arbeiten. Eine gültige X11-Weiterleitung kann nicht installiert werden

1589
Werner

Ich habe Probleme mit XQuartz bei Mavericks. Nachdem ich zum Apple-Genie-Support gegangen bin, um meine Batterie zu wechseln (bei dem der Genie-Typ die Stromzufuhr zwang, als ich eine X11-Verbindung geöffnet hatte), habe ich folgenden Absturz, wenn ich versuche, XQuartz zu öffnen:

*** The application X11 could not be opened. *** An error occurred while starting the X11 server: "Cannot establish any listening sockets - Make sure an X server isn't already running" Click Quit to quit X11. Click Report to see more details or send a report to Apple. 

Ich habe versucht, eine saubere Installation des XQuartz vorzunehmen, indem ich Folgendes mache:

launchctl unload /Library/LaunchAgents/org.macosforge.xquartz.startx.plist sudo launchctl unload /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist sudo rm -rf /opt/X11* /Library/Launch*/org.macosforge.xquartz.* /Applications/Utilities/XQuartz.app /etc/*paths.d/*XQuartz sudo pkgutil —forget org.macosforge.xquartz.pkg 

Und dann XQuartz neueste Version installiert (im aktuellen Datum ist es diese ). Abmelden, Einloggen, kein Erfolg.

Ich habe auch versucht, /private/tmp/.X*Dateien, /private/tmp/launch-*Ordner, die xquartz-Anzeigen enthielten, und auch die .XauthorityDatei im $HOMEVerzeichnis zu löschen .

Da dies nicht funktionierte, hatte ich Schwierigkeiten, den port xorg-serverX11 zu verwenden, sudo port install xorg-servernachdem XQuartz deinstalliert wurde. Ich musste es auch aktiv machen launchctl load -w /Library/LaunchAgents/org.macports.startx.plist( hier gefunden ) und auch verwendet sudo port -f deactivate xinit && sudo port activate xinit( hier gefunden ).

Leider hat es auch nicht funktioniert (Ich habe auf dem Server einen Fehler erhalten, der besagt, dass er nicht berechtigt war, $ DISPLAY auf meinem lokalen Rechner zu öffnen).

Andere Schritte in Superuser sprechen über das ähnliche Problem:

  1. Problem mit Mavericks, keine Antwort auf dieses Thema.
  2. Problem auf snowleopard : Ich muss dies noch launchctl load -weinmal wiederholen, indem sudoich auf den Tipp achte, den ich nicht kannte.

Ich habe jede mögliche Kombination ausprobiert und erschöpft im Internet nach Möglichkeiten gesucht. Ich bin tot im Wasser, Leute, irgendwelche Ideen?

0
Ich habe ein Ticket für Xquartz erstellt: [2073] (http://xquartz.macosforge.org/trac/ticket/2073) Werner vor 9 Jahren 0

2 Antworten auf die Frage

2
Jeremy Huddleston Sequoia

Wie in Ticket 589 berichtet, kann dies aufgrund von Fehlern in den Shell-Init-Skripts passieren.

Wie in Ticket 685 berichtet, kann dies passieren, wenn Sie / usr / bin / mktemp durch eine inkompatible Version ersetzen (zB: GNU mktemp).

Vielen Dank für Ihre Antwort (obwohl es eher wie ein Kommentar erscheint). Ich habe 685 gefolgt und mit dem Ticket, das ich erstellt habe ([2073] (http://xquartz.macosforge.org/trac/ticket/2073)), habe ich entdeckt, dass ich -> sudo / usr tue / bin / mktemp -d / tmp / tempdir` Ich erhalte: `/ usr / bin / mktemp: zu wenige X in der Vorlage '/ tmp / tempdir'`, wohingegen mein Standardsystem` mktemp`, welches `-> ist, welches mktemp ist `:` / sw / sbin / mktemp`, gibt keinen Fehler aus: `-> sudo / sw / sbin / mktemp -d / tmp / tempdir`:` / tmp / tempdir` Werner vor 9 Jahren 0
Die Verknüpfung von `/ usr / bin / mktemp` mit` / sw / sbin / mktemp` schien das Problem der Xquartz-Eröffnung zu lösen. Ich habe jedoch Probleme mit der Berechtigung: Wenn ich mich bei einem Server anmelde, der ein X11-Fenster öffnen möchte, erhalte ich eine Meldung: `connect /tmp/launch-zmVJjw/org.macports:0: Berechtigung verweigert` Werner vor 9 Jahren 0
Ok, der `/ sw / sbin / mktemp` ist vom Port-Xorg-Server… Werner vor 9 Jahren 0
Wie ich im Ticket erwähnen werde, wenn MacPorts wieder online ist, haben Sie das System mktemp durch ein Drittanbieter-System ersetzt. Das hat das Problem verursacht. Die Berechtigungsprobleme hängen nicht zusammen. / sw / sbin / mktemp ist NICHT vom Xorg-Server-Port. Sie haben das mit fink installiert. Das Problem mit den Perms ist wahrscheinlich, weil Sie den Xinit-Port deinstalliert haben. Jeremy Huddleston Sequoia vor 9 Jahren 0
Ich verstehe… Entschuldigung, ich wusste nicht, dass der `mktemp` von` Xquartz` oder vom `xorg-server`-Port stammen sollte. Aber wie kann ich es schaffen, dass jeder dieser X11 funktioniert? Werner vor 9 Jahren 0
/ usr / bin / mktemp wird von Apple in OS X bereitgestellt. Sie haben es durch ein Drittanbieter-Binärprogramm ersetzt. Das einzige, was ich empfehlen kann, ist, dass Sie Ihr Betriebssystem neu installieren, da Sie es beschädigt haben. Ersetzen Sie keine ausführbaren Dateien und Bibliotheken, wenn Sie die Folgen nicht verstehen. In diesem Fall hat das Ersetzen von / usr / bin / mktemp durch eine inkompatible Version zur Folge, dass Dinge, die sich darauf verlassen (wie XQuartz), nicht mehr funktionieren. Jeremy Huddleston Sequoia vor 9 Jahren 0
Wenn Sie möchten, können Sie einfach / usr / bin / mktemp durch eine gültige Version ersetzen, aber ich habe keine Ahnung, was Sie sonst noch in / usr / bin durch inkompatible Versionen ersetzt haben. Es ist daher sicherer, es einfach erneut zu installieren und sicherzustellen Sie beschädigen Ihr System in Zukunft nicht. Jeremy Huddleston Sequoia vor 9 Jahren 0
Ich habe x) nicht ersetzt. Ich habe es gerade verschoben und an seiner Stelle einen Link erstellt. Ich habe einen Link zu der ursprünglichen Systemdatei erstellt, nachdem ich entdeckt hatte, und Sie haben mich gewarnt, dass ich dies nicht tun könnte. Werner vor 9 Jahren 0
Ich habe nichts anderes ersetzt, ich versuche, meine Änderungen (besonders beim Sudoing) so stark wie möglich zu verfolgen. Werner vor 9 Jahren 0
Das von Ihnen gemeldete Problem wurde * durch * durch das Ersetzen von / usr / bin / mktemp verursacht. Sie * haben * es später durch einen Symlink zu / sw / bin / mktemp ersetzt, aber die Version, die * vor * Ihrem Symlink stand (die mit uuid C0FE4B3B-A5F2-35A6-A70F-8AD477BCA31C) war nicht diejenige, die es war im Lieferumfang Ihres Betriebssystems enthalten (dh Sie haben etwas getan, um es durch eine Nicht-Apple-Version zu ersetzen). Jeremy Huddleston Sequoia vor 9 Jahren 0
Ich verstehe ... Entschuldigung für das Missverständnis, das Verknüpfen derselben Datei hat mich verwirrt. Ich möchte mich bei Ihnen dafür bedanken, dass Sie mir geholfen haben. Ich werde versuchen, Time Machine zu verwenden, um zu einem Punkt zurückzukehren, an dem dieser Fehler nicht auftreten würde. Werner vor 9 Jahren 0
0
Werner

Heute hatte ich Zeit, uns das noch einmal genauer anzusehen, und es ist lustig, dass ich nicht einmal das Original mktemp auf /usr/bin/mktemppath verfügbar machen musste (Sie sollten dies nicht tun, dies dient nur der Veranschaulichung der vorherigen Diskussion über die mktempbinär hatte nichts mit dem problem zu tun):

`--> ls /usr/bin/mktemp ls: cannot access /usr/bin/mktemp: No such file or directory 

Mein Problem war wahrscheinlich die Installation von portxquartz zusammen mit dem ursprünglichen xquartz. Ich habe eine vollständige Deinstallation auf beiden Clients durchgeführt:

sudo port uninstall xinit xorg-server 

Und für das "Original" xquartz (Infos hier, "Uninstall (Snow Leopard or Later)"):

launchctl unload /Library/LaunchAgents/org.macosforge.xquartz.startx.plist sudo launchctl unload /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist sudo rm -rf /opt/X11* /Library/Launch*/org.macosforge.xquartz.* /Applications/Utilities/XQuartz.app /etc/*paths.d/*XQuartz sudo pkgutil --forget org.macosforge.xquartz.pkg 

Einige davon können fehlschlagen, da die Deinstallation des Ports diese deaktivieren kann. Sie können diese Fehler ignorieren.

Das ist wichtig. Bei meinen vorherigen Versuchen war ich wahrscheinlich nicht dabei, weil ich meinen Account nicht neu starten würde. Dies ist anscheinend erforderlich, um das launchctl zu aktivieren (ich bin hier vielleicht falsch, aber trotzdem ist es wichtig, dass Sie sich abmelden und Melden Sie sich bei Ihrem Konto an, damit die Installationsänderungen wirksam werden.

Installieren Sie in der sauberen Umgebung jetzt XQuartz, melden Sie sich ab, loggen Sie sich ein und es sollte funktionieren. Wenn nicht, werfen Sie einen Blick in die folgenden Debug-Anweisungen von XQuartz und suchen Sie nach "ssh X forwarding debugging":

[1] local $ echo $DISPLAY /tmp/launch-Bh0fLm/:0 [2] local $ grep DISPLAY ~/.*rc ~/.login ~/.*profile ~/.MacOSX/environment.plist 2>/dev/null [3] local $ grep -r DISPLAY /opt/local/etc /sw/etc /etc 2>/dev/null [4] local $ ssh -Y remote Warning: No xauth data; using fake authentication data for X11 forwarding. [5] remote $ echo $DISPLAY localhost:10.0 [6] remote $ grep X11 /etc/ssh/sshd_config ~/.ssh/* X11Forwarding yes X11DisplayOffset 10 

Mein Problem begann in der ersten Zeile, in der die DISPLAYVariable leer war. Ich würde die Befehle 2 und 3 ausführen, und daran gab es nichts zu ändern. Ich war neu da, das Problem war etwas mit dem launchtclund hatte nichts mit den Schritten 4 und danach zu tun. Ihr Fall könnte jedoch anders sein. Befolgen Sie diese Anweisungen, um zu prüfen, was Ihr Problem sein könnte.