- Вопрос или проблема
- Ответ или решение
- Как правильно настроить файл xstartup для TightVNC в среде GNOME на Ubuntu 20.04 LTS
- Шаг 1: Установите необходимые пакеты
- Шаг 2: Создание или редактирование файла ~/.vnc/xstartup
- Шаг 3: Запуск сервера VNC
- Шаг 4: Проверка журналов и отладка
- Общие проблемы и их решения
- Заключение
Вопрос или проблема
Я пытаюсь настроить 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
, что может вызвать проблемы. Убедитесь, что это приложение установлено.
Общие проблемы и их решения
-
Серый фон и отсутствие иконок: Убедитесь, что
gnome-panel
,metacity
иnautilus
запущены как указано выше. Это может быть причиной отсутствия элементов рабочего стола. -
Проблемы с копированием/вставкой: Для решения проблемы с взаимодействием между клиентом и сервером VNC, вам может понадобиться дополнительно установить и настроить
xclip
или другое приложение для управления буфером обмена. -
Проблемы с D-Bus: Если вы используете
Anaconda
и его версиюdbus
, это может вызвать конфликты. Проверьте, установлен ли системныйdbus
, и удалите версию изAnaconda
, если это необходимо.
conda uninstall dbus
Заключение
С правильной настройкой файла ~/.vnc/xstartup
, TightVNC может эффективно работать с GNOME на Ubuntu 20.04 LTS, позволяя вам использовать все преимущества графической среды. Если вы столкнулись с трудностями, ознакомьтесь с приведенными решениями и убедитесь, что все зависимости установлены и корректно настроены.