As reported in ticket 589, this can happen due to bugs in your shell init scripts.
As reported in ticket 685, this can happen if you replace /usr/bin/mktemp with an incompatible version (eg: GNU mktemp).
У меня проблемы с XQuartz на Mavericks. После того, как я обратился в службу поддержки Apple genius, чтобы заменить батарею (в которой гениальный парень отключил питание, когда у меня было открыто соединение X11), у меня возникает следующий сбой при попытке открыть XQuartz:
*** 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.
Я попытался сделать чистую установку XQuartz, выполнив:
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
А затем установил последнюю версию XQuartz (на сегодняшний день именно эта ). Выход, вход в систему, безуспешно.
Я также попытался удалить /private/tmp/.X*
файлы, /private/tmp/launch-*
папки, которые содержали дисплеи xquartz, а также .Xauthority
файл в $HOME
каталоге.
Так как это не сработало, я изо всех сил пытался использовать port xorg-server
X11, используя sudo port install xorg-server
после удаления XQuartz. Я также должен был сделать его активным, используя launchctl load -w /Library/LaunchAgents/org.macports.startx.plist
(найденный здесь ) и также использованный sudo port -f deactivate xinit && sudo port activate xinit
(найденный здесь ).
К сожалению, это не сработало (я получил сообщение об ошибке на сервере, в котором говорилось, что у него нет прав на открытие $ DISPLAY на моей локальной машине).
Другие шаги в суперпользователе говорят о подобной проблеме:
launchctl load -w
снова, обращая внимание на sudo
подсказку, о которой я не знал.Я перепробовал все возможные комбинации и искал возможности в Интернете. Я мёртв в воде, ребята, есть идеи?
As reported in ticket 589, this can happen due to bugs in your shell init scripts.
As reported in ticket 685, this can happen if you replace /usr/bin/mktemp with an incompatible version (eg: GNU mktemp).
Today I had time to look again into this, and what is funny though is that I don't even needed to have the original mktemp available on /usr/bin/mktemp
path (you shouldn't do this, this is only to illustrate that the previous discussion about the mktemp
binary had nothing to do with the issue):
`--> ls /usr/bin/mktemp ls: cannot access /usr/bin/mktemp: No such file or directory
my issue was probably the installation of port
xquartz together with the original xquartz. I made a complete uninstall on both clients:
sudo port uninstall xinit xorg-server
And for the "original" xquartz (info here, look for "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
Some of those may fail since the port uninstallation may deactivate those, you can ignore those fails.
This is important. In my previous attempts, I was failing probably because I wouldn't restart my account, which seems that is needed in order to the launchctl to make effect (I might be wrong over here, but anyway, it is important for you to logout and login your account for the installation changes to take effect).
With the clean environment, now install the XQuartz, log-out, log-in and it should work. If not, take a look in the following debug instructions from XQuartz, look for "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
My issue started on the first line, where the DISPLAY
variable was empty. I would run commands 2 and 3, and there was nothing changing it, so I new there the problem was something with the launchtcl
, and had nothing to do with steps 4 and afterwards. But your case could be different, so follow this debug instructions to check what your problem may be.