CloudCompare не запускается с ошибкой: “QXcbConnection: Не удалось подключиться к дисплею :0”

Вопрос или проблема

На прошлой неделе CloudCompare внезапно перестал запускаться. При попытке запустить через ярлык на рабочем столе ничего не происходит. При попытке запустить через командную строку (например, $ cloudcompare.CloudCompare) также ничего не происходит, и я получаю следующую ошибку:

QXcbConnection: Не удалось подключиться к дисплею :0
Прерывание (дамп памяти)

Попытка запустить CloudCompare с sudo/как пользователь root возвращает немного другое сообщение об ошибке:

mkdir: невозможно создать каталог '/run/user/0': Доступ запрещён
QXcbConnection: Не удалось подключиться к дисплею :0

Изучив различные форумы и GitHub, я заметил, что эта проблема возникает у людей с другими программами, которые используют Qt и/или OpenGL (см. 1, 2, 3). Я также понимаю, что этой информации недостаточно для отладки проблемы, поэтому, если есть какая-либо другая диагностическая информация, которую я могу/должен предоставить, дайте мне знать, и я добавлю её.

Моя среда

  • ОС и версия: Ubuntu 14.04 LTS
  • Версия CC: v2.8.1 (последняя)
  • Видеокарта: Intel Haswell Mobile
  • Версия Qt: 5.2.1

Новые системы по дизайну не позволяют графическим приложениям работать от имени root (это связано с Wayland). Решение:

$ xhost si:localuser:root
$ sudo ...ваше-графическое-приложение...

Восстановите стандартные разрешения:

$ xhost -si:localuser:root

Ответ или решение

Проблема с запуском CloudCompare, сопровождающаяся ошибкой “QXcbConnection: Could not connect to display :0”, как правило, связана с конфигурацией дисплейного сервера в вашей операционной системе. Давайте рассмотрим возможные решения этой проблемы.

1. Проверьте переменную окружения DISPLAY

Убедитесь, что переменная окружения DISPLAY установлена правильно. Для этого введите следующую команду в терминале:

echo $DISPLAY

Если вывод пустой, это может быть причиной ошибки. Попробуйте установить её следующим образом:

export DISPLAY=:0

2. Запуск с использованием xhost

Если вы получаете ошибку при запуске графического приложения с правами суперпользователя (например, с помощью sudo), выполните следующую команду, чтобы разрешить пользователю root подключаться к вашему дисплею:

xhost si:localuser:root

После этого попытайтесь снова запустить CloudCompare:

sudo cloudcompare.CloudCompare

Когда закончите, рекомендуется восстановить настройки прав доступа с помощью:

xhost -si:localuser:root

3. Убедитесь, что ваш дисплей работает

Если вы используете удаленный доступ (например, через SSH), необходимо убедиться, что графический интерфейс может быть отрендерен. При подключении используйте следующие параметры:

ssh -X your_username@your_server

4. Проверьте наличие необходимых библиотек

Запустите следующую команду, чтобы увидеть, установлены ли все необходимые зависимости для CloudCompare:

sudo apt-get install libgl1-mesa-glx libglu1-mesa

5. Обновление системы

Если вышеперечисленные решения не помогли, стоит рассмотреть возможность обновления вашей Ubuntu до более свежей версии, поскольку Ubuntu 14.04 LTS больше не поддерживается и может содержать устаревшие компоненты и библиотеки, что может вызывать проблемы с новыми приложениями.

Проверьте обновления с помощью:

sudo apt-get update && sudo apt-get upgrade

6. Последствия и дополнительные шаги

Если после выполнения всех предложенных шагов проблема сохраняется, возможно, стоит проверить лог-файлы системных сообщений (например, dmesg или /var/log/syslog) для получения более подробной информации о сбоях.

Также будет полезно проверить, не конфликтуют ли другие графические приложения или драйверы, которые могут мешать CloudCompare.

При необходимости вы можете создать новый вопрос на форумах поддержки CloudCompare или GitHub, предоставив детали ваших действий и возникающих ошибок.

Следуя вышеуказанным шагам, вы сможете устранить ошибку и восстановить функциональность CloudCompare.

Оцените материал
Добавить комментарий

Капча загружается...