Введение
VNC (Virtual Network Computing) представляет собой клиент-серверный протокол, который позволяет клиентскому компьютеру (под управлением клиента VNC) подключаться и управлять удаленным компьютером (работающим на сервере VNC). Программное обеспечение было разработано исследовательской лабораторией Olivetti & Oracle в Кембридже, Великобритания, и его исходный код по-прежнему актуален и доступен под лицензией General Public License (GNU).
В зависимости от программного обеспечения сервера, VNC клиент будет подключаться к активному рабочему столу (например, как программы TeamViewer или AnyDesk) или к автономному виртуальному рабочему столу (как протокол удаленного рабочего стола Windows RDP). Последний, возможно, более мощный и безопасный, особенно если вам необходимо управлять серверным компьютером, потому что каждый сеанс будет уникальной средой, настроенной с разрешениями и правами подключаемого пользователя. Вот почему мы выбираем TigerVNC, который выполняет запуск параллельных сеансов среды рабочего стола компьютера (GNOME, KDE или другой GUI): это значит, что виртуальный рабочий стол будет создан для каждого отдельного подключения — это именно то, чего мы хотим.
1.VNC
x11vnc – примеры этих 3 методов для получения удаленного доступа.
VNC означает Virtual Network Computing) – очень полезный сетевой графический протокол
см. также Как установить VNC сервер и клиент на Astra Linux / Ubuntu
Возможно, вам нужно включить репозиторий EPEL (Extra Packages for Enterprise Linux).
Запустите:
# yum -y install epel-release
Теперь мы можем установить x11vnc.
Эта команда установит сервер и решит все зависимости:
# yum -y install x11vnc
Затем мы будем защищать сервер с паролем:
# x11vnc -storepasswd Enter VNC password: Verify password: Write password to /root/.vnc/passwd? /n y Password written to: /root/.vnc/passwd
Не используйте простой пароль!
Мы готовы запустить сервер:
# x11vnc --reopen --forever -rfbauth ~/.vncpasswd &
Вы можете проверить, запущены ли серверы:
# netstat -an | grep 5900 tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN tcp6 0 0 :::5900 :::* LISTEN If its ok, simply try to connect to it using vncviewer. #yum -y install vnc #vncviewer YOUR_SERVER_IP
Это все! Теперь у вас есть доступ к вашему рабочему столу.
После перезагрузки просто запустите ssh снова.
2) Tigervnc сервер
Tigervnc – это высокопроизводительная платформа-нейтральная реализация VNC
<span class=""># yum install -y tigervnc-server</span>
Позволяет копировать пример config и редактировать его:
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service</span>
# vi /etc/systemd/system/vncserver@:1.service
Пример конфигурации:
Теперь включите автозапуск и перезапустите его:
# <span class="">systemctl enable vncserver @: 1.service</span> # <span class="">systemctl restart vncserver @: 1.service
# vncviewer YOUR_SERVER_IP
3) XRDP
xrdp – это сервер протокола удаленного рабочего стола с открытым исходным кодом.
Прежде всего нам нужно установить репозиторий EPEL и сервер xrdp:
# yum -y install epel-release; # yum -y install xrdp
Теперь давайте запустим сервер
# systemctl start xrdp.service
Проверьте, запущен ли он, и добавьте его в автозапуск.
# netstat -an | grep 3389 tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN # systemctl enable xrdp.service
4) Teamviewer
Teamviewer не существует в стандартных репозиториях, поэтому нам нужно установить wget и загрузить пакет TeamViewer rpm
# yum -y install wget # wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
Установите его, используя следующую команду:
# yum install teamviewer.x86_64.rpm
И установите пароль
# teamviewer passwd YOUR_PASSWORD ОК # systemctl start teamviewerd.service
Теперь вам нужно только подключить свой идентификатор
</span> # teamviewer –info TeamViewer ID: 9XXXXXXX7 <span id="result_box" class="" lang="ru">
5) FreeNX
FreeNX – это решение удаленного доступа, основанное на технологиях с открытым исходным кодом корпоративного класса от NoMachine.
Если вам нужен именно этот инструмент для получения удаленного доступа, вы можете перейти на облачную версию.
Прежде всего нам нужно добавить e EPEL + nux-dextop репозитории, для Centos 6:
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
Установите сервер и агент:
# yum install freenx-server nxagent
Включить аутентификацию passdb:
# echo 'ENABLE_PASSDB_AUTHENTICATION = "1"' /etc/nxserver/node.conf
Теперь нам нужно создать пользователя для удаленного доступа и назначить ему пароль:
# /usr/libexec/nx/nxserver --adduser bob NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected) NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: not detected) NX> 716 Public key added to: /home/bob/.ssh/authorized_keys2 NX> 1001 Bye. NX> 999 Bye #/usr/libexec/nx/nxserver --passwd bob NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected) New password: Password changed. NX> 999 Bye
# yum install opennx
После запуска мастера opennx вам будет задано имя сеанса, адрес сервера и порт.
Самое главное – установить свой ключ.
Вам необходимо скопировать ключ с серверов /etc/nxserver/client.id_dsa.key и вставить его общую вкладку свойств вашего клиента.
Set the VNC password
Create a VNC password for the user account that you intend to use for remote sessions.
The command prompts you for a password and then prompts you again to validate the password. Optionally you are able to set a ‘view-only’ password that allows you to share the screen but not allow control over the mouse or keyboard.
This action generates configuration information specific to the user account in . If this directory already exists from a previous installation, you can either remove the directory prior to running the vncpasswd command; or you can restore the SELinux context on the directory to ensure that you do not have any issues with SELinux for this service. For example:
3: Безопасное подключение к VNC
При подключении VNC не использует безопасные протоколы. Создайте SSH-туннель для безопасного подключения к серверу, а затем настройте клиент VNC для поддержки туннеля вместо прямого подключения.
На локальном компьютере создайте соединение SSH, которое перейдет в localhost соединение для VNC. Вы можете сделать это в Linux или macOS через терминал с помощью следующей команды:
Давайте подробнее рассмотрим опции:
Флаг -L указывает привязки портов. В этом случае мы привязываем порт 5901 удаленного подключения к порту 5901 на локальном компьютере
Обратите внимание, мы указали произвольный локальный порт; если у вас этот порт еще не связан с другим сервисом, вы можете использовать его в качестве порта переадресации для своего туннеля.
Флаг -C включает сжатие, что позволяет уменьшить потребление ресурсов и повышает скорость.
Флаг -N сообщает ssh, что выполнять удаленную команду не нужно. Эта опция удобна, если вам нужно просто перенаправить порты.
Параметр -l указывает имя пользователя для удаленного входа
Не забудьте заменить 8host и your_server_ip своими данными.
Примечание: Эта команда устанавливает SSH-туннель, который перенаправляет информацию с порта 5901 на VNC-сервере на порт 59000 на локальном компьютере через порт 22 на каждом компьютере (это порт SSH по умолчанию). Если вы включили UFW, вам нужно добавить правило, разрешающее подключения к вашему серверу через OpenSSH. Это более безопасно, чем просто открывать порт в брандмауэре, чтобы разрешить подключения к порту 5901, поскольку это позволит любому пользователю получить доступ к вашему серверу через VNC. Подключаясь через SSH-туннель, вы ограничиваете доступ к VNC теми машинами, которые уже имеют SSH-доступ к вашему серверу.
Если вы работаете через графический SSH-клиент, например, PuTTY, вы можете создать туннель, кликнув правой кнопкой мыши по верхней панели терминала и выбрав Change Settings…
Найдите ветку Connection в меню в левой части окна Reconfiguration. Разверните ветку SSH и нажмите Tunnels. На экране Options controlling SSH port forwarding укажите 59000 в качестве Source Port и localhost:5901 в качестве Destination.
Затем нажмите кнопку Add, а после этого нажмите Apply, чтобы создать туннель.
После запуска туннеля используйте клиент VNC для подключения к localhost:59000. Вам будет предложено пройти аутентификацию с помощью пароля, который вы установили в разделе 1.
Как только вы подключитесь, вы увидите стандартный рабочий стол Xfce. Вы можете получить доступ к файлам в вашем домашнем каталоге с помощью файлового менеджера или из командной строки.
Нажмите CTRL+C в локальном терминале, чтобы остановить туннель SSH и вернуться в обычную командную строку. Эта комбинация клавиш также завершит сессию VNC.
Теперь вы можете настроить VNC-сервер как сервис systemd.
Подключаемся к серверу по VNC
Существует два способа подключения к VDS/VPS по VNS: через панель управления VMmanager и с помощью VNC-клиента. Первый вариант подразумевает установленную панель с приобретенной лицензией. Второй – установленную на компьютер программу (Ultra VNC remote access tools, TightVNC или VNC Viewer). Давайте рассмотрим, как всем этим можно воспользоваться и подключиться к VDS/VPS.
Способ 1: Через панель управления VMmanager
Перед тем как воспользоваться панелью, ее нужно установить к себе на сервер и получить лицензию. На Ubuntu это реализуется посредствам выполнения команд в консоли. Рекомендуем установить к себе на компьютер помощник для удаленного соединения PuTTY, чтобы легко вводить команды в консоль без каких-либо хлопот.
Устанавливаем ПУ:
- Запускаем на компьютере PuTTY, в разделе «Session» вводим IP-адрес и кликаем по кнопке «Open».
- В консоли прописываем логин и пароль для входа. Коннект осуществляется по защищенному протоколу, поэтому ваши данные не будут перехвачены во время соединения. В результате будет отображен текст приветствия с информацией об установленной ОС.
- Последующие команды мы сможем скопировать и вставить в консоль простым кликом правой кнопкой мыши – это и есть одно из преимуществ такого метода. В консоли хостинга сделать так не получится.
- Устанавливаем утилиту, позволяющую загружать файлы:
yum install wget
Загружаем установщик ISPsystem:
wget http://cdn.ispsystem.com/install.sh
Устанавливаем VMmanager:
sh install.sh --release 5.221.0 VMmanager
Далее перед нами отобразится окно выбора – нажимаем 1 и жмем «Enter».
Таким образом на машине будет установлена панель управления. Чтобы в нее войти, нужно в браузере ввести ссылку: https://<IP Server>:1500/vmmgr. В результате будет отображено окно, где нужно активировать лицензию либо воспользоваться ознакомительной версией.
Как только регистрация будет завершена, мы получим доступ к самой панели. Там переходим в раздел «Управление» -> «Виртуальные машины» и в правой части окна кликаем по кнопке «VNC».
Далее будет запущена консоль, в которой следует ввести логин и пароль от VDS.
Вот такими несложными действиями мы смогли подключиться к VDS/VPS через VMmanager. Теперь давайте рассмотрим более простой способ с использованием специальной утилиты.
Способ 2: Через VNC-клиент
Как мы говорили ранее, существует множество различных программ, позволяющих подключаться по протоколу RFB. Не будем рассматривать все возможные варианты, а разберемся в работе утилиты VNC Viewer.
Подключаемся через VNC-клиент:
- Открываем официальную страницу и загружаем программу под нужную операционную систему.
- Установим программу и остановимся немного на теории. Так как на ПК разрешено использовать несколько ВНС, для их разделения необходимо указывать номер дисплея. Каждому соответствует номер TCP-порта. Номер порта для дисплея получается прибавлением номера дисплея к базовому номеру — 5900. Дисплею :0 соответствует TCP-порт 5900, дисплею :1 — порт 5901 и так далее.
- Таким образом, в VNC Viewer следует ввести IP-адрес и приписать к нему порт. Например, 89.11.201.22:5900.
- Запускаем программу, вводим в нее свое значение и жмем «Connect to…».
- В случае успешного распознавания виртуальной машины отобразится небольшое окно авторизации, в которое нужно ввести данные для входа.
- При подключении к системам Linux, будет отображена только консоль, как происходит в случае с SSH. Если соединение происходит на Windows, то VNC Viewer преобразится в окно с графическим доступом к системе.
Добавляем noVNC, как Windows-сервис
Загружаем zip-архив , и распаковываем файлы оттуда так, чтобы они лежали в той же папке, где и файл websockify.exe , то есть в нашем случае вc:\noVNC\websockify .
При запуске, сервис будет использовать параметры из файла noVNCConfig.ini
. Вот пример моего конфига:
5901 127.0.0.1:5900 —web C:\noVNC\noVNC-master —cert=c:\noVNC\encrypt.pem В консоли, запущенной с администраторскими привилегиями создаём новый сервис:
Sc create «noVNC Websocket Server» binPath= «c:\noVNC\websockify\noVNC Websocket Service.exe» DisplayName= «noVNC Websocket Server» Если нужно будет удалить сервис, то вот так:
Sc delete «noVNC Websocket Server» Открываем сервисы (Control Panel → Administrative Tools → Services) и запускаем noVNC Websocket Server. Также здесь можно настроить, чтобы сервис стартовал каждый раз вместе с Windows:
VNC encrypted through an ssh tunnel
You will be connecting through an ssh tunnel. You will need to be able to ssh to a user on the machine. For this example, the user on the vncserver machine is: larry That account username needs to exist on the target machine, and either password, or keyed ssh access needs to be functional. the vncserver will also prompt for the vncpassword. The Linux and VNC system usernames and passwords are not required to be identical and are ‘not’ automatically synchronized. That is, remote users able and baker may each have differing credentials to set up the ssh tunnel to the remote VNC server, but if each uses the larry account, they will use the same VNC password.
-
Edit /etc/sysconfig/vncservers and add the option -localhost
VNCSERVERS="1:larry 2:moe 3:curly" VNCSERVERARGS="-geometry 640x480 -localhost" VNCSERVERARGS="-geometry 640x480 -localhost" VNCSERVERARGS="-geometry 800x600 -localhost"
-
/sbin/service vncserver restart
- Go to another machine with vncserver and test the VNC.
-
vncviewer -via larry@192.168.0.10 localhost:1
-
vncviewer -via moe@192.168.0.10 localhost:2
-
vncviewer -via curly@192.168.0.10 localhost:3
-
By default, many vncviewers will disable compression options for what it thinks is a «local» connection. Make sure to check with the vncviewer man page to enable/force compression. If not, performance may be very poor!
Установка VNC Server на Ubuntu 18.04
Протокол VNC позволяет делиться рабочим столом, поэтому вам будет необходимо иметь установленное окружение рабочего стола. В редакции Ubuntu для рабочего стола используется окружение Gnome. Но если вы пытаетесь установить программу на сервер, то сначала установите графическую оболочку.
Чтобы установить VNC server в Ubuntu выполните такую команду:
Также необходимо установить эмулятор терминала 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:
При первом запуске утилита предложит вам ввести пароль, который можно будет использовать для подключения к компьютеру, а также ввести пароль для подключения в режиме только просмотр. Последнее можно пропустить
Обратите внимание, что утилиту необходимо запускать от имени обычного пользователя, а не суперпользователя
Утилита не только создаст конфигурацию, но и запустит VNC сервер. Посмотреть список запущенных серверов можно командой:
Чтобы завершить запущенный VNC сервер используйте опцию kill и идентификатор дисплея, на котором запущен сервер из предыдущей команды:
Мы запускали TigerVNC с рабочем окружением в виде терминала, но теперь нам необходимо полноценное рабочее окружение Gnome. Чтобы его настроить создайте файл ~/.vnc/xstartup со следующим содержимым:
Это скрипт, который запускает рабочее окружение Gnome, вы также можете запускать и другие окружения. Теперь запущенный VNC сервер появится в списке доступных серверов и вы можете к нему подключиться.
Чтобы показать использование других опций давайте запустим vncserver на четвертом виртуальном дисплее с разрешением экрана 1024×768:
Начальная настройка и безопасность гуакамоле
Теперь, когда докер контейнер Guacamole запущен и работает, давайте проверим его. Посетите https://guac.example.com, и вы должны увидеть экран входа в систему гуакамоле.
Guacamole Login – имя пользователя и пароль по умолчанию – guacadmin.
Если вы можете войти, тогда отлично.
Безопасность гуакамоле: удалить пользователя по умолчанию
Первое, что вы должны сделать, это изменить данные для входа в систему по умолчанию
Это менее важно, если у вас есть система аутентификации (например, Authelia или Google OAuth ), но она все еще настоятельно рекомендуется
Зайдите в Настройки -> Пользователи и добавьте нового пользователя.
Пользователи гуакамоле
Заполните имя пользователя и пароль. Затем прокрутите вниз до «Разрешения» и проверьте все из них, как показано ниже.
Новые права администратора для гуакамоле
Остальные настройки на этой странице не являются обязательными. Нажмите Сохранить, чтобы сохранить пользователя.
Затем выйдите из системы и войдите как новый пользователь, которого вы создали. Еще раз зайдите в Настройки -> Пользователи. Нажмите на guacadmin, прокрутите до конца и нажмите DELETE, чтобы удалить пользователя Guacamole по умолчанию.
Guacamole Security: многофакторная аутентификация Duo
Гуакамоле поддерживает двухфакторную аутентификацию Duo. Настройка требует дополнительной настройки.
Однако, если ваше приложение Guacamole отстает от Authelia или даже от Google OAuth, то у вас уже есть встроенная двухфакторная аутентификация. Это может быть через Duo, который я использую, или любой другой метод аутентификации (текстовый, Authy, Google Authenticator и т.д. ).
Двухфакторная аутентификация Authelia
Я настоятельно рекомендую защищать себя через Authelia или Google OAuth, как показано в моем руководстве по Traefik 2.
Далее, давайте посмотрим, как настроить гуакамоле.
Шаг 5. Создайте сценарий запуска системы VNC-сервера.
Еще раз остановим VNC-сервер, чтобы мы могли изменить файлы конфигурации:
vncserver -kill :1
Теперь создайте новый файл модуля для VNC. Юнит-файл кодирует информацию о сервисе:
sudo nano /etc/systemd/system/vncserver@.service
Вставьте следующее, заменив своим именем пользователя. Вы также можете выбрать желаемое разрешение:
Description=Start TightVNC server at startup After=syslog.target network.target Type=forking User=infoit Group=infoit WorkingDirectory=/home/infoit PIDFile=/home/infoit/.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
Затем перезагрузите Systemd, чтобы изменения вступили в силу:
sudo systemctl daemon-reload sudo systemctl enable vncserver@1.service sudo systemctl start vncserver@1
VNC-Server for an already logged in GUI console session — 2 options
Often you will need remote access to an already logged in GUI session on a «real» console. Or you will need to help another user remotely with an GUI or visual issue. You will need either «vnc-server» or «x11vnc». The vnc-server option will be a module added to X11 for «allways on» vnc support, while x11vnc will allow for adhoc vnc support.
vnc-server install will require no third party repos or source building.
x11vnc is a way to view remotely and interact with real X displays (i.e. a display corresponding to a physical monitor, keyboard, and mouse) with any VNC viewer. In this way it plays the role for Unix/X11 that WinVNC plays for Windows.
6.1. x11vnc adhoc option
Karl Runge has generously provide a exceptional amount of information at http://www.karlrunge.com/x11vnc/ for x11vnc. There is info on securing the connection and also an «Enhanced TightVNC Viewer (ssvnc)». To make it easy, follow these steps:
1. Download the latest rpm install from http://dag.wieers.com/rpm/packages/x11vnc/ to the host you want the vnc-client to connect to:
wget http://dag.wieers.com/rpm/packages/x11vnc/x11vnc-0.9.3-1.el5.rf.i386.rpm
2. Install, as root, via the yum or rpm programs on the host you want the vnc-client to connect to:
yum install x11vnc-0.9.3-1.el5.rf.i386.rpm
3. Start the x11vnc process on the host you want the vnc-client to connect to. Please take a long look at the possible options from the x11vnc website. A very simple/insecure example for a trusted network setup (local network or VPN) is to have the user with the GUI console issue the command:
x11vnc -nopw -display :0.0
Then connect (without password) via a vnc-client to the IP/hostname and port noted by the x11vnc command. By default, x11vnc will allow connections from all interfaces. Host based firewall settings may need to be modified.
You can combine this with ssh tunneling:
ssh -C -t -L 5900:localhost:5900 'x11vnc -usepw -localhost -display :0'
Note that the -C flag is for compression, so may not be required
6.2. vnc-server X11 «always on» option
1. On the the system you want to run vnc-server, install vnc-server as noted above.
2. Edit /etc/X11/xorg.conf, as root, and add/create a ‘Module’ Section and add ‘Load «vnc»‘:
Section "Module" Load "vnc" EndSection
3. For standard vnc authentication, edit /etc/X11/xorg.conf, as root, and add to the ‘Screen’ Section:
Option "SecurityTypes" "VncAuth" Option "UserPasswdVerifier" "VncAuth" Option "PasswordFile" "/root/.vnc/passwd"
4. As root, run ‘vncpasswd» to create the password noted above.
5. Restart X11 (<Ctrl>+<Alt>+<BS> will work if on the console already)
6. You should be able to connect with a vncviewer client as normal.
7. To trouble shoot, check for errors in the /var/log/Xorg.0.log or verify that iptables or selinux is not interfering with remote connections. Additional information is at http://www.realvnc.com/products/free/4.1/x0.html
This Fedora Tutorial has been found useful by some users.
Проверить статус VNC сервера
systemctl status vncserver@:1
● vncserver@:1.service — Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2021-03-16 13:49:55 EET; 3min 56s ago
Process: 23138 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 23145 (vncserver_wrapp)
CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
├─23145 /bin/sh /usr/bin/vncserver_wrapper andrei :1
└─24097 /bin/sh /usr/bin/vncserver_wrapper andrei :1
Dec 16 18:42:14 localhost.localdomain systemd: Starting Remote desktop service (VNC)…
Dec 16 18:42:14 localhost.localdomain systemd: Started Remote desktop service (VNC).
Dec 16 18:42:14 localhost.localdomain vncserver_wrapper: New ‘localhost.localdomain:1 (andrei)’ desktop is localhost.localdomain:1
Dec 16 18:42:14 localhost.localdomain vncserver_wrapper: Creating default startup script /home/andrei/.vnc/xstartup
Dec 16 18:42:14 localhost.localdomain vncserver_wrapper: Creating default config /home/andrei/.vnc/config
Dec 16 18:42:14 localhost.localdomain vncserver_wrapper: Starting applications specified in /home/andrei/.vnc/xstartup
Dec 16 18:42:14 localhost.localdomain vncserver_wrapper: Log file is /home/andrei/.vnc/localhost.localdomain:1.log
Проверить, что vnc server слушает на порту 5901 можно командой
ss -tulpn| grep vnc
tcp LISTEN 0 5 *:5901 *:* users:((«Xvnc»,pid=1330,fd=9))
tcp LISTEN 0 128 *:6001 *:* users:((«Xvnc»,pid=1330,fd=6))
tcp LISTEN 0 5 :5901 :* users:((«Xvnc»,pid=1330,fd=10))
tcp LISTEN 0 128 :6001 :* users:((«Xvnc»,pid=1330,fd=5))
Настроить VNC-сервер
Когда вы запускаете экземпляр сервера VNC в первый раз, будет создан файл начальной конфигурации: ‘~ / .vnc / xstartup’, и сервер VNC прослушивает порт 5901. Мы называем этот порт портом отображения. Мы можем запустить множество экземпляров сервера VNC, и каждый экземпляр имеет свои собственные порты дисплея: первый дисплей слушает порт 5901, второй дисплей слушает порт 5902 и так далее.
Необходимо настроить сервер VNC для работы вместе с запуском сервера Ubuntu. Кроме того, вы должны явно указать, к какой среде рабочего стола будет подключаться VNC-сервер.
Во-первых, остановим текущий экземпляр VNC-сервера, работающий на TCP-порту 5901:
Затем сделайте резервную копию текущего файла конфигурации:
Теперь измените файл xstartup с помощью вашего любимого редактора, как показано ниже:
Перезагрузите сервер VNC:
Шаг 3. Установка VNC Server на Ubuntu 20.04.
Выполните следующую команду, чтобы установить сервер TightVNC и файлы ядра диспетчера рабочего стола XFCE:
sudo apt install tightvncserver XFCE4 XFCE4-goodies
После завершения установки запустите команду, чтобы установить пароль доступа к VNC, создать файлы начальной конфигурации и запустить экземпляр сервера VNC:
vncserver
Вам будет предложено ввести и подтвердить пароль для удаленного доступа к вашему компьютеру:
You will require a password to access your desktops. Password: Warning: password truncated to the length of 8. Verify: Would you like to enter a view-only password (y/n)? y Password: Warning: password truncated to the length of 8. Verify: xauth: file /home/infoit/.Xauthority does not exist xauth: (argv):1: bad display name "lucky-puffin-86:1" in "add" command xauth: file /home/infoit/.Xauthority does not exist New 'X' desktop is meilana-maria-86:1 127.0.0.1 localhost Creating default startup script /home/infoit/.vnc/xstartup Starting applications specified in /home/infoit/.vnc/xstartup Log file is /home/infoit/.vnc/meilana-maria-86:1.log
Как пользоваться TightVNC
В верхней левой части экрана расположена панель инструментов:
- New connection — новое подключение
- Save session to a .vnc file — сохранить сессию в файл .vnc
- Connection options — опции подключения
- Connection info — информация о подключении
- Pause — пауза
- Request screen refresh — запросить обновление экрана
- Send Ctrl+Alt+Del — отправить Ctrl+Alt+Del
- Send Ctrl+Esc — отправить Ctrl+Esc
- Ctrl key down — зажатая кнопка Ctrl
- Alt key down — зажатая кнопка Alt
- Transfer files — передать файлы
- Scale in — приблизить
- Scale out — удалить
- Scale: 100% — масштаб 1:1
- Scale: Auto — автоматический масштаб
- Full screen — полноэкранный режим
Для выхода из полноэкранного режима нажмите Ctrl+Alt+Shift+F.
При выборе Transfer files (передача файлов) вы сможете переносить файлы с удалённого компьютера на свой локальный и в обратном направлении: