Xquartz перестал работать над Maverics. Невозможно установить действительную пересылку X11

У меня проблемы с 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 на моей локальной машине).

Другие шаги в суперпользователе говорят о подобной проблеме:

  1. Вопрос о Маверикс, нет ответа на эту тему.
  2. Вопрос о снежном барде: мне нужно повторить это launchctl load -w снова обращая внимание на sudo совет, о котором я не знал.

Я перепробовал все возможные комбинации и искал возможности поиска в интернете. Я мёртв в воде, ребята, есть идеи?

2 ответа

Решение

Как указано в билете 589 , это может произойти из-за ошибок в сценариях инициализации вашей оболочки.

Как сообщается в билете 685 , это может произойти, если вы замените / usr / bin / mktemp несовместимой версией (например, GNU mktemp).

Сегодня у меня было время снова разобраться в этом, и что забавно, я даже не нуждался в том, чтобы оригинальный mktemp был доступен на /usr/bin/mktemp путь (вы не должны делать это, это только для иллюстрации того, что предыдущее обсуждение mktemp бинарный не имеет ничего общего с проблемой):

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

моя проблема была, вероятно, установка port xquartz вместе с оригинальным xquartz. Я сделал полное удаление на обоих клиентах:

sudo port uninstall xinit xorg-server

И для "оригинального" xquartz (информация здесь, ищите "Удалить (Snow Leopard или Позже)"):

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

Некоторые из них могут потерпеть неудачу, так как деинсталляция порта может деактивировать их, вы можете игнорировать эти ошибки.

Это важно. В моих предыдущих попытках я потерпел неудачу, вероятно, потому что я не перезагружал свою учетную запись, что, по-видимому, необходимо для того, чтобы launchctl заработал (я могу ошибаться, но в любом случае важно, чтобы вы вышли из системы и войдите в свою учетную запись, чтобы изменения вступили в силу).

В чистой среде теперь установите XQuartz, выйдите из системы, войдите в систему, и она должна работать. Если нет, посмотрите в следующих инструкциях отладки из XQuartz, найдите "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

Моя проблема началась на первой линии, где DISPLAY переменная была пуста. Я запускал команды 2 и 3, и ничего не менялось, поэтому я новичок, проблема была в том, что launchtclи не имеет ничего общего с шагами 4 и после. Но ваш случай может отличаться, поэтому следуйте этим инструкциям по отладке, чтобы проверить, в чем ваша проблема.

Другие вопросы по тегам