Проблемы с VNC в gnome ubuntu 16.04

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

У меня возникают странные проблемы с новой установкой VNC сервера. Недавно я собрал новый сервер Plex, и он работает на gnome Ubuntu 16.04. Пока что я настроил сервер openSSH с аутентификацией Google 2FA. Сейчас я работаю над настройкой vnc, чтобы в конечном итоге запустить его без монитора и подключиться к нему удаленно через vnc по SSH, когда это будет необходимо.

Я начал с выполнения команды:

sudo apt-get install vnc4server

затем запустил vncserver, чтобы настроить его и установить пароль, пока всё хорошо.

Затем я перешел к своему клиентскому ПК (Windows 10) и попытался подключиться без SSH, просто чтобы убедиться, что всё работает. Вот первая проблема: при подключении я получаю просто серый экран, что, я думаю, связано с тем, что рабочая среда не загружается правильно при подключении. Я думаю, я могу это исправить, изменив файл ~/.vnc/xstartup.

Итак, на сервере я выполнил:

sudo gedit ~/.vnc/xstartup

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

[sudo] пароль для username:
Протокол не указан
Не удалось подключиться к Mir: не удалось подключиться к сокету сервера: нет такого файла или каталога
Невозможно инициализировать сервер: Не удалось подключиться: соединение отклонено

(gedit:12145): Gtk-WARNING **: не удалось открыть дисплей: :0

Теперь я в растерянности. Я на 100% уверен, что это связано с VNC, но даже остановка VNC сервера не решает проблему.

У кого-нибудь есть идеи? Я просто блуждаю по кругу и начинаю злиться на этом этапе.

Недавно я сталкивался с проблемами VNC на Raspberry Pi. У меня были похожие ошибки на стороне клиента, как и у вас.
Я решил установить TightVNCserver вместо стандартного, так как TightVNC получил много хороших отзывов.
Вы можете установить TightVNC на свой сервер (sudo apt-get install tightvncserver).
Сначала остановите другое программное обеспечение VNC или удалите его.
Затем, чтобы протестировать TightVNC, войдите как обычный пользователь и установите пароль VNC.

$ tightvncpasswd

После этого запустите tightvnc как обычный пользователь на своем сервере.

$ tightvncserver

Это запустит VNC на вашем сервере.

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

$ ssh -v remote-username@remote-hostname -L 5901:localhost:5901

Это нужно, потому что VNC по умолчанию работает на localhost, но также необходимо
для предотвращения передачи открытого текста.

После этого запустите клиент Remmina и настройте его для подключения к localhost:5901 с удаленным именем пользователя и VNC паролем, который вы создали.

Когда этот тест пройдет успешно, вы можете продолжить и создать сценарий запуска
для автоматического запуска при загрузке сервера или решить использовать его вручную после каждого перезапуска.

Кроме VNC, x2go, на мой взгляд, более удобный и простой в использовании.
Очень классное решение для удаленного рабочего стола.
X2go доступен в репозиториях Ubuntu. Для получения дополнительной информации посмотрите здесь:

http://wiki.x2go.org/doku.php/start

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

Проблемы с настройкой VNC в Gnome на Ubuntu 16.04 могут возникать по ряду причин, и с этим сталкиваются многие пользователи. Давайте разберем вашу ситуацию и предложим несколько решений.

Описание проблемы

Вы столкнулись с проблемой серого экрана при подключении к VNC-серверу. Это часто связано с некорректными настройками файлов, таких как ~/.vnc/xstartup, или могут быть проблемы с запуском графической среды Gnome через VNC. Более того, при попытке открыть графическое приложение с использованием sudo, возникает ошибка с сообщениями о невозможности подключения к серверу или дисплею.

Варианты решений

  1. Настройка файла xstartup:
    Чтобы разрешить проблему серого экрана, вам необходимо убедиться, что файл ~/.vnc/xstartup сконфигурирован правильно. Обычно для Gnome этот файл должен содержать следующие строчки:

    #!/bin/sh
    export XKL_XMODMAP_DISABLE=1
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    exec gnome-session &

    Убедитесь, что файл имеет права на выполнение:

    sudo chmod +x ~/.vnc/xstartup
  2. Установка и использование TightVNC:
    Попробуйте установить TightVNC, который часто рекомендуют из-за его стабильности и отзывчивости. Для этого выполните:

    sudo apt-get remove vnc4server
    sudo apt-get install tightvncserver

    После установки настройте пароль VNC и запустите сервер:

    tightvncpasswd
    tightvncserver
  3. Использование SSH-туннелинга:
    Чтобы улучшить безопасность и функциональность подключения, используйте SSH для туннелирования VNC. На вашей клиентской машине выполните:

    ssh -L 5901:localhost:5901 username@server_ip

    Таким образом, VNC-соединение будет зашифровано.

  4. Заменить VNC на X2Go:
    Если VNC не удовлетворяет вашим потребностям, рассмотрите использование X2Go, который предлагает более гладкую работу с удаленными рабочими столами. Установите необходимое из репозиториев Ubuntu и настройте X2Go клиент и сервер. Более подробную информацию можно найти на официальной вики X2Go.

Заключение

Понимание и корректировка конфигурационных файлов, использование SSH и выбор правильного программного обеспечения, такого как TightVNC или X2Go, часто помогает решить подобные проблемы с VNC на Ubuntu. Надеемся, что эта информация окажется полезной, и ваша система будет корректно функционировать в режиме удаленного доступа.

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

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