С помощью x11vnc[править]
VNC сервер x11vnc в первую очередь предназначен для работы в качестве службы или демона, но программа имеет и графический интерфейс.
x11vncправить
Установить пакет x11vnc:
# apt-get install x11vnc
Запуск VNC сервера выполняется командой:
$ x11vnc
Внимание! Запуск x11vnc без предварительной настройки небезопасен, настоятельно рекомендуется установить пароль.
Пример запуска сервера x11vnc из командной строки:
- Указать пароль для удаленного доступа (пароль будет записан в ~/.vnc/passwd):
-
$ x11vnc --storepasswd Enter VNC password: Verify password: Write password to /home/user/.vnc/passwd? /n y Password written to: /home/user/.vnc/passwd
-
- Запуск сервера x11vnc (порт указан в последнем параметре):
-
$ x11vnc -rfbauth .vnc/passwd -display :0 -ncache 1 -rfbport 5905
-
Поддержка файла конфигурации: если файл ~/.x11vncrc существует, то каждая строка в нем обрабатывается как один параметр командной строки:
$ vim ~/.x11vncrc rfbport 5905 rfbauth /home/user/vnc/passwd
Отключить использование файла конфигурации можно опцией -norc.
Если запустить x11vnc из «Меню запуска приложений» («Интернет» → «X11VNC Server») или из командной строки:
$ x11vnc -gui tray=setpass -rfbport PROMPT
будет запущен графический интерфейс x11vnc.
Примечание: Для возможности запуска графического интерфейса x11vnc Должен быть установлен пакет tk:
# apt-get install tk
Необходимо указать номер порта и нажать кнопку «OK». В системном трее появится значок x11vnc, а на экране откроется окно с его свойствами:
В окне свойств следует поставить отметку в пункте «Accept Connections» («Принимать подключения»), указать пароль в поле «Password» («Пароль») — здесь указывается пароль для возможности управления рабочим столом, можно также указать и другие опции, если они вам необходимы, например «ViewOnly Password» («Пароль только для просмотра») — зная данный пароль можно просматривать удаленный рабочий стол, без возможности управления им. Эти пароли будут использоваться только для данной сессии.
x11vnc-serviceправить
1. Установите пакет x11vnc-service (предназначен для популярных дистрибутивов с SystemD):
apt-get install x11vnc-service
2. Добавьте сервис в автозапуск и запустите его:
chkconfig x11vnc on service x11vnc start
3. Укажите пароль для удаленного доступа (необходимо записать его в /root/.vnc/passwd):
# x11vnc --storepasswd Enter VNC password: Verify password: Write password to /root/.vnc/passwd? /n
4. Параметры запускаемого сервисом сервера x11vnc указаны в скрипте запуска: /usr/sbin/x11vnc-start-daemon (x11vnc-service >= 0.2). Для внесения изменений — просто отредактируйте в нем последнюю строчку.
TODO:
Данный файл не является %config(noreplace), поэтому будет перезаписан при обновлении пакета!
В планах (когда потребуется внести какое-либо изменение в пакет) переместить параметры в отдельный конфигурационный файл.
5. Примеры настройки файла /lib/systemd/system/x11vnc.service для запуска x11vnc при старте дисплей менеджера (до авторизации пользователей):
Для дисплей менеджера lightdm:
Description=X11VNC Server After=prefdm.service User=root Restart=on-failure ExecStart=/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -dontdisconnect -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg /var/log/x11.log -rfbauth /root/.vnc/passwd WantedBy=graphical.target
Для дисплей менеджера sddm:
Description=X11VNC Server After=graphical.target Restart=always RestartSec=30 Type=simple ExecStart=-/bin/bash -c "/usr/bin/x11vnc -display :0 -shared -dontdisconnect -many \ -auth $(ls /var/run/sddm/{*}) -rfbauth /root/.vnc/passwd -o /var/log/x11.log" WantedBy=graphical.target
2: Настройка сервера VNC
Серверу VNC необходимо знать, какие команды выполнять при запуске. В частности, VNC должен знать, к какой графической среде рабочего стола он должен подключаться.
Эти команды должны находиться в файле xstartup в каталоге .vnc, который хранится в домашнем каталоге текущего пользователя. Скрипт запуска был создан командой vncserver на этапе установки, но вам нужно создать пользовательский скрипт для взаимодействия с Xfce.
При первом запуске VNC использует порт 5901. Чтобы изменить настройки сервера VNC, нужно остановить экземпляр, использующий порт 5901.
Команда вернёт такое сообщение (ваш PID будет отличаться):
Создайте резервную копию файла xstartup:
Затем создайте новый файл xstartup с помощью текстового редактора:
Вставьте в него следующие команды, которые будут выполняться автоматически при запуске сервера VNC. Сохраните и закройте файл.
Первая строка – это шебанг. В исполняемых текстовых файлах на платформах *nix шебанг сообщает системе, какому интерпретатору передать этот файл для выполнения. В этом случае файл передается интерпретатору Bash. Это позволит по порядку выполнять все последующие строки как команды.
При помощи первой команды, xrdb $HOME/.Xresources, GUI сервера VNC читает файл .Xresources. Здесь пользователь может вносить изменения в некоторые настройки графического рабочего стола (настраивать цвета терминала, темы курсора, шрифты). Вторая команда просто запускает Xfce, в котором хранится все графическое программное обеспечение, необходимое для управления сервером.
Теперь нужно сделать файл исполняемым:
Перезапустите VNC:
Обратите внимание, команда включает опцию -localhost, которая связывает VNC-сервер с loopback интерфейсом вашего сервера. Это приведет к тому, что VNC будет разрешать подключения только с сервера, на котором он установлен
На следующем этапе мы создадим SSH-туннель между локальным компьютером и вашим сервером, что по сути заставит VNC думать, что соединение с вашего локального компьютера идет с сервера. Эта стратегия добавит еще один уровень безопасности VNC, поскольку доступ к нему смогут получить только пользователи, у которых есть SSH-доступ к вашему серверу.
Вы получите такой вывод:
New ‘X’ desktop is your_hostname:1
Как настроить доступ VNC в Ubuntu?
Выполните приведенную ниже команду » vncpasswd «, чтобы установить пароль:
Введите пароль от шести до восьми символов. Затем подтвердите, что вы выбрали пароль только для просмотра, введя » n » в качестве ввода в терминал.
Следующим шагом является настройка TigerVNC для использования среды рабочего стола Xfce. Для этого мы создадим открытый файл » xstartup » в каталоге VNC с помощью редактора » nano «:
Указанные нами команды будут выполняться каждый раз при перезапуске или запуске сервера TigerVNC. Вот почему мы назвали наш файл файлом » xstartup «:
Эти команды отключат диспетчер сеанса и адрес сеанса. Это также включит xface4 во время запуска сервера:
Нажмите » CTRL + O «, чтобы сохранить внесенные нами изменения в файл » xstartup «:
Затем используйте команду „chmod“ для добавления разрешения „выполнение“ в файл запуска VNC:
Вы также можете передать некоторые дополнительные параметры своему серверу VNC, создав файл конфигурации VNC и добавив настройки построчно. Если вы хотите выполнить эту операцию, выполните эту команду в своем терминале Ubuntu:
Эта команда создаст и откроет файл конфигурации VNC в редакторе nano:
Для демонстрации мы добавляем в открытый файл несколько строк:
Эти строки добавляются для установки настроек VNC, связанных с интерфейсом:
Нажмите » CTRL + O «, чтобы сохранить настройки и перезапустить сервер VNC:
В выводе вы увидите » : 1 ″ после имени хоста вашей системы. Это значение символизирует порт, на котором в настоящее время работает VNC в вашей системе. Например, в нашей Ubuntu сервер VNC работает на 5901 TCP-порте системы (5900 + 1).
Если вы видите число, отличное от » 1 «, добавьте этот номер в » 5900 «, и вы получите номер порта, на котором VNC работает в вашей системе:
Добавьте параметр » -kill » в команду » vncserver » для остановки экземпляра, выполняющегося на порту с номером » 1 ″ или » 5901 «:
Настройка x11vnc сервера
Протокол VNC позволяет получить удаленный доступ к графическому интерфейсу Linux, FreeBSD. Настройка x11vnc (порт 5900) на Ubuntu 9.10 GNOME (настройка на любом дистрибутиве аналогична этой).
# aptitude show x11vnc ... Версия: 0.9.3.dfsg.1-1ubuntu2 ... Описание: VNC server to allow remote access to an existing X session # aptitude install x11vnc ... Следующие НОВЫЕ пакеты будут установлены: libvncserver0{a} x11vnc пакетов обновлено, 2 установлено новых, пакетов отмечено для удаления, и пакетов не обновлено. Необходимо получить 933kБ архивов. После распаковки 2.015kБ будет занято. Хотите продолжить? Yn? Y
# man x11vnc ... x11vnc - allow VNC connections to real X11 displays Typical usage is: Run this command in a shell on the remote machine "far-host" with X session you wish to view: x11vnc -display :0 ...
$ x11vnc -storepasswd Enter VNC password: Verify password: Write password to .vnc/passwd? /n y
Создадим скрипт запуска для x11vnc и поместим его в домашнюю директорию пользователя, к X-сессии которого мы будем соединяться.
$ mkdir Autostart $ touch Autostart/xvnc0.sh $ chmod +x Autostart/xvnc0.sh $ nano Autostart/xvnc0.sh #!/bin/sh /usr/bin/x11vnc -notruecolor -forever -display :0 -usepw
, где параметры
- -notruecolor -отключение полной цветопередачи, полезно для слабого канала интернета. Получим восьмибитный цвет.
- -forever -после запуска x11vnc ждёт подключения клиента, а по завершении подключения — завершает свою работу. Если необходимо чтобы x11vnc был запущен постоянно и не завершал работу после отключения клиента — нужно добавить опцию -forever к строке запуска.
- -display :0 -явно указываем используемый дисплей. Если опция не указана то используется дисплей, указанный в переменной окружения DISPLAY. Если же переменная окружения DISPLAY не указана — создаётся новый дисплей.
- -usepw — вынуждает x11vnc использовать авторизацию
Другие возможные параметры:
-scale 2/3 — масштабирование передаваемого изображения. Размер 2/3 от оригинала. Полезно для слабого канала интернета.
Далее в GNOME идем в меню Система→Параметры→Запускаемые приложения и добавляем скрипт xvnc0.sh для автоматической загрузки. Для KDE переносим файл в директорию .kde/Autostart
Настройка VNC-сервера
В отличие от предыдущих версий CentOS, TigerVNC в CentOS 8 настраивается с помощью демона systemd.
В этом примере мы покажем вам, как настроить TigerVNC для одного или нескольких пользователей VNC.
Используйте команду чтобы установить пароль. Запустите команду от имени пользователя, который будет обращаться к серверу VNC, не используйте :
Вам будет предложено ввести и подтвердить пароль, а также указать, следует ли установить его как пароль только для просмотра. Если вы решите установить пароль только для просмотра, пользователь не сможет взаимодействовать с экземпляром VNC с помощью мыши и клавиатуры.
При первом команды она создаст и сохранит файл паролей в каталоге пользователя .
Если вы добавляете второго пользователя, переключитесь на него и установите пароль с помощью .
Следующим шагом является настройка TigerVNC для использования Gnome. VNC считывает параметры конфигурации пользователя из файла . Откройте файл и добавьте следующее:
Параметр указывает сеанс, который вы хотите запустить, а параметр указывает размер рабочего стола VNC.
Сохраните и закройте файл . Если вы добавляете несколько пользователей, повторите тот же шаг.
TigerVNC поставляется с файлом, который позволяет сопоставить пользователя с определенным портом. Отображение настраивается в файле :
В файле используется = синтаксис. В приведенном ниже примере мы сопоставляем порт дисплея с пользователем linuxize. Используйте тот же формат, чтобы добавить больше пользователей.
— номер порта дисплея, на котором будет работать сервер VNC. В нашем случае сервер работает на TCP-порту (5900 + 1)
Если вы сопоставите другого пользователя, например, с отображением порта , сервер также будет прослушивать порт (5900 + 2).
Важно понимать, что при работе с серверами VNC — это порт дисплея, который ссылается на
Окончательный вердикт
Оценка приложений с очень похожими функциями и возможностями никогда не была легкой задачей. Вместо того, чтобы выбрать абсолютного победителя, мы попытались пробиться к вершине путем исключения. TightVNC является первым, кто исключает себя, поскольку клиент на базе Java чувствует себя неуместно на рабочем столе Linux — тем более, что соответствующий ему сервер доступен только для Windows.
Далее следуют Remmina и Vinagre, которые очень похожи в том, что они оба предлагают поддержку нескольких протоколов, кроме VNC, и не требуют специального серверного программного обеспечения. Vinagre просто выполняет свою работу без особых сложностей и работает на удивление хорошо. Тем не менее, клиент не предлагает такой же гибкости, как другие во время активного сеанса, что является позором.
Аналогичным образом, Remmina имеет хорошие оценки в отделе производительности и дает вам возможность изменять параметры качества соединения на лету. Клиент поддерживает самый широкий спектр протоколов и будет подключаться ко всем видам серверов удаленных рабочих столов. Remmina не имеет собственного серверного программного обеспечения, но вы можете использовать его для всех видов удаленных подключений ко всем видам серверов. К сожалению, Remmina не хватает некоторых дополнительных функций, которые вы получаете с другими клиентами, таких как возможность передачи файлов.
Если передача файлов необходима для удаленного доступа, то нет лучшего варианта, чем RealVNC. Клиент работает достойно с другими серверами, но лучше всего работает в паре с собственным. Мы рекомендуем его для удаленного доступа ко всем видам графической работы на Pi, особенно если вы используете Raspbian, поскольку серверное программное обеспечение теперь поставляется с предустановленной версией.
Это оставляет нас с TigerVNC. Клиент работает хорошо, независимо от того, какой тип VNC-сервера находится на другом конце. Единственным недостатком является отсутствие мобильных клиентов и тот факт, что он не позволяет копировать файлы. Тем не менее, пересылка файлов и мгновенных сообщений не являются основными функциями VNC. Учетные данные TigerVNC с открытым исходным кодом, интуитивно понятный интерфейс и образцовая производительность во время активного подключения делают его очень способным клиентом VNC для всех видов задач удаленного рабочего стола.
1-е место: TigerVNC — его учетные данные и производительность с открытым исходным кодом являются его отличительной чертой.
Общий балл: 5/5
Веб: www.tigervnc.org
2-е место: RealVNC — готовое решение для удаленного доступа к рабочему столу на Raspberry Pi.
Общий балл: 4/5
Веб: www.realvnc.com
3-е место: Remmina — многопротокольный клиент удаленного рабочего стола, который хорошо работает.
Общий балл: 3/5
Веб: www.remmina.org/wp
4-е место: Vinagre — клиент с несколькими протоколами, которому не хватает контроля, предлагаемого его коллегами.
Общий балл: 3/5
Веб: http://bit.ly/ProjectVinagre
Пятое место: TightVNC — самое большое его ограничение — это фокус на этих платформах Windows.
Общий балл: 2/5
Веб: http://tightvnc.net
Есть несколько других клиентов и решений для удаленных рабочих столов, которые вы можете использовать помимо тех, которые мы обсуждали. Хотя мы рассмотрели только самые популярные и активно развивающиеся клиенты VNC, существуют другие альтернативы, такие как KDE Krdc, TurboVNC и x11vnc. Также, как отмечалось ранее, VNC не единственный протокол удаленного рабочего стола в городе. Еще одним популярным является фирменный протокол NoMachine NX.
Если вы не противостоять проприетарным решениям, есть также клиент TeamViewer и инструмент Google Chrome Remote Desktop.
Veyon («виртуальный взгляд на сети») также представляет собой решение с открытым исходным кодом для удаленного доступа, контроля и управления классными компьютерами с использованием протокола RFB VNC.
Если вы заботитесь больше о безопасности, чем о явном недовольстве, вы можете просто включить пересылку X11 через SSH. Это будет отображать только одно приложение одновременно.
Step Three — Create a VNC Service File
To easily control our new VNC server, we should set it up as an Ubuntu service. This will allow us to start, stop, and restart our VNC server as needed.
First, open a new service file in with :
The first block of data will be where we declare some common settings that VNC will be referring to a lot, like our username and the display resolution.
Be sure to replace with the non-root user that you have set up, and change if you want to use another screen resolution for your virtual display.
Next, we can start inserting the command instructions that will allow us to manage the new service. The following block binds the command needed to start a VNC server, and feedback that it is being started, to the command keyword .
The next block creates the command keyword , which will immediately kill an existing VNC server instance.
The final block is for the command keyword , which is simply the two previous commands ( and ) combined into one command.
Once all of those blocks are in your service script, you can save and close that file. Make this service script executable, so that you can use the commands that you just set up:
Now try using the service and command to start a new VNC server instance:
Функции дистанционного управления
Все клиенты в этой статье довольно одинаково с точки зрения возможностей. Тем не менее, Remmina и Vinagre — единственные, кто может прослушивать и обнаруживать VNC-сервер, работающий в сети. Кроме того, Vinagre может туннелировать соединения VNC через SSH и позволяет легко делать снимки экрана удаленных компьютеров.
Однако с RealVNC и Remmina вы можете вручную настроить качество соединения, чтобы эффективно использовать доступную полосу пропускания. Лучше всего Remmina позволяет вам изменять глубину цвета удаленного рабочего стола на лету. Приложение шифрует соединения VNC с помощью алгоритма AES256, а также предлагает кнопку для отправки всех команд клавиатуры на удаленный сервер.
TigerVNC и TightVNC очень похожи, так как первый является ответвлением второго. TigerVNC по умолчанию использует шифрование TLS. Хотя приложение шифрует трафик, оно не может проверить подлинность сервера. Однако TigerVNC поддерживает различные другие схемы шифрования, такие как X509Vnc, которые позволяют это.
Кроме того, TigerVNC предлагает пользователям элементы управления для ручной настройки кодировки и уровня цвета и нескольких других параметров в зависимости от доступной пропускной способности. Вы также можете использовать его для создания сеансов только для просмотра и запуска полноэкранного сеанса на госте. TightVNC предлагает почти те же функции, что и TigerVNC, но некоторые отличительные особенности, такие как возможность передачи файлов, доступны только пользователям Windows.
Звук не поддерживается ни одним из клиентов. Только RealVNC имеет возможность передавать файлы. Однако функция передачи файлов наряду с некоторыми другими, такими как возможность обмена мгновенными сообщениями с человеком на сервере VNC, доступна только при подключении к серверу RealVNC, например, один предварительно установленный на Raspbian для Raspberry Pi.
Кроме того, клиент шифрует только соединения с сервером RealVNC (теперь известный как VNC Connect). Клиент допускает несколько сеансов и может запускать сеансы в полноэкранном режиме и масштабировать удаленный дисплей, чтобы соответствовать текущему окну на клиентском компьютере. Он также может запоминать учетные данные удаленного доступа, поэтому вам не нужно вводить их каждый раз, что является несомненным плюсом, особенно если вам необходимо удаленно управлять несколькими компьютерами. Просто дважды щелкните на машине из окна RealVNC для автоматического подключения.
Создание Systemd unit файла
Сейчас мы создадим Systemd unit файл, который позволит легко запускать, останавливать или вновь запускать сервис VNC по мере необходимости, как и другие сервисы systemd.
Откройте текстовый редактор, скопируйте и вставьте туда следующую конфигурацию. Не забудьте поменять имя пользователя в строке 7 на ваше.
Shell
sudo nano /etc/systemd/system/vncserver@.service
1 | sudo nanoetcsystemdsystemvncserver@.service |
/etc/systemd/system/vncserver@.service
Shell
Description=Remote desktop service (VNC)
After=syslog.target network.target
Type=simple
User=vnc_user
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :’
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1440×900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i
WantedBy=multi-user.target
1 8 |
Unit Description=Remote desktop service(VNC) After=syslog.targetnetwork.target Service Type=simple User=vnc_user PIDFile=home%u.vnc%H%i.pid ExecStartPre=binsh-c’/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :’ ExecStart=usrbinvncserver%i-localhost no-geometry1440x900-alwaysshared-fg ExecStop=usrbinvncserver-kill%i Install WantedBy=multi-user.target |
Сохраните и закройте файл.
Сообщите systemd, что вы создали новый unit файл:
Shell
sudo systemctl daemon-reload
1 | sudo systemctl daemon-reload |
На следующем шаге делаем unit файл доступным с помощью следующей команды:
Shell
sudo systemctl enable vncserver@1.service
1 | sudo systemctl enable vncserver@1.service |
Число после знака определяет порт дисплея, на котором будет работать сервис VNC. Это означает, что сервер VNC будет действовать на порту , как и говорилось в предыдущем разделе.
Запустите сервис VNC, выполнив:
Shell
sudo systemctl start vncserver@1.service
1 | sudo systemctl start vncserver@1.service |
Проверьте, что сервис успешно запущен:
Shell
sudo systemctl status vncserver@1.service
1 | sudo systemctl status vncserver@1.service |
Shell
● vncserver@1.service — Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@.service; indirect; vendor preset: enabled)
Active: active (running) since Thu 2018-08-16 19:05:54 UTC; 4s ago
Process: 9893 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 9900 (vncserver)
Tasks: 0 (limit: 507)
CGroup: /system.slice/system-vncserver.slice/vncserver@1.service
‣ 9900 /usr/bin/perl /usr/bin/vncserver :1 -geometry 1440×900 -alwaysshared -fg
1 2 3 4 5 6 7 8 |
●vncserver@1.service-Remote desktop service(VNC) Loadedloaded(etcsystemdsystemvncserver@.service;indirect;vendor presetenabled) Activeactive(running)since Thu2018-08-16190554UTC;4sago Process9893ExecStartPre=binsh-cusrbinvncserver-kill1>devnull2>&1||(code=exited,status=SUCCESS) Main PID9900(vncserver) Tasks(limit507) CGroupsystem.slicesystem-vncserver.slicevncserver@1.service ‣9900usrbinperlusrbinvncserver1-geometry1440x900-alwaysshared-fg |
Устанавливаем VNC-сервер в Ubuntu
Поскольку в последних версиях Ubuntu по умолчанию установлена графическая оболочка Gnome, инсталлировать и настраивать VNC мы будем, отталкиваясь именно от этого окружения. Весь процесс для удобства разделим на последовательные шаги, поэтому у вас не должно возникнуть трудностей с пониманием наладки работы интересующего инструмента.
Шаг 1: Установка необходимых компонентов
Как уже было сказано ранее, использовать мы будем официальное хранилище. Там находится самая свежая и стабильная версия VNC-сервера. Все действия производятся через консоль, потому начать стоит с ее запуска.
- Перейдите в меню и откройте «Терминал». Существует горячая клавиша Ctrl + Alt + T, которая позволяет сделать это быстрее.
Установите обновления для всех системных библиотек через .
Введите пароль для предоставления рут-доступа.
По окончании следует прописать команду и нажать на Enter.
Подтвердите добавление новых файлов в систему.
Ожидайте завершения инсталляции и добавления до появления новой строки ввода.
Теперь в Ubuntu присутствуют все необходимые компоненты, осталось только проверить их работу и провести настройку перед запуском удаленного рабочего стола.
Шаг 2: Первый запуск VNC-server
Во время первого запуска инструмента происходит настройка основных параметров, а уже потом стартует рабочий стол. Вам следует убедиться в том, что все функционирует нормально, а сделать это можно так:
- В консоли напишите команду , отвечающую за запуск сервера.
Вам будет предложено задать пароль для своих рабочих столов. Здесь надо ввести любую комбинацию символов, но не менее пяти. При наборе символы отображаться не будут.
Подтвердите пароль, введя его повторно.
Вы будете уведомлены о том, что создан стартовый скрипт и новый виртуальный десктоп начал свою работу.
Шаг 3: Настройка VNC-сервера для полноценного функционирования
Если в предыдущем шаге мы только удостоверились в работоспособности установленных компонентов, сейчас нужно подготовить их для осуществления удаленного подключения к рабочему столу другого компьютера.
- Сначала завершите запущенный десктоп командой .
Далее стоит запустить файл конфигурации через встроенный текстовый редактор. Для этого введите .
Убедитесь, что файл имеет все строки, указанные ниже.
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80×24+10+10 -ls -title «$VNCDESKTOP Desktop» &
x-window-manager &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
Если вы совершили какие-либо изменения, сохраните настройки нажатием клавиши Ctrl + O.
Выйти из файла можно нажатием на Ctrl + X.
Кроме всего, следует также пробросить порты, чтобы предоставить удаленный доступ. Поможет осуществить эту задачу команда .
После ее введения сохраните настройки, прописав .
Шаг 4: Проверка работы VNC-сервера
Последний шаг — проверка установленного и настроенного VNC-сервера в действии. Использовать для этого мы будем одно из приложений для управления удаленными рабочими столами. С его инсталляцией и запуском предлагаем ознакомиться далее.
- Сначала потребуется запустить сам сервер путем ввода .
Убедитесь в том, что процесс прошел корректно.
Приступайте к добавлению приложения Remmina из пользовательского репозитория. Для этого надо напечатать в консоли .
Нажмите на Enter для добавления новых пакетов в систему.
По завершении установки требуется обновить системные библиотеки .
Теперь осталось только собрать последнюю версию программы через команду .
Подтвердите операцию по инсталляции новых файлов.
Запустить Remmina можно через меню, нажав на соответствующий значок.
Здесь осталось только выбрать технологию VNC, прописать нужный IP-адрес и подключиться к десктопу.
Конечно, для подключения таким образом пользователю нужно знать внешний IP-адрес второго компьютера. Для определения этого существуют специальные онлайн-сервисы или дополнительные утилиты, добавляемые в Ubuntu. Детальную информацию по этой теме вы найдете в официальной документации от разработчиков ОС.
Теперь вы ознакомлены со всеми основными действиями, которые требуется выполнить для установки и настройки VNC-сервера под дистрибутив Ubuntu на оболочке Gnome.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Arch Linux
Официального программного обеспечения RealVNC для Arch Linux нет. Однако это в AUR. Чтобы установить сервер, сделайте следующее:
sudo pacman -S git git clone https://aur.archlinux.org/realvnc-vnc-viewer.git cd realvnc-vnc-viewer
makepkg -si
RealVNC Viewer также находится в AUR и устанавливается аналогичным образом. Имейте в виду, что эта версия программы просмотра VNC устарела. Используйте на свой риск!
Чтобы начать установку, клонируйте последнюю версию pkgbuild.
git clone https://aur.archlinux.org/realvnc-vnc-viewer-5.git cd realvnc-vnc-viewer-5 makepkg -si
С помощью Krfb[править]
Krfb — vnc-сервер среды KDE для совместного доступа к рабочему столу. Пакет включен в Альт Рабочая Станция К 9.
1. Установить пакет kde5-krfb:
# apt-get install kde5-krfb
2. В главном меню выбрать «Сеть» ▷ «Krfb (Общий рабочий стол)» или запустить от обычного пользователя:
$ krfb
3. Настроить совместный доступ к рабочему столу:
При подключении клиента будет появляться уведомление о попытке соединения:
Если запретить удалённому пользователю управлять мышью и клавиатурой он сможет только наблюдать за вашими действиями.
Примечание: Можно разрешить удалённому пользователю подключаться без подтверждения. Для этого в окне настройки совместного доступа к рабочему столу следует отметить пункт «Разрешить доступ без подтверждения» и установить пароль доступа.
По умолчанию используется порт 5900, изменить его можно в окне Настройка ▷ Настроить совместный доступ к рабочему столу на вкладке «Сеть»:
Krfb может использоваться совместно с .
Шаг 3 — Безопасная настройка рабочего стола VNC
Для безопасного подключения к вашему серверу вы установите туннель SSH, а затем дадите указание клиенту VNC подключиться с использованием данного туннеля, а не создавать прямое подключение.
Создайте на локальном компьютере соединение SSH, которое безопасно перенаправляется в соединение для VNC. Для этого можно ввести через терминал в Linux или macOS команду :
Локальным портом может быть любой порт, который еще не блокирован другой программой или процессом, хотя в этом примере мы используем . Также замените на имя пользователя Ubuntu, а должен отражать IP-адрес вашего сервера.
Если вы используете PuTTY для подключения к вашему серверу, вы можете создать туннель SSH, нажав правой клавишей мыши на верхнюю панель окна терминала, а затем выбрав опцию Change Settings…:
Найдите ветку Connection в меню слева окна реконфигурации PuTTY. Раскройте ветку SSH и нажмите на Tunnels. На экране Options controlling SSH port forwarding введите в поле Source Port и в поле Destination:
Затем нажмите кнопку Add, потом кнопку Apply для активации туннеля.
После запуска туннеля используйте клиент VNC для подключения к . Вам будет предложено пройти аутентификацию, используя пароль, заданный на шаге 1.
После подключения вы увидите рабочий стол Xfce по умолчанию. Он должен выглядеть следующим образом:
Для доступа к файлам в каталоге home вы можете использовать менеджер файлов или командную строку, как показано здесь:
Нажмите в локальном терминале, чтобы остановить туннель SSH и вернуться к командной строке. При этом сеанс VNC также будет отключен.
Подключение к VNC-серверу
VNC не является зашифрованным протоколом и может подвергаться перехвату пакетов. Рекомендуемый подход — создать туннель SSH для безопасной пересылки трафика с вашего локального компьютера на порт на удаленный сервер на том же порту.
Настроить SSH-туннелирование в Linux и macOS
Если вы используете Linux, macOS или любую другую операционную систему на основе Unix на своем компьютере, вы можете легко создать туннель, используя следующую команду :
Вам будет предложено ввести пароль пользователя.
Не забудьте заменить и своим именем пользователя и IP-адресом вашего сервера.
Настроить SSH-туннелирование в Windows
Откройте Putty и введите IP-адрес вашего сервера в поле .
В меню « разверните и выберите « . Введите порт сервера VNC ( ) в поле , введите в поле и нажмите кнопку , как показано на изображении ниже:
Вернитесь на страницу чтобы сохранить настройки, чтобы не вводить их каждый раз. Чтобы войти на удаленный сервер, выберите сохраненный сеанс и нажмите кнопку « .
Подключение с помощью Vncviewer
Чтобы подключиться к удаленному серверу, откройте программу просмотра VNC и введите .
Вы можете использовать любую программу просмотра VNC, такую как TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre и VNC Viewer для Google Chrome .
Мы используем TigerVNC:
При появлении запроса введите пароль, и вы должны увидеть рабочий стол Gnome по умолчанию. Это должно выглядеть примерно так:
Это оно! Теперь вы можете начать работу на удаленном рабочем столе с локального компьютера с помощью клавиатуры и мыши.
Команды, синтаксис и примеры
Virtual Network Computing (VNC) – это система удаленного отображения, которая позволяет запускать среду рабочего стола на одном компьютере и получать к ней доступ с других компьютеров через подключение к Интернету. Вы можете настроить постоянные рабочие столы, которые будут поддерживаться при отключении, чтобы вы могли продолжать работать именно там, где остановились при повторном подключении.
Это полезно, например, когда вы хотите работать на одном «рабочем столе» из разных мест, и его можно использовать для запуска среды рабочего стола на сервере, к которому у вас нет физического доступа или к которому не подключен терминал (монитор и клавиатура). Все, что вам нужно, это подключение к сети.
Как работают виртуальные сетевые вычисления
Итак, как это работает? Вам необходимо установить «nvcserver» на серверном компьютере (если он еще не установлен), а также «nvcviewer» и клиентский компьютер (для ознакомления с популярной версией программного обеспечения VNC см. RealVNC). Чтобы избежать проблем с брандмауэром, рекомендуется использовать безопасную оболочку ssh для подключения с компьютера, на котором выполняется просмотр, к серверу, на котором вы хотите запустить сеанс рабочего стола. Пакет PuTTY отлично подходит для этой цели.
Итак, первый шаг – запустить ssh, например, с помощью PuTTY. Затем вы авторизуетесь на сервере и вводите:
vncserver Новый рабочий стол server1.org1.com:6 (juser) - server1.org1.com.6
Перед запуском “vncserver” вы должны настроить файл инициализации “xstartup” в каталоге “.vnc”, который должен быть создан в вашем домашнем каталоге. Этот файл содержит команды инициализации, такие как
# Выполнить общий файл xstartup [-x/etc/vnc/xstartup] && exec/etc/vnc/xstartup # Загрузить файл .Xresources [-r $ HOME /. Xresources] && xrdb $ HOME/.Xresources # Запустите помощник vncconfig для включения передачи буфера обмена и управления рабочим столом. vncconfig -iconic & # Запустите рабочий стол GNOME exec gnome -сессия &
Теперь на сервере запущен «рабочий стол», ожидающий отображения на локальном компьютере. Как вы к нему подключаетесь? Если вы установили программное обеспечение realVNC или загрузили программу просмотра VNC, вы запустите эту программу просмотра и введите сервер и отобразите номер, как показано в этом примере:
server1.org1.com:6
Программа просмотра также попросит вас ввести пароль. При первом использовании VNC на этом сервере вы вводите новый пароль, который будет сохранен в папке .vnc. Пароль предназначен для подключений VNC и не связан с вашей учетной записью пользователя на сервере. После определенного периода бездействия вас могут попросить ввести пароль учетной записи, а также авторизовать доступ к серверу.
Как только пароль принят, должно появиться окно рабочего стола со всеми указанными элементами графического интерфейса пользователя. Вы можете отключиться от рабочего стола, закрыв окно рабочего стола.
Вы можете прервать процесс VNC-сервера («рабочий стол»), введя следующую команду в окне оболочки на сервере:
vncserver -kill:
Например:
vncserver -kill: 6 геометрия экспорта = 1920x1058
Где «1920» представляет желаемую ширину, а «1058» желаемую высоту окна рабочего стола. Лучше всего, чтобы оно соответствовало фактическому разрешению вашего экрана.