Как правильно настроить файл xstartup для TightVNC в среде GNOME на Ubuntu 20.04 LTS

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

Я пытаюсь настроить Gnome-Desktop на Ubuntu 20.04 LTS.

Мне удается увидеть рабочий стол с помощью Real VNC Viewer, Apple VNC Screen Share и других VNC-клиентов.
Я могу запускать свои приложения, менеджер рабочего стола работает, копирование/вставка работает внутри сервера,
однако фон серый (без обоев), значки отсутствуют (например, часы, звук и т.д.), копирование/вставка не работает между клиентом и сервером, правая кнопка мыши не работает.

Вот что я установил:

sudo apt-get install ubuntu-gnome-desktop
sudo apt-get install tightvncserver xtightvncviewer tightvnc-java
sudo locale-gen de_DE.UTF-8
sudo apt-get install xfonts-75dpi
sudo apt-get install xfonts-100dpi
sudo apt-get install gnome-panel
sudo apt-get install metacity
sudo apt-get install light-themes
touch ~/.Xresources
vncpasswd

Вот мой файл ~/.vnc/xstartup:

#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

export XKL_XMODMAP_DISABLE=1
#export XDG_CURRENT_DESKTOP="GNOME-Flashback:Unity"
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

#dbus-launch --exit-with-session gnome-session --debug &
dbus-launch --exit-with-session gnome-session --builtin --session=gnome-flashback-metacity --disable-acceleration-check --debug &
#gnome-session --builtin --session=gnome-flashback-metacity --disable-acceleration-check --debug &
gnome-panel &
#gnome-settings-daemon &
metacity &
nautilus &

Вот как выглядит мой экран введите описание изображения здесь

Anaconda dbus:

  
$ dbus-launch --sh-syntax
DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/dbus-dnJFV4HI5y,guid=350c8578f2338379a8489f7a5f91b7e8';
export DBUS_SESSION_BUS_ADDRESS;
DBUS_SESSION_BUS_PID=240265;

Вот файл журнала /home/ubuntu/.vnc/ip-10-0-1-82:1.log:

22/10/20 16:49:46 Xvnc версия TightVNC-1.3.10
22/10/20 16:49:46 Авторские права (C) 2000-2009 TightVNC Group
22/10/20 16:49:46 Авторские права (C) 1999 AT&T Laboratories Cambridge
22/10/20 16:49:46 Все права защищены.
22/10/20 16:49:46 Смотрите http://www.tightvnc.com/ для получения информации о TightVNC
22/10/20 16:49:46 Имя рабочего стола 'X' (ip-10-0-1-82:1)
22/10/20 16:49:46 Поддерживаемые версии протокола: 3.3, 3.7, 3.8, 3.7t, 3.8t
22/10/20 16:49:46 Ожидание VNC подключений на TCP порту 5901
22/10/20 16:49:46 Ожидание HTTP подключений на TCP порту 5801
22/10/20 16:49:46   URL http://ip-10-0-1-82:5801
/home/ubuntu/.vnc/xstartup: 15: vncconfig: не найден
gnome-session-binary[240444]: DEBUG(+): Включение отладки
gnome-session-binary[240444]: DEBUG(+): проверка аппаратного ускорения отключена
gnome-session-binary[240444]: WARNING: Не удалось сделать клиентов, активируемых шиной, осведомленными о переменной окружения QT_IM_MODULE=ibus: Не удалось подключиться: Подключение отклонено
gnome-session-binary[240444]: DEBUG(+): Не удалось сделать systemd осведомленным о переменной окружения QT_IM_MODULE=ibus: Не удалось подключиться: Подключение отклонено
gnome-session-binary[240444]: WARNING: Не удалось сделать клиентов, активируемых шиной, осведомленными о переменной окружения XMODIFIERS=@im=ibus: Не удалось подключиться: Подключение отклонено
gnome-session-binary[240444]: DEBUG(+): Не удалось сделать systemd осведомленным о переменной окружения XMODIFIERS=@im=ibus: Не удалось подключиться: Подключение отклонено
gnome-session-binary[240444]: WARNING: Не удалось сделать клиентов, активируемых шиной, осведомленными о переменной окружения GNOME_DESKTOP_SESSION_ID=this-is-deprecated: Не удалось подключиться: Подключение отклонено
gnome-session-binary[240444]: DEBUG(+): Не удалось сделать systemd осведомленным о переменной окружения GNOME_DESKTOP_SESSION_ID=this-is-deprecated: Не удалось подключиться: Подключение отклонено
gnome-session-binary[240444]: WARNING: Не удалось сделать клиентов, активируемых шиной, осведомленными о переменной окружения XDG_MENU_PREFIX=gnome-: Не удалось подключиться: Подключение отклонено
gnome-session-binary[240444]: DEBUG(+): Не удалось сделать systemd осведомленным о переменной окружения XDG_MENU_PREFIX=gnome-: Не удалось подключиться: Подключение отклонено
gnome-session-binary[240444]: DEBUG(+): Поиск графической сессии для пользователя 1000
gnome-session-binary[240444]: DEBUG(+): Рассмотрение сессии '45'
gnome-session-binary[240444]: DEBUG(+): Сессия '45' не является графической сессией (тип: 'tty')
gnome-session-binary[240444]: DEBUG(+): Рассмотрение сессии '3'
gnome-session-binary[240444]: DEBUG(+): Сессия '3' не является графической сессией (тип: 'tty')
gnome-session-binary[240444]: WARNING: Не удалось получить идентификатор сессии для сессии. Проверьте, правильно ли установлен logind и используется ли pam_systemd при входе.
gnome-session-binary[240444]: DEBUG(+): Использование systemd для отслеживания сессий
gnome-session-binary[240444]: WARNING: Потеряно имя на шине: org.gnome.SessionManager
gnome-session-binary[240444]: CRITICAL: Мы потерпели неудачу, но неудача мертва. Извините....
metacity-Message: 16:49:47.440: не удалось найти расширение XKB.

(metacity:240446): metacity-WARNING **: 16:49:47.446: Не удалось создать композитора: отсутствует требуемое для композитинга расширение composite

(gnome-panel:240445): gnome-panel-WARNING **: 16:49:47.528: Не удалось зарегистрировать клиента: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: Имя org.gnome.SessionManager не предоставлено ни одним .service файлом

22/10/20 16:49:51 Получено соединение от клиента 104.143.92.196
22/10/20 16:49:51 Используется версия протокола 3.3
22/10/20 16:49:51 Аутентификация полного контроля прошла от 104.143.92.196
22/10/20 16:49:51 Используется zlib кодирование для клиента 104.143.92.196
22/10/20 16:49:51 rfbProcessClientNormalMessage: игнорирование неизвестного кодирования 16
22/10/20 16:49:51 Включение обновлений курсора в полноцветном режиме для клиента 104.143.92.196
22/10/20 16:49:51 rfbProcessClientNormalMessage: игнорирование неизвестного кодирования 1104
22/10/20 16:49:51 rfbProcessClientNormalMessage: игнорирование неизвестного кодирования 1100
22/10/20 16:49:51 rfbProcessClientNormalMessage: игнорирование неизвестного кодирования -223
22/10/20 16:49:51 rfbProcessClientNormalMessage: игнорирование неизвестного кодирования 1101
22/10/20 16:49:51 rfbProcessClientNormalMessage: игнорирование неизвестного кодирования 1105
22/10/20 16:49:51 rfbProcessClientNormalMessage: игнорирование неизвестного кодирования 1102

Проблема была решена после удаления версии ‘dbus’ из Anaconda.
Значки все еще отсутствуют, но это проблема с ‘dbus’ и ‘gnome-tweaks’.

$ conda uninstall dbus

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

Что касается меня (я использую kde), у меня были проблемы, но я решил их, используя

tigervncserver -xstartup /path/to/gnome-session

Нет необходимости в кастомном xstartup

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

Как правильно настроить файл xstartup для TightVNC в среде GNOME на Ubuntu 20.04 LTS

Настройка TightVNC для работы с GNOME на Ubuntu 20.04 LTS может вызвать ряд проблем, включая отсутствие иконок, серый фон рабочего стола и ограниченные функции копирования/вставки. В этом руководстве мы подробно рассмотрим, как настроить файл ~/.vnc/xstartup для достижения наилучших результатов.

Шаг 1: Установите необходимые пакеты

Если вы еще не сделали этого, установите необходимые пакеты с помощью следующих команд:

sudo apt-get install ubuntu-gnome-desktop
sudo apt-get install tightvncserver xtightvncviewer tightvnc-java
sudo apt-get install xfonts-75dpi xfonts-100dpi gnome-panel metacity light-themes

После установки выполните команду vncpasswd, чтобы установить пароль для VNC-сессии.

Шаг 2: Создание или редактирование файла ~/.vnc/xstartup

Теперь создайте или отредактируйте ~/.vnc/xstartup, чтобы включить необходимые команды для запуска GNOME с нужными настройками. Убедитесь, что файл имеет права на выполнение:

chmod +x ~/.vnc/xstartup

Добавьте в файл следующий код:

#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

# Экспортируем переменные среды
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"

# Запускаем необходимые сервисы
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey  # Установка фона
vncconfig -iconic &   # Настройка VNC

# Запуск сессии GNOME с отладкой
dbus-launch --exit-with-session gnome-session --builtin --session=gnome-flashback-metacity --disable-acceleration-check &

# Запуск панелей и компонентов GNOME
gnome-panel &
metacity &
nautilus &

Шаг 3: Запуск сервера VNC

Теперь вы можете запустить TightVNC сервер с помощью команды:

tightvncserver

Обратите внимание, что при первом запуске будет создан новый экран (например, :1), и предоставлен порт для подключения (5901).

Шаг 4: Проверка журналов и отладка

Если вы все еще сталкиваетесь с проблемами, проверьте журналы ~/.vnc/имя_хоста:номер_экрана.log на наличие сообщений об ошибках, которые могут помочь в диагностике. В вашем примере журнал указывает на отсутствие vncconfig, что может вызвать проблемы. Убедитесь, что это приложение установлено.

Общие проблемы и их решения

  1. Серый фон и отсутствие иконок: Убедитесь, что gnome-panel, metacity и nautilus запущены как указано выше. Это может быть причиной отсутствия элементов рабочего стола.

  2. Проблемы с копированием/вставкой: Для решения проблемы с взаимодействием между клиентом и сервером VNC, вам может понадобиться дополнительно установить и настроить xclip или другое приложение для управления буфером обмена.

  3. Проблемы с D-Bus: Если вы используете Anaconda и его версию dbus, это может вызвать конфликты. Проверьте, установлен ли системный dbus, и удалите версию из Anaconda, если это необходимо.

conda uninstall dbus

Заключение

С правильной настройкой файла ~/.vnc/xstartup, TightVNC может эффективно работать с GNOME на Ubuntu 20.04 LTS, позволяя вам использовать все преимущества графической среды. Если вы столкнулись с трудностями, ознакомьтесь с приведенными решениями и убедитесь, что все зависимости установлены и корректно настроены.

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

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