Все приложения X11 стали недоступны в Mac OSX Yosemite
обзор
Все приложения X11 стали недоступны без моего понимания. Поскольку нет резервных копий Time Machine, мне нужно все равно решить эту проблему.
Среда
- X11 новее, чем система по умолчанию установлена на
/opt
, - Потому что некоторые приложения требуют символические ссылки от
/usr
, Я сделал это. (например, Wireshark) - Поскольку стабильный 2.7.7 имеет ошибки пересылки, в настоящее время я использую нестабильный 2.7.8.
пробный
Я пытался сбросить системные вызовы с помощью dtruss
, Следующий пример представлен sudo dtruss xclock
, Поведение других приложений X11 также похоже на это. Все приложения X11 зависают после recvfrom
,
Я тоже пытался...
rm ~/.Xauthority
- Переустановите ту же версию X11
Но это не имеет к этому никакого отношения.
Извините за кросспостинг здесь на японском языке; до сих пор нет ответов...
Спасибо.
2 ответа
Установщик OS X удаляет символические ссылки в /usr. Самое простое решение - просто переустановить XQuartz. Это должно восстановить их для таких вещей, как Wireshark и тому подобное, которые используют старое расположение системы.
Вы также можете запустить sudo /usr/libexec/x11-select /opt/X11
Я вспоминаю проблему в поведении poll(2), с которой мы столкнулись в libX11 и libxcb, может быть, 5 лет назад или около того, о чем мне это напоминает. Остатки этого находятся в libxcb configure.ac, где мы используем select(2) вместо poll(2) для старых версий OS X. Проблема заключалась в том, что они не поддерживали вызов poll(2) на символьных устройствах, и мы ' Я просто получил EAGAIN.
В вашем случае это не выглядит так, но что-то получает EAGAIN в recvfrom и, вероятно, игнорирует его, а не пытается снова. Если вы можете выяснить, какова точка вызова для этого recvfrom (может быть, в libxcb?), Это будет хорошим следующим шагом.
Чтобы получить мне больше данных, не могли бы вы подать радар по адресу http://bugreport.apple.com/ и включить системную диагностику, ориентированную на xclock?