Tightvnc на Ubuntu 20.04 не запускает gnome-session

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

Я установил Ubuntu 20.04 и tightvncserver, однако, когда я подключаюсь к рабочему столу, я вижу серый рабочий стол. Я попробовал несколько идей вручную запустить gnome-session в файле xstartup, но не смог это исправить. Оригинальная конфигурация представлена ниже.

$ cat xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Исправление для работы GNOME
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession

$ dpkg -l | grep vnc
ii  libvncclient1:amd64         0.9.12+dfsg-9ubuntu0.2      amd64        API для написания собственного VNC сервера - клиентская библиотека
ii  remmina-plugin-vnc:amd64    1.4.2+dfsg-1ubuntu1        amd64        VNC плагин для Remmina
ii  tightvncserver       

$ vncserver -geometry 1300x900 :1
Новый 'X' рабочий стол - Frontend:1
Запуск приложений, указанных в /home/mahmood/.vnc/xstartup
Файл журнала - /home/mahmood/.vnc/Frontend:1.log
 

Результат показан ниже

введите описание изображения здесь

Есть идеи, как это исправить?

У меня нет решения, но я знаю, что у меня такая же проблема. Причина, вероятно, в d-bus, потому что именно d-bus всегда мешает работе gnome.

Посмотреть в ~/.vnc/ в файлах журнала вашего vnc сервера даст вам подсказку.

gnome-session-binary[257100]: КРИТИЧЕСКО: Мы потерпели неудачу, но кит не может помочь. Извините….

Я пробовал использовать аналогичные методы и руководства в интернете, но единственное, что сработало для меня, это скачать последнюю стабильную версию TIGERVNC (не TIGHTVNC) и установить ее, а затем настроить в соответствии с инструкциями в HOWTO.md для этого релиза.

На момент написания этого сообщения стабильная версия была 1.12, и установка прошла без проблем.

  1. Установите tigervnc из .deb файла (по разумной причине репозитории Ubuntu не используют последнюю версию)
  2. Добавьте пользователей в список в файле /etc/vncserver.users
  3. Войдите как пользователь и установите VNC пароль с помощью команды vncpasswd
  4. Настройте ваш firewall, чтобы разрешить службу vnc-server
  5. Включите vncserver:@.service, если хотите, чтобы VNC сервер запускался при старте системы.

Вот и всё. TIGERVNC обновил способ, которым мы должны настраивать новые экземпляры VNC сервера для каждого нового пользователя – используя файл /etc/tigervnc/vncserver.users. Этот метод намного проще, чем поддерживать и редактировать файлы службы systemd, как в старые времена 😛

Я даже не пришлось создавать файл xstartup!!!

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

Проблема с запуском GNOME при использованием TightVNC на Ubuntu 20.04 может быть вызвана несколькими факторами. Ниже приведены шаги для решения данной проблемы, а также рекомендации по переходу на более современный VNC-сервер – TigerVNC, который имеет лучшие возможности и меньше проблем с совместимостью.

1. Причины проблемы

Как вы уже заметили, основной причиной проблемы может быть неправильно настроенная сессия D-Bus или конфигурация VNC. Использование файла ~/.vnc/xstartup для запуска сеанса GNOME может не всегда срабатывать из-за особенностей настройки окружения.

Приведённая вами ошибка gnome-session-binary[257100]: CRITICAL: We failed, but the fail whale is dead. Sorry.... указывает на проблемы с запуском GNOME. Возможно, это связано с отсутствием необходимых окружений или неправильной инициализацией D-Bus.

2. Проверка конфигурации xstartup

Убедитесь, что ваш файл ~/.vnc/xstartup содержит следующие команды:

#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
gnome-session &

Обратите внимание, что если вы хотите запустить GNOME, вы должны добавить gnome-session & вместо /etc/X11/Xsession.

3. Установка и настройка TigerVNC

Если вышеуказанные шаги не помогли, я настоятельно рекомендую перейти на TigerVNC, который предлагает более стабильную работу, чем TightVNC. Вот пошаговое руководство для установки TigerVNC:

  1. Установка TigerVNC:
    Скачайте .deb файл последней стабильной версии TigerVNC (например, 1.12) и установите его с помощью команды:

    sudo dpkg -i <название_файла>.deb
  2. Настройка пользователей:
    Создайте файл /etc/vncserver.users и добавьте туда пользователей, которые будут использовать VNC.

  3. Установка пароля VNC:
    Войдите в систему с нужным пользователем и выполните команду:

    vncpasswd
  4. Конфигурация фаервола:
    Убедитесь, что ваш фаервол позволяет соединения через соответствующий порт VNC (обычно 5900+номер дисплея).

  5. Автозапуск VNC-сервера:
    Если требуется запускать VNC-сервер при старте системы, вам нужно будет активировать сервис:

    sudo systemctl enable vncserver@:1.service

4. Заключение

После выполнения этих шагов TigerVNC должен работать без проблем. Он упрощает процесс настройки и устраняет многие проблемы, встречающиеся при использовании TightVNC. Если вы решили остаться на TightVNC, попробуйте решить проблемы с D-Bus и обновить свою конфигурацию xstartup, как указано выше. Однако для более стабильного и современного решения настоятельно рекомендую перейти к TigerVNC.

Если у вас остались вопросы или вам необходима дополнительная помощь, пожалуйста, не стесняйтесь задавать их!

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

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