Подключение к удаленному компьютеру по VNC
1. Установка VNC-клиента
2. Подключение VNC-клиента к удаленному компьютеру
3. Отключение VNC-клиента от удаленного компьютера
4. Тюнинг VNC-клиента
5. Частые проблемы
Для работы с удаленным компьютером по VNC на компьютере пользователя нужно запустить программу-клиент (VNC viewer, VNC client). Эта программа передает на удаленный компьютер данные о нажатиях на клавиши и о движениях мыши, сделанных пользователем, и показывает информацию, предназначенную к выводу на экран.
1. Установка VNC-клиента
Для ОС Windows можно бесплатно скачать и инсталлировать VNC-клиент UltraVNC и TightVNC.
Mac OS X начиная с версии 10.5 имеет поддержку VNC-клиента в RemoteDesktop. Для предыдущих версий можно использовать VNC-клиенты JollysFastVNC и Chicken.
Для Linux ветви Debian (Ubuntu) VNC-клиент устанавливается из репозитория командой:
apt-get install vncviewer
Для ветви RedHat (CentOS, Fedora) — командой:
yum install vnc
Для FreeBSD VNC-клиент (TightVNC) устанавливается из пакетов командой:
pkg_add -r tightvnc
2. Подключение VNC-клиента к удаленному компьютеру
Для подключения VNC-клиента к удаленному компьютеру требуется указать его IP-адрес или DNS-имя, и номер дисплея (по умолчанию, :0) или номер TCP-порта (по умолчанию, 5900). Если VNC-сервер требует авторизации, то при подключении к нему VNC-клиент запросит пароль. Обратите внимание, что пароль доступа к VNC-серверу не связан с каким-либо аккаунтом (учетной записью пользователя) на удаленном компьютере, а служит только для ограничения доступа к дисплею VNC-сервера.
После установки соединения и открытия экрана, в зависимости от настроек VNC-сервера может потребоваться авторизация пользователя на виртуальном сервере или может быть открыта уже запущенная рабочая сессия какого-либо пользователя.
Так как на компьютере одновременно могут работать несколько VNC-серверов, для их разделения используют параметр номер дисплея. Например, один VNC-сервер может быть запущен на дисплее :0, другой — на дисплее :1. Каждому номеру дисплея соответствует номер TCP-порта, на котором VNC-сервер принимает соединения. Номер порта для дисплея получается прибавлением номера дисплея к базовому номеру порта — 5900. Дисплею :0 соответствует TCP-порт 5900, дисплею :1 — порт 5901.
3. Отключение VNC-клиента от удаленного компьютера
При закрытии окна VNC-клиента или после выхода из окружения средствами рабочего стола, в зависимости от настроек VNC-сервера, рабочая сессия пользователя может закрыться с остановкой всех используемых программ, или продолжать работу и быть доступной снова при повторном подключении к VNC-серверу.
4. Тюнинг VNC-клиента
Большое количество передаваемой на экран информации влечет за собой повышенные требования к скорости канала — к его пропускной способности и времени передачи пакетов. Нахватка пропускной способности приводит к некомфортным задержкам при больших изменениях показывамой на экране информации — открытии новых окон, скроллинге и т.д. Особенно большие задержки будут возникать при показывании фотографий и других изображений или элементов интерфейса, имеющих большое количество цветов и сложные формы.
Главный параметр, который влияет на объем передаваемых данных — алгоритм кодирования передаваемой графики. Для уменьшения объема и, соответственно, ускорения работы, рекомендуется использовать алгоритмы Tight, ZLib, ZRLE — по сравнению с несжатыми данными (Raw), они обеспечивают сжатие в десятки раз, заметно нагружая процессор. Эти алгоритмы кодирования обеспечивают комфортную работу даже на каналах со скоростью 256-512 Кбит/сек.
Для сокращения объема передаваемой по сети информации также можно устанавливать высокий уровень сжатия (Compression Level, Compression Value), низкий уровень качества JPEG (JPEG Quality) и включать режим уменьшения количества цветов (-bgr233, Restricted colors). Самый большой эффект из них при заметном снижении качества изображения дает режим уменьшения количества цветов — объем передаваемой информации уменьшается в 1.5-3 раза, соответственно, в 1.5-3 раза ускоряется отображение на экране.
JPEG применяется алгоритмом кодирования Tight для сжатия участков экрана, содержащих фотографии и другие сложные изображения с большим числом цветов. Использование Tight+JPEG сокращает в 2-5 раз объем передаваемых при этом данных. Другие алгоритмы кодирования JPEG не поддерживают.
1. Выпадающего меню «Система -> Параметры»
Объем передаваемых данных и скорость отображения на канале 1 Мбит/сек при открытии выпадающего меню «Система -> Параметры» (на рисунке меню выделено зеленым пунктиром):
| Полноцветный режим | 256 цветов (BGR233) | |||
|---|---|---|---|---|
| Объем | Время | Объем | Время | |
| ZLib | 11 Кб | 0.09 сек | 7 Кб | 0.06 сек |
| HexTile | 208 Кб | 1.6 сек | 118 Кб | 0.95 сек |
| Raw | 248 Кб | 2 сек | 128 Кб | 1 сек |
5. Частые проблемы
Не удается подключиться к VNC-серверу
- есть ли доступ к интернету;
- отвечает ли виртуальный сервер на пинги;
- запущен ли на виртуальном сервере VNC-сервер;
- нет ли по пути файервола, закрывающего доступ к TCP-порту VNC-сервера;
- правльно ли указан номер дисплея или TCP-порт VNC-сервера (номер порта = 5900 + номер дисплея).
Медленная работа через достаточно быстрый канал
Если VNC-клиент не может согласовать с VNC-сервером использование алгоритм кодирования графики с компрессией данных, выбирается алгоритм по умолчанию — Raw, который передает данные без сжатия. Также кодирование без сжатия или с низким уровнем сжатия может автоматически выбираться VNC-клиентом при работе через быструю локальную сеть. Данную проблему можно исправить, принудительно указав в настройках VNC-клиента алгоритм кодирования с высоким уровнем сжатия — ZLib, ZRLE, Tight.
Однако, для некоторых сочетаний клиента и сервера такое решение может быть бесполезным из-за ошибок в согласовании алгоритма кодирования. Например, клиент TightVNC с сервером RealVNC часто могут работать только с кодировкой Raw. Решением в этом случае будет смена VNC-клиента или VNC-сервера.
Установка и настройка VNC в Ubuntu 20.04

Virtual Network Computing или VNC — это система подключения, позволяющая использовать клавиатуру и мышь для взаимодействия с графической средой рабочего стола на удаленном сервере. Данная система упрощает управление файлами, программным обеспечением и настройками на удаленном сервере для пользователей, которые еще не очень знакомы с управлением через командную строку.
С помощью этого обучающего модуля вы научитесь настраивать сервер VNC с помощью TightVNC на сервере Ubuntu 20.04 и подключаться к нему через защищенный туннель SSH. Затем вы будете использовать клиентскую программу VNC на вашем локальном компьютере для взаимодействия с вашим сервером через графическую среду рабочего стола.
Предварительные требования
Для завершения данного обучающего модуля вам потребуется:
- Один сервер Ubuntu 20.04, non-root user с правами администратора и брандмауэр, настроенный с помощью UFW. Чтобы выполнить настройку, воспользуйтесь руководством по начальной настройке сервера Ubuntu 20.04.
- Локальный компьютер с установленным клиентом VNC. Клиент VNC, который вы используете, должен поддерживать подключение через туннели SSH:
- В Windows вы можете использовать TightVNC, RealVNC или UltraVNC.
- В macOS вы можете использовать встроенную программу Screen Sharing или кросс-платформенное приложение, например RealVNC.
- В Linux вы можете использовать разные решения, в том числе vinagre , krdc , RealVNC или TightVNC.
Шаг 1 — Установка среды рабочего стола и сервера VNC
По умолчанию сервер Ubuntu 20.04 поставляется без графической среды рабочего стола и без сервера VNC, так что для начала вам нужно их установить.
У вас существует много вариантов при выборе сервера VNC и среды рабочего стола. В этом обучающем модуле мы установим пакеты новейшей среды рабочего стола Xfce и пакет TightVNC, доступный в официальном репозитории Ubuntu. И Xfce, и TightVNC известны как легкие и быстрые системы. Благодаря этому наше соединение VNC будет стабильным и удобным даже при низкой скорости подключения к Интернету.
После подключения к вашему серверу с помощью SSH обновите список пакетов:
Теперь установите Xfce вместе с пакетом xfce4-goodies , который содержит несколько дополнительных возможностей для среды рабочего стола:
Во время установки вам может быть предложено выбрать диспетчер отображения для Xfce по умолчанию. Диспетчер отображения — это программа, которая позволяет выбрать и выполнить вход в среду рабочего стола через графический интерфейс. Вы будете использовать Xfce только при подключении к клиенту VNC, и во время этих сеансов Xfce вы уже будете в системе как пользователь Ubuntu без прав root. Поэтому для данного обучающего модуля выбор диспетчера отображения не является принципиальным. Выберите любой и нажмите ENTER .
После завершения установки установите сервер TightVNC:
Далее задайте команду vncserver для установки пароля доступа к VNC, создайте файлы начальной конфигурации и запустите экземпляр сервера VNC:
Вам будет предложено ввести и подтвердить пароль для удаленного доступа к системе:
Пароль должен иметь длину от 6 до 8 символов. Пароли длиной более 8 символов будут автоматически обрезаны.
После подтверждения пароля вы сможете создать пароль только для просмотра. Пользователи, входящие с паролем только для просмотра, не смогут контролировать экземпляр сервера VNC с помощью мыши или клавиатуры. Это полезная возможность, если вам нужно что-то продемонстрировать с помощью сервера VNC, однако использовать ее необязательно.
Затем процесс создает необходимые файлы конфигурации по умолчанию и данные подключения для сервера. Дополнительно он запускает экземпляр сервера по умолчанию на порту 5901 . Этот порт называется портом дисплея и учитывается VNC как :1 . VNC может запускать несколько экземпляров на других портах дисплея, при этом порт 5902 учитывается как :2 , порт 5903 как :3 и т. д.:
Обратите внимание, если вы захотите изменить пароль или добавить пароль только для просмотра, вы можете сделать это с помощью команды vncpasswd :
На этом этапе сервер VNC уже установлен и работает. Давайте настроим его для запуска Xfce и дадим доступ к серверу через графический интерфейс.
Шаг 2 — Настройка сервера VNC
Сервер VNC должен знать, какие команды следует выполнять при запуске. В частности, VNC должен знать, к какой графической среде рабочего стола следует подключиться.
Команды, запускаемые сервером VNC при старте, находятся в файле конфигурации с именем xstartup в папке .vnc вашего домашнего каталога. Скрипт запуска был создан при запуске команды vncserver на предыдущем шаге, однако мы создадим собственный сценарий для запуска рабочего стола Xfce.
Поскольку мы меняем настройку сервера VNC, вначале нужно остановить экземпляр сервера VNC, работающий на порту 5901 , с помощью следующей команды:
Результат должен выглядеть следующим образом, хотя вы увидите другой PID:
Прежде чем изменять файл xstartup , следует создать резервную копию исходного файла:
Теперь создайте новый файл xstartup и откройте его в текстовом редакторе, например nano :
Затем добавьте в файл следующие строки:
Первая строка называется шебанг. В исполняемых простых текстовых файлах на платформах *nix шебанг указывает системе, какому интерпретатору передавать данный файл для исполнения. В данном случае мы передаем файл интерпретатору Bash. Это позволит выполнять каждую последующую строку в качестве команды.
Первая команда в файле, xrdb $HOME/.Xresources указывает системе графического интерфейса VNC прочитать файл пользователя сервера .Xresources . .Xresources является файлом, где пользователь может изменять определенные параметры графического рабочего стола, такие как цвета терминала, темы курсора и рендеринг шрифтов. Вторая команда указывает серверу запустить Xfce. При запуске или перезагрузке сервера VNC эти команды будут выполняться автоматически.
После добавления этих строк сохраните и закройте файл. Если вы используете nano , нажмите CTRL+X , Y , затем ENTER .
Чтобы сервер VNC мог использовать новый файл запуска корректно, нужно сделать его исполняемым:
Затем запустите сервер VNC повторно:
Обратите внимание, что эта команда включает опцию -localhost , которая привязывает сервер VNC к циклическому интерфейсу вашего сервера. Благодаря этому VNC будет разрешать только соединения, исходящие от сервера, на котором он установлен.
На следующем шаге вы создадите туннель SSH между вашим локальным компьютером и вашим сервером, заставив сервер VNC считать, что соединение с вашего локального компьютера происходит с вашего сервера. Эта стратегия добавит дополнительный уровень безопасности вокруг VNC, поскольку получить доступ к нему смогут только пользователи, которые уже имеют доступ SSH к вашему серверу.
Вывод будет выглядеть следующим образом:
После завершения настройки вы готовы подключаться к серверу VNC с вашего локального компьютера.
Шаг 3 — Безопасное подключение рабочего стола VNC
Сервер VNC не использует защищенные протоколы при подключении. Для безопасного подключения к вашему серверу вы установите туннель SSH, а затем дадите указание клиенту VNC подключиться с использованием данного туннеля, а не создавать прямое подключение.
Создайте на локальном компьютере соединение SSH, которое безопасно перенаправляется в соединение localhost для VNC. Для этого можно ввести через терминал в Linux или macOS команду ssh :
Вот что означают опции команды ssh :
- -L 59000 :localhost: 5901 : опция -L указывает, что данный порт на локальном компьютере ( 59000 ) нужно перенаправить на заданный хост и порт на сервере назначения ( localhost:5901 , т. е. порт 5901 на сервере назначения, который определяется как your_server_ip ). Обратите внимание, что локальный порт, который вы указываете, выбран произвольно. Поскольку порт уже не связан с другой службой, вы можете использовать его в качестве форвардного порта для вашего туннеля.
- -C : этот флаг активирует сжатие, что минимизирует потребление ресурсов и ускоряет процессы.
- -N : эта опция указывает ssh , что вы не хотите выполнять какие-либо удаленные команды. Эта настройка полезна в случае, если вы планируете только перенаправлять порты.
- -l sammy your_server_ip : опция -l позволяет определить пользователя, который должен войти в систему после подключения к серверу. Обязательно замените sammy и your_server_ip на имя вашего пользователя без прав root и IP-адрес вашего сервера.
Примечание. Эта команда создает туннель SSH для перенаправления информации с порта 5901 на вашем сервере VNC в порт 59000 на вашем локальном компьютере через порт 22 на каждом компьютере, порт SSH по умолчанию. Если вы выполнили предварительные требования из руководства по начальной настройке сервера Ubuntu 20.04, у вас добавится правило UFW, позволяющее подключения к вашему серверу через OpenSSH.
Это безопаснее, чем просто открыть брандмауэр вашего сервера для подключений к порту 5901 , так как при этом любой может получить доступ к вашему серверу через VNC. При подключении через туннель SSH вы ограничиваете доступ VNC к компьютерам, которые уже имеют доступ SSH к серверу.
Если вы используете PuTTY для подключения к вашему серверу, вы можете создать туннель SSH, нажав правой кнопкой мыши на верхнюю панель окна терминала, а затем выбрав опцию Change Settings…:

Найдите ветку Connection в меню слева окна реконфигурации PuTTY. Раскройте ветку SSH и нажмите на Tunnels. На экране Options controlling SSH port forwarding введите 59000 в поле Source Port и localhost:5901 в поле Destination:

Затем нажмите кнопку Add, потом кнопку Apply для активации туннеля.
После запуска туннеля используйте клиент VNC для подключения к localhost:59000 . Вам будет предложено пройти аутентификацию, используя пароль, заданный на шаге 1.
После подключения вы увидите рабочий стол Xfce по умолчанию. Она должна выглядеть следующим образом:

Для доступа к файлам в каталоге home вы можете использовать менеджер файлов или командную строку, как показано здесь:

Нажмите CTRL+C в локальном терминале, чтобы остановить туннель SSH и вернуться к командной строке. При этом сеанс VNC также будет отключен.
Теперь вы можете настроить сервер VNC как службу systemd.
Шаг 4 — Запуск VNC в качестве системной службы
Настроив сервер VNC как службу systemd, вы можете запустить, остановить или перезапустить его, как и любую другую службу. Также вы можете использовать команды управления systemd, чтобы убедиться, что VNC запускается при загрузке сервера.
Сначала создайте новый файл блока с именем /etc/systemd/system/vncserver@.service :
Символ @ позволит нам передать аргумент, который мы сможем использовать при настройке службы. Вы будете использовать его, чтобы задать порт дисплея VNC, который хотите использовать при управлении службой.
Добавьте в файл следующие строки. Обязательно измените значения параметров User, Group, WorkingDirectory и имя пользователя на значения PIDFILE, соответствующие вашему имени пользователя:
Команда ExecStartPre останавливает сервер VNC, если он уже запущен. Команда ExecStart запускает VNC и устанавливает 24-битную глубину цвета с разрешением 1280×800. Вы можете изменить эти параметры запуска в соответствии со своими потребностями. Также обратите внимание, что команда ExecStart еще раз включает опцию -localhost .
Сохраните и закройте файл.
Затем сообщите системе о новом файле блока:
Активируйте файл блока:
Цифра 1 после символа @ указывает, на каком дисплее должна появляться служба. В данном случае это значение по умолчанию :1 , как говорилось на шаге 2.
Остановите текущий экземпляр сервера VNC, если он еще работает:
Запустите его, как любую другую службу systemd:
Вы можете проверить запуск с помощью следующей команды:
Если запуск выполнен нормально, результат должен выглядеть следующим образом:
Теперь ваш сервер VNC готов к использованию при загрузке вашего сервера, и вы можете управлять им с помощью команд systemctl , как и любой другой службой systemd.
Но со стороны клиента не будет никаких различий. Для повторного подключения еще раз запустите туннель SSH:
Создайте новое подключение, используя клиентское программное обеспечение VNC для подключения localhost:59000 к вашему компьютеру.
Заключение
Вы установили и запустили защищенный сервер VNC на своем сервере Ubuntu 20.04. Теперь вы сможете управлять файлами, программным обеспечением и настройками через удобный в использовании графический интерфейс, а также удаленно запускать графические приложения, в том числе браузеры.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Ubuntu Documentation
VNC is a protocol that allows a desktop to be viewed and controlled remotely over the Internet. To use VNC, a VNC server must be run on the computer sharing the desktop, and a VNC client must be run on the computer that will access the shared desktop.
If you’re connecting to a client behind a firewall, you may need to use Reverse VNC instead.
Common uses
Helping someone via VNC over the Internet
A common usage scenario is helping another Ubuntu user over the internet via screen sharing.
Accessing your desktop over the Internet
Although VNC has some optional security features, you should not run VNC directly over an untrusted network like the Internet. Instead, you should set an SSH server up as discussed in the SSH guide and configure a VNC server that you can start in so-called once mode. When you have set up your SSH and VNC servers, you can use SSH to log in to your computer over the Internet, start your VNC server, and use port-forwarding to securely access the VNC server.
Let other people view your desktop
If a small group of people regularly want to access your desktop, the best solution might be to set up an SSH server, then add their public keys to your authorized_keys file, with very limited rights. As discussed in the SSH guide, you can limit the SSH features that each public key can use — typically, a user that should only have VNC access would have a line like the following in authorized_keys:
This will allow the specified person to log in to your computer using your username and their public key instead of your password. The long list of no-xyz statements disallow them from doing just about anything except connect to a VNC server.
If you’re not comfortable with the risks, and the secure options discussed above aren’t appropriate, you might be able to take screenshots instead, and send them to the other person.
Whichever of the above techniques you use, you might find that you can connect to your VNC server from computers on your local network, but that other people can’t connect to your server over the Internet. If that happens, you might need to reconfigure your router.
An application called Remote Help Assistant is being developed to help smooth the setup of remote connections, and needs unskilled volunteers to help test new versions.
SSH port-forwarding
SSH has a feature called local port forwarding. Among many other things, this lets you securely connect to a computer over the Internet, then access that computer’s VNC server over the secure connection. Using the command-line SSH client that comes with Ubuntu, you would normally do something like the following:
This would log in to Joe’s laptop and forward his shared desktop to your computer. You could then start your VNC client and connect to port 5900 on your computer to see his shared desktop. This is covered in more detail on the SSH port forwarding page.
The above anchor was put here long ago, when this page had separate «VNC Servers» and «VNC Clients» sections. I don’t know whether anything links to it any more, but I don’t see any benefit in deleting it
VNC Software
To view a desktop remotely, you need a VNC server to share the desktop, and a VNC client to view the shared desktop. There are many VNC Servers and VNC Clients for every operating system.
Guide to example scenarios
This section discusses some situations where you would want to use VNC, and how to set a server up for that situation. The first scenario Accessing your desktop over the internet describes how to set VNC up for a computer that logs in automatically as soon as it starts up. As accessing a shared login screen requires more security privileges than accessing your personal desktop, the second scenario Accessing a family PC over the Internet describes the extra steps you need to take in order to access your computer before you’ve logged in.
Accessing your PC over the Internet
This section describes how to connect to your own desktop computer from somewhere else on the Internet. See below for instructions about logging in to a shared computer.
If you have a dial-up Internet connection, your IP address will change every time you connect to the Internet. If you have a broadband Internet connection, your address will probably only change once every few months — usually right around the day you forget to check your address.
If the VNC connection is terribly slow, then you may want to try compressing the session using vncviewer -encodings "tight" localhost:0 instead of vncviewer localhost:0.
Exactly how to perform the above steps depends on the SSH client you use. Here are some examples.
Logging in from another Ubuntu PC
Rebecca wants to connect to her Ubuntu desktop from her Ubuntu laptop. She is using the standard software that comes with Ubuntu.
Then each time she connects to her desktop PC, she double-clicks on Connect to rebeccas-pc.sh, and waits about 5 seconds.
Logging in from a Windows PC
Simon wants to connect to his Ubuntu PC from his work computer, running Windows. He has installed PuTTY and TightVNC Viewer on his work computer.
-
From his work computer, he runs PuTTY
Accessing a family PC over the Internet
Accessing a family PC is a similar problem to accessing your own PC, except that the VNC server needs more security privileges in order to show your login screen.
First, make sure that you can access your own desktop after logging in — once you’ve logged in, accessing a shared PC is no different to accessing your own PC.
Finally, go through the procedure to access your own desktop after logging in, but instead of running the command x11vnc -safer -localhost -nopw -once -display :0, use sudo x11vnc -safer -localhost -nopw -once -auth /var/lib/gdm/:0.Xauth -display :0.
If the computer you’ll log in from is an Ubuntu PC, you could do:
After you log in, you will be asked to type your password. Once you’ve typed your password in, you should press ctrl-Z to continue.
Reverse VNC
- You are directly connected to the internet
- OR
- You have control over your own NAT device and can set-up a port forwarding
The solution is to use reverse VNC to solve the NAT problems. Usually you have to establish a connection to the computer you would like to control. Reverse VNC does the opposite. You open a port where your vncviewer listens and the computer you would like to control connects to your computer.
The security risks involved are that the content of the other user’s computer screen is transmitted unencrypted over the internet.
Установка VNC Server в Ubuntu 18.04
VNC или Virtual Network Computing — это одна из самых популярных технологий удаленного доступа к рабочему столу, которая используется в Linux. Ранее очень часто для доступа к удаленному рабочему столу в Linux использовался VNC сервер x11vnc, но после перехода Ubuntu на Wayland настройка X11vnc стала сложной. Но у него есть несколько альтернатив, например, TigerVNC, который мы сегодня рассмотрим.
В отличие от X11vnc здесь вы не можете подключиться к уже запущенной рабочей сессии, вместо этого каждый запущенный процесс VNC сервера будет создавать свою рабочую сессию на отдельном виртуальном экране дисплейного сервера. Дальше мы рассмотрим как выполняется установка и настройка VNC Server Ubuntu 18.04, а также первоначальная настройка программы для начала работы.
Установка VNC Server на Ubuntu 18.04
Протокол VNC позволяет делиться рабочим столом, поэтому вам будет необходимо иметь установленное окружение рабочего стола. В редакции Ubuntu для рабочего стола используется окружение Gnome. Но если вы пытаетесь установить программу на сервер, то сначала установите графическую оболочку.
Чтобы установить VNC server в Ubuntu выполните такую команду:
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Также необходимо установить эмулятор терминала xterm, его программа будет использовать для запуска тестового окружения:
sudo apt install xterm
Для запуска сервера используется команда vncserver. Её синтаксис очень прост:
vncserver порт: номер_дисплея опции
А вот её основные опции:
- -dry-run — тестовый запуск, не выполнять никаких реальных действий;
- -verbose — включить более подробный вывод;
- -useold — запустить VNC сервер только если он ещё не запущен;
- -cleanstale — очистить оставшиеся файлы после предыдущего запуска;
- -localhost — разрешить подключения только с локального компьютера;
- -name — имя VNC сервера, которое будет отображаться при подключении, по умолчанию используется host:display# (username);
- -geometry — разрешение экрана для запускаемого окружения, например, 1024×768;
- -depth — глубина цвета, доступны значения: 8, 15, 16 и 24;
- -fg — не запускать сервис в фоновом режиме и оставить его привязанным к терминалу;
- -autokill — автоматически останавливать сервер после завершения подключения;
- -xstartup — программа, которую следует использовать вместо оболочки;
- -list — список запущенных серверов;
- -kill — завершить запущенный vnc сервер.
Теперь можно попытаться запустить VNC Server:
vncserver -xstartup /usr/bin/xterm

При первом запуске утилита предложит вам ввести пароль, который можно будет использовать для подключения к компьютеру, а также ввести пароль для подключения в режиме только просмотр. Последнее можно пропустить. Обратите внимание, что утилиту необходимо запускать от имени обычного пользователя, а не суперпользователя.
Утилита не только создаст конфигурацию, но и запустит VNC сервер. Посмотреть список запущенных серверов можно командой:

Чтобы завершить запущенный VNC сервер используйте опцию kill и идентификатор дисплея, на котором запущен сервер из предыдущей команды:
vncserver -kill :1

Мы запускали TigerVNC с рабочем окружением в виде терминала, но теперь нам необходимо полноценное рабочее окружение Gnome. Чтобы его настроить создайте файл
/.vnc/xstartup со следующим содержимым:
#!/bin/sh dbus-launch —exit-with-session gnome-session &
Это скрипт, который запускает рабочее окружение Gnome, вы также можете запускать и другие окружения. Теперь запущенный VNC сервер появится в списке доступных серверов и вы можете к нему подключиться.
Чтобы показать использование других опций давайте запустим vncserver на четвертом виртуальном дисплее с разрешением экрана 1024×768:
vncserver :1 -geometry 1024×768
Подключение к VNC серверу
Во-первых, на локальной машине вы можете подключиться к только что запущенному VNC серверу с помощью команды, которую предлагает сам сервер после запуска:
vncviewer -SecurityTypes VncAuth -passwd /home/sergiy/.vnc/passwd :1

В этой команде мы указываем тип авторизации и передаем файл с паролем, который создали при первом запуске VNC сервера. Перед вами откроется окно удаленного соединения.
Также можно запустить vncviewer Ubuntu без параметров, тогда утилита откроет графический интерфейс, где вам нужно ввести ip адрес машины, на которой запущен сервер, а также номер дисплея или порта:

После этого нужно ввести пароль для подключения и откроется это же окно удаленного соединения:

Выводы
В этой статье мы рассмотрели как выполняется установка VNC на Ubuntu 18.04, а также как настроить программу для полноценной работы.