VNC (Virtual Network Computing) – это система удалённого доступа, которая позволяет использовать клавиатуру и мышь для взаимодействия с графическим интерфейсом рабочего стола удалённого сервера. С её помощью можно управлять файлами, программным обеспечением и настройками удалённого сервера, не обращаясь к командной строке.
Данный мануал поможет установить VNC на виртуальный выделенный сервер Ubuntu 16.04 и настроить безопасное подключение при помощи SSH-туннеля. Сервер VNC будет использовать TightVNC , быстрый и легковесный пакет удалённого управления, поддерживающий работу даже при медленном интернете.
По умолчанию серверы Ubuntu 18.04 поставляются без предустановленного графического окружения рабочего стола и сервера VNC. Потому сначала нужно установить эти компоненты. В данном мануале используются пакеты Xfce и TightVNC, доступные в официальном репозитории Ubuntu.
Чтобы установить на сервер указанные пакеты, обновите индекс и введите команду:
sudo apt update
sudo apt install xfce4 xfce4-goodies
Теперь установите TightVNC:
sudo apt install tightvncserver
Чтобы завершить начальную настройку сервера VNC после его установки и выбрать надёжный пароль, используйте команду vncserver.
Команда предложит выбрать и подтвердить пароль:
You will require a password to access your desktops.
Password:
Verify:
Пароль должен быть длинной от шести до восьми символов. Более длинные пароли будут автоматически сокращены до 8 символов.
После того как вы подтвердите пароль, у вас будет возможность создать пароль только для просмотра. Пользователи, получающие доступ к VNC при помощи пароля для просмотра, не смогут управлять VNC через мышь или клавиатуру. Такой пароль позволяет вам демонстрировать VNC другим пользователям в случае необходимости.
Затем процесс завершит начальную настройку VNC и создаст конфигурационные файлы.
Would you like to enter a view-only password (y/n)? n
xauth: file /home/8host/.Xauthority does not exist
New "X" desktop is your_hostname:1
Creating default startup script /home/8host/.vnc/xstartup
Сначала нужно определить команды, которые сервер VNC будет выполнять при запуске. Эти команды должны находиться в файле xstartup в каталоге.vnc, который хранится в домашнем каталоге текущего пользователя. Сценарий запуска был создан командой vncserver, но его нужно откорректировать для взаимодействия с Xfce.
При первом запуске VNC использует порт 5901. VNC называет этот порт:1. VNC может запускать другие экземпляры на другие порты, которые будут называться:2, :3, и т.д.
Чтобы изменить настройки сервера VNC, нужно остановить экземпляр, использующий порт 5901.
vncserver -kill:1
Команда вернёт такое сообщение (PID будет отличаться):
Killing Xtightvnc process ID 17648
Создайте резервную копию файла xstartup:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Затем создайте новый файл xstartup:
nano ~/.vnc/xstartup
Вставьте в него следующие команды, которые будут выполняться автоматически при запуске сервера VNC. Сохраните и закройте файл.
~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
При помощи первой команды, xrdb $HOME/.Xresources, GUI сервера VNC читает файл.Xresources. В файле.Xresources пользователь может вносить изменения в некоторые настройки графического рабочего стола (настраивать цвета терминала, темы курсора, шрифты). Вторая команда просто запускает Xfce, в котором хранится все графическое программное обеспечение, необходимое для управления сервером.
Теперь нужно сделать файл исполняемым:
sudo chmod +x ~/.vnc/xstartup
Перезапустите VNC:
Во время запуска сервер вернёт:
New "X" desktop is your_hostname:1
Starting applications specified in /home/8host/.vnc/xstartup
Log file is /home/8host/.vnc/your_hostname:1.log
При подключении VNC не использует безопасные протоколы. Создайте SSH-туннель для безопасного подключения к серверу, а затем настройте клиент VNC для поддержки туннеля вместо прямого подключения.
Создайте на локальном компьютере соединение SSH, которое перейдет в localhost соединение для VNC. Вы можете сделать это в Linux или macOS через терминал с помощью следующей команды:
Флаг -L указывает привязки портов. В этом случае мы привязываем порт 5901 удаленного подключения к порту 5901 на локальном компьютере. Флаг -C включает сжатие, а -N сообщает ssh, что выполнять удаленную команду не нужно. Параметр -l указывает имя удаленного входа.
Не забудьте заменить 8host и your_server_ip своими данными.
Если вы работаете через графический SSH-клиент, например PuTTY, используйте настройках SSH-туннеля your_server_ip в качестве IP-соединения и установите localhost: 5901 в качестве нового порта.
Когда туннель запустится, используйте VNC клиент для подключения к localhost:5901. При этом будет запрошен пароль, который вы выбрали в разделе 1.
После этого вы увидите стандартный экран Xfce.
Вы можете получить доступ к файлам в своем домашнем каталоге с помощью диспетчера файлов или из командной строки.
Нажмите CTRL + C в терминале, чтобы закрыть туннель SSH и вернуться в командную строку. Это также завершит ваш сеанс VNC.
Теперь нужно настроить сервер VNC как сервис system.
Создайте новый юнит-файл /etc/systemd/system/[email protected]:
sudo nano /etc/systemd/system/[email protected]
Символ @ в конце имени файла позволит вам передать аргумент, который можно использовать в конфигурации сервиса. С его помощью можно указать порт VNC, который нужно использовать при управлении сервисом.
Добавьте в файл следующие строки. Обязательно измените значение User, Group, WorkingDirectory и имя пользователя в значении PIDFILE.
/etc/systemd/system/[email protected]
Description=Start TightVNC server at startup
After=syslog.target network.target
Type=forking
User=8host
Group=8host
WorkingDirectory=/home/8host
PIDFile=/home/8host/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800:%i
ExecStop=/usr/bin/vncserver -kill:%i
WantedBy=multi-user.target
Команда ExecStartPre останавливает VNC, если сервис уже запущен. Команда ExecStart запускает VNC и устанавливает глубину цвета – 24-битный цвет с разрешением 1280×800. Вы также можете изменить эти параметры в зависимости от потребностей.
Сохраните и закройте файл.
Затем дайте сообщите системе про новый юнит файл.
sudo systemctl daemon-reload
Включите его:
sudo systemctl enable [email protected]
Цифра 1, идущая за @, определяет, какой номер дисплея должен отображаться в сервисе, в этом случае это значение по умолчанию.
Остановите текущий экземпляр сервера VNC, если он еще запущен.
vncserver -kill:1
Теперь попробуйте запустить его как любой другой сервис systemd:
sudo systemctl start vncserver@1
Чтобы убедиться, что сервер запущен, проверьте его состояние:
sudo systemctl status vncserver@1
[email protected] — Start TightVNC server at startup
Loaded: loaded (/etc/systemd/system/[email protected]; indirect; vendor preset: enabled)
Active: active (running) since Mon 2018-07-09 18:13:53 UTC; 2min 14s ago
Process: 22322 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800:1 (code=exited, status=0/SUCCESS)
Process: 22316 ExecStartPre=/usr/bin/vncserver -kill:1 > /dev/null 2>&1 (code=exited, status=0/SUCCESS)
Main PID: 22330 (Xtightvnc)
...
Теперь сервис VNC добавлен в автозагрузку.
Снова запустите туннель SSH:
ssh -L 5901:127.0.0.1:5901 -C -N -l 8host your_server_ip
Создайте новое подключение с клиента VNC на localhost:5901, чтобы протестировать настройку.
Теперь на сервере Ubuntu 18.04 установлен сервер VNC. С его помощью вы можете управлять файлами, программами и настройками удалённого сервера (например, удаленно запускать веб-браузер).
Tags: , |VNC (Virtual Network Computing) – это система удалённого доступа, которая позволяет использовать клавиатуру и мышь для взаимодействия с графическим интерфейсом рабочего стола удалённого сервера. С её помощью можно управлять файлами, программным обеспечением и настройками удалённого сервера, не обращаясь к командной строке.
Данное руководство поможет установить VNC на виртуальный выделенный сервер Ubuntu 16.04 и настроить безопасное подключение при помощи SSH-туннеля. Сервер VNC будет использовать TightVNC, быстрый и легковесный пакет удалённого управления, поддерживающий работу даже при медленном интернете.
По умолчанию серверы Ubuntu 16.04 поставляются без предустановленного графического окружения рабочего стола и сервера VNC. Потому сначала нужно установить эти компоненты. В данном руководстве используются пакеты Xfce и TightVNC, доступные в официальном репозитории Ubuntu.
Чтобы установить на сервер указанные пакеты, введите:
sudo apt install xfce4 xfce4-goodies tightvncserver
Чтобы завершить начальную настройку сервера VNC после его установки и выбрать надёжный пароль, используйте команду vncserver.
Команда предложит выбрать и подтвердить пароль, а также пароль для просмотра (опционально). Пользователи, получающие доступ к VNC при помощи пароля для просмотра, не смогут управлять VNC при помощи мыши или клавиатуры. Такой пароль позволяет вам демонстрировать VNC другим пользователям в случае необходимости.
Команда vncserver завершит начальную настройку VNC и создаст конфигурационные файлы.
Сначала нужно определить команды, которые сервер VNC будет выполнять при запуске. Эти команды должны находиться в файле xstartup в каталоге.vnc, который хранится в домашнем каталоге текущего пользователя. Сценарий запуска был создан командой vncserver, но его нужно откорректировать для взаимодействия с Xfce.
При первом запуске VNC использует порт 5901. VNC называет этот порт:1. VNC может запускать другие экземпляры на другие порты, которые будут называться:2, :3, и т.д.
Чтобы изменить настройки сервера VNC, нужно остановить экземпляр, использующий порт 5901.
vncserver -kill:1
Команда вернёт такое сообщение (PID будет отличаться):
Killing Xtightvnc process ID 17648
Создайте резервную копию файла xstartup:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Затем создайте новый файл xstartup:
nano ~/.vnc/xstartup
Вставьте в него следующие команды, которые будут выполняться автоматически при запуске сервера VNC. Сохраните и закройте файл.
~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
При помощи первой команды, xrdb $HOME/.Xresources, GUI сервера VNC читает файл.Xresources. В файле.Xresources пользователь может вносить изменения в некоторые настройки графического рабочего стола (настраивать цвета терминала, темы курсора, шрифты). Вторая команда просто запускает Xfce, в котором хранится все графическое программное обеспечение, необходимое для управления сервером.
Теперь нужно передать права на файл:
sudo chmod +x ~/.vnc/xstartup
Перезапустите VNC:
Во время запуска сервер вернёт:
New "X" desktop is your_server_name.com:1
Starting applications specified in /home/8host/.vnc/xstartup
Log file is /home/8host/.vnc/liniverse.com:1.log
Теперь нужно убедиться в том, что сервер VNC настроен правильно.
Создайте SSH-подключение на локальном компьютере, перенаправляемое на localhost сервера VNC. Для этого можно использовать терминал Linux или OS X.
ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address
Примечание : Вместо user и server_ip_address укажите имя пользователя с доступом к sudo и свой IP-адрес.
Если вы используете графический клиент SSH (например, PuTTY), используйте server_ip_address в качестве IP-адреса соединения, а затем укажите localhost:5901 в настройках туннеля SSH.
Теперь можно использовать клиент VNC для подключения к серверу. Для этого нужно пройти аутентификацию. Введите пароль, установленный в разделе 1.
После этого на экране появится стандартный рабочий стол Xfce.
Вы можете получить доступ к файлам домашнего каталога при помощи файлового менеджера или командной строки.
Теперь нужно настроить сервер VNC как сервис system.
Создайте новый файл /etc/systemd/system/[email protected]:
sudo nano /etc/systemd/system/[email protected]
Скопируйте и вставьте в него следующий код:
/etc/systemd/system/[email protected]
Description=Start TightVNC server at startup
After=syslog.target network.target
Type=forking
User=8host
PAMName=login
PIDFile=/home/8host/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800:%i
ExecStop=/usr/bin/vncserver -kill:%i
WantedBy=multi-user.target
Примечание : Укажите имя своего пользователя вместо 8host.
Сохраните и закройте файл.
Перезапустите демон:
sudo systemctl daemon-reload
Включите новый файл:
sudo systemctl enable [email protected]
Остановите текущий экземпляр сервера VNC, если он ещё запущен:
vncserver -kill:1
Теперь попробуйте запустить его как любой другой сервис systemd:
sudo systemctl start vncserver@1
Чтобы убедиться, что сервер запущен, проверьте его состояние:
sudo systemctl status vncserver@1
Если сервер запущен, команда вернёт:
[email protected] - TightVNC server on Ubuntu 16.04
Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
Active: active (running) since Mon 2016-04-25 03:21:34 EDT; 6s ago
Process: 2924 ExecStop=/usr/bin/vncserver -kill:%i (code=exited, status=0/SUCCESS)
...
systemd: Starting TightVNC server on Ubuntu 16.04...
systemd: pam_unix(login:session): session opened for user finid by (uid=0)
systemd: Started TightVNC server on Ubuntu 16.04.
Теперь на сервере Ubuntu 16.04 установлен защищённый сервер VNC. Его помощью можно управлять файлами, программами и настройками удалённого сервера.
Tags: ,Недавно встала задача настроить удалённый доступ по VNC к рабочему столу Ubuntu, и ничто не предвещало беды, т.к. в последних версиях Ubuntu есть встроенный VNC-сервер Vino, который прекрасно работает. Но на Ubuntu 14.04 почему-то работать он отказался, подключение заканчивалось ошибкой » no supported authentication methods!», и никакие манипуляции с настройками проблему не решили. Чтобы не тратить время зря, я решил воспользоваться альтернативным VNC-сервером — X11vnc. Давайте разберёмся, как его настроить.
Первым делом давайте удалим Vino, всё равно корректной работы от него добиться не удаётся, да и в функциональности X11vnc он несколько проигрывает.
Удалим Vine
Для этого открываем терминал и вводим:
Sudo apt-get remove vino
По запросу вводим пароль администратора, подтверждаем удаление.
Теперь установим X11vnc (необходимо подключение к сети Интернет), всё очень просто — вводим в терминале команду:
Sudo apt-get install x11vnc
Подтверждаем установку пакета. Загрузка и установка займёт около одной минуты, ждём завершения.
Соглашаемся с записью пароля в файл
Теперь зададим пароль, который будет запрашиваться при подключении по VNC. Для этого вводим:
X11vnc -storepasswd
Вводим пароль два раза, после соглашаемся на запись в файл. Пароль будет сохранён в файл /home/USER/.vnc/passwd (где «USER» — имя пользователя, под которым мы совершаем настройку, у меня, например, пользователь именуется «test»).
В общем-то уже можно пользоваться, но это будет не слишком удобно по нескольким причинам:
Давайте решим данные проблемы.
Тут всё тоже очень просто. Первым делом с помощью встроенного текстового редактора Gedit создадим файл /etc/init/x11vnc.conf, для этого в терминале вводим:
Sudo gedit /etc/init/x11vnc.conf
По запросу вводим пароль администратора. Откроется текстовый редактор, в тело открытого файла пишем:
Start on login-session-start script x11vnc -dontdisconnect -display:0 -auth /var/run/lightdm/root/:0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/USER/.vnc/passwd end script
В предпоследней строчке вместо «USER» необходимо указать имя пользователя, под которым выполнялась настройка, у меня это «test».
Теперь при включении удалённого компьютера X11vnc будет включаться автоматически. Что важно — запуск сервера будет происходить до авторизации пользователя.
Теперь давайте разберёмся с IP-адресом.
Жмём на «стрелки»
Жмём на иконку передачи данных в правом верхнем углу экрана и в открывшемся списке выбираем «Изменить соединение».
Изменим способ настройки
В открывшемся окне выбираем используемое соеденение (у меня это «Проводное соединение 1») и правее жмём «Изменить».
В открывшемся окне переходим на вкладку «Параметры IPv4», выбираем из выпадающего списка способ настройки «Вручную».
Ниже жмём «Добавить» и прописываем сетевые настройки, которые соответствуют настройкам DHCP-сервера Вашего маршрутизатора (в столбце «Адреса» будет постоянный IP-адрес удалённого компьютера).
Когда все сетевые параметры вписаны, сохраняем
На этом настройка удалённого доступа на Ubuntu закончена — теперь при включении компьютера у нас автоматически запустится настроенный VNC-сервер, и мы сможем удалённо подключиться.
Всё настроено, осталось только подключиться. Для этого нам понадобится VNC-клиент. Я использую UltraVNC Viewer (скачать можно прямо с официального сайта бесплатно — ссылка , зеркало — ссылка (v. 1.2.0.3)).
После загрузки запускаем *.exe файл и, следуя инструкциям установщика, инсталлируем программу. После завершения запускаем.
Указываем IP сервера
Настройки очень простые: в поле «VNC Server:» вписываем IP-адрес (который получает удалённый компьютер) и жмём «Connect». После будет запрошен пароль — вводим пароль и жмём «Log On».
Подключение произошло
Произойдёт подключение к удёлённому компьютеру, можно пользоваться 🙂
Почему не заработал Vino — остаётся загадкой.. С такими же настройками на прошлых версиях Ubuntu всё работало. Если кому-нибудь известна причина — пишите в комментариях.
Сегодня я расскажу про установку и настройку vnc сервера tightvnc в ubuntu 14.04 и 16.04. Сначала поговорим о том почему я выбрал именно tightvnc. Когда я первый раз ставил vnc сервер, я сначала поставил x11vnc, его описывали как легкий в установке и удобный vnc сервер. Так и есть, все работает «из коробки», но вот незадача — этот vnc сервер работает с уже существующей сессией пользователя, а не создает новую. То есть он подключается к текущему рабочему столу пользователя. Многим это подойдет, но мне нужен был такой vnc сервер, который бы при запуске создавал новую сессию. Тут на помощь мне и пришел tightvnc сервер. При запуске tightvnc сервер создает новую сессию для пользователя. Плюсы такого сервера в том, что можно задать произвольное разрешение создаваемого рабочего стола, в независимости от ограничений, наложенных системой компьютера. Например, если удаленный компьютер позволяет выставить максимальное разрешение 1280х1024, это никак не помешает создать с помощью tightvnc сервера рабочий стол с разрешением еще больше. Так же с помощью tightvnc сервера можно создать несколько рабочих столов. Это очень удобно когда необходимо организовать работу для нескольких пользователей на одном компьютере.
И так, давайте приступим к установке tightvnc server в ubuntu 16.04 и 14.04 :
Sudo apt-get install tightvncserver
Запуск tightvnc : в терминале набираем (запуск от текущего пользователя, sudo не нужен)
Vncserver
При первом запуске нужно будет ввести пароль доступа к vnc серверу (минимум 6 символов), и по желанию пароль доступа в режиме «только просмотр».
По умолчанию порт tightvnc сервера 5901. Можно указать другой порт так:
Vncserver:2
При этом tightvnc сервер будет запущен на порту 5902.
Запуск tightvnc server с заданным разрешением экрана осуществляется с параметром geometry, например:
Vncserver -geometry 1280x1024
То есть, если в терминале набрать:
Vncserver -geometry 1280x1024:3
то на порту 5903 будет запущен vnc сервер с разрешением рабочего стола 1280×1024 пикселей. Есть еще куча параметров — глубина цвета и много чего еще, в этой статье рассматриваются только основные.
Остановка tightvnc server :
Vncserver -kill:1
Будет остановлен vncserver на порту 5901.
При установке tightvnc server в каталоге /home/пользователь/.vnc создается скрипт запуска, который называется xstartup. Дело в том, что при создании новой сессии tightvnc server запускает обычные иксы, а xstartup — конфигурационный файл для создаваемой x-сессии, в котором нужно указывать все программы, которые должны загружаться при старте x-сессии, вплоть до таких, как оконный менеджер, например. Вот почему, если не редактировать скрипт запуска и подключится к tightvnc серверу, то вы увидите просто серый экран. Чтобы это исправить, давайте отредактируем файл /home/пользователь/.vnc/xstartup. Первое, что нам понадобится — это добавить туда оконный менеджер. Я рекомендую оконный менеджер «metacity». Установим его:
Sudo apt-get install metacity
После установки добавим строку «metacity &» в файл xstartup:
#!/bin/sh xrdb $HOME/.Xresources #xsetroot -solid grey metacity &
Далее нужно запустить одно приложение, хотя бы терминал. В зависимости от версии дистрибутива linux команды для запуска терминала могут различаться. У меня установлен gnome-terminal. В вашем случае он может не быть установлен, а установлен xterm например. Вообщем, смотрите логи, если у вас ничего не запустится. Логи находятся в той же папке, что и xstartup.
Добавьте строку терминала следующей строкой после «metacity &»:
Gnome-terminal &
В принципе, это минимально возможная конфигурация, так как из терминала можно запустить любое приложение, но мы, чтобы до конца понять суть xstartup, добавим туда еще и браузер firefox. Все вместе получится приблизительно так:
#!/bin/sh xrdb $HOME/.Xresources #xsetroot -solid grey metacity & gnome-terminal & firefox # Fix to make GNOME work export XKL_XMODMAP_DISABLE=1 /etc/X11/Xsession
После внесения изменений в xstartup обязательно перезапустите tightvnc server, если он был запущен. Сейчас после подключения к tightvnc серверу на рабочем столе должен появится открытый терминал и браузер firefox. Но это еще не все. При желании вы можете добавить туда множество приложений, nautilus например, ну вообщем по вашему усмотрению. Я бы рекомендовал добавить док панель вместо них, например gnome-panel, чтобы каждый раз не лезть в терминал для запуска того или иного приложения. Давайте установим ее:
Sudo apt-get install gnome-panel
И добавим ее в файл xstartup вместо приложений terminal и firefox:
#!/bin/sh xrdb $HOME/.Xresources #xsetroot -solid grey metacity & gnome-panel # Fix to make GNOME work export XKL_XMODMAP_DISABLE=1 /etc/X11/Xsession
Теперь при старте x-сессии будет запускаться панель gnome.
Вот и все, настройку tightvnc server на этом можно завершить. Но для прожженных гномоводов у меня еще кое что есть, при старте x-сессии можно запустить gnome сессию. Вот скрипт запуска для gnome сессии:
#!/bin/sh gnome-session & gnome-panel & gnome-settings-daemon & metacity export XKL_XMODMAP_DISABLE=1 #/etc/X11/Xsession
Хочу предупредить, что у меня в gnome сессии возникали глюки с браузерами: раскладка не переключалась, некоторые клавиши срабатывали неправильно. Вообщем смотрите что для вас лучше — иксы или gnome сессия.
В статье рассказано о настройке возможности подключения к Ubuntu по удаленному рабочему столу (аналогично RDP в Windows). Примеры команд выполнены на Linux Ubuntu 18.04.
Рассмотрим два варианта использования графической оболочки — xfce и gnome.
Если используется брандмауэр, добавляем правило:
iptables -A INPUT -p tcp --dport 5901 -j ACCEPT
* в данном примере, мы разрешаем входящие соединения на порту 5901 . Для работы с несколькими портами, добавляем их по аналогии.
apt install xfce4 xfce4-goodies tightvncserver
y n ).
vncserver -kill:1
* экземпляр :1
Настраиваем VNC сервер:
vi ~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4
Снова запускаем vncserver:
Установку выполняем следующей командой:
apt install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4server
Задаем пароль для доступа по удаленному рабочему столу. Для этого вводим команду:
На запрос пароля вводим его дважды. После будет предложено ввод пароля для гостевого доступа — можно согласиться (y ) и ввести пароль или отказаться (n ).
Для начала, останавливаем экземпляр VNC сервера:
vncserver -kill:1
* экземпляр :1 , по умолчанию, слушает на порту 5900+1 (5901).
Настраиваем VNC сервер для текущего пользователя:
vi ~/.vnc/xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
Gnome-panel &
gnome-settings-daemon &
metacity &
Снова запускаем vncserver:
Запускаем клиент VNC. Например, в Linux — Remmina, в Windows — TightVNC Viewer или RealVNC . Вводим IP-адрес компьютера с VNC и номер порта:
Будет запрошен пароль — вводим тот, что устанавливали при настройке.
Чтобы VNC сервер запускался после перезагрузки, создаем новый юнит в systemd:
vi /etc/systemd/system/vncserver.service
Description=VNC server
After=syslog.target network.target
Type=forking
User=root
PAMName=login
PIDFile=/root/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill:1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver
ExecStop=/usr/bin/vncserver -kill:1
WantedBy=multi-user.target
Обновляем systemd:
systemctl daemon-reload
Разрешаем автозапуск сервиса.