Ubuntu vnc отключить шифрование

Обновлено: 03.07.2024

I have one computer running Ubuntu 10.04, and is running Vino, the default VNC server.

I have a second Windows box which is running a VNC client, but does not have any X11 capabilities. I am ssh'd into the Ubuntu host from the Windows host, but I forgot to enable VNC access on the Ubuntu host.

On the Ubuntu host, is there a way for me to enable VNC connections from the Ubuntu commandline?

As @koanhead says below, there is no man page for vino (e.g. man -k vino and info vino return nothing), and vino --help doesn't show any help).

63.5k 29 29 gold badges 165 165 silver badges 255 255 bronze badges 3,942 5 5 gold badges 28 28 silver badges 33 33 bronze badges

10 Answers 10

I also wanted to enable vino with the command line without going in vino-preferences.

When I started /usr/lib/vino/vino-server , it says that I didn't have desktop sharing service enabled.

With Unity gconftool isn't usable anymore. We have to do it via gsettings .

So, first, enable vino :

Then start vino :

Now you can access remotely to your computer.

If you want to see all configs available for Vino :


Short Answer:

as the accepted answer mentions, if vino isn't started on the remote machine, use

Long Answer and more info:

A subset of the settings for the current built-in remote access server (vino) can be seen, as mentioned, from vino-preferences. A complete list of gconf flags can be seen with the gconf-editor command, listed under /desktop/gnome/remote_access . You can see also the other remote_access keys with this command (or a variation on it):

(For whatever reason, -R will also work.)

You can also get the schema key documentation via the --long-docs arg.

E.g., for the alternative_port key :

So, for example, here's how to change default port via command line:

gconftool will give you the keys under a given directory. Here is the 'remote_access' section:

Here is how to list all the schema docs under /desk/gnome/remote/access (via command-line /bin/bash):

VNC (Virtual Network Computing) — это система удалённого доступа, которая позволяет использовать клавиатуру и мышь для взаимодействия с графическим интерфейсом рабочего стола удалённого сервера. С её помощью можно управлять файлами, программным обеспечением и настройками удалённого сервера, не обращаясь к командной строке.

Установка Gnome

Тут есть три варианта — Vanilla Gnome (минимальный), Ubuntu Gnome Minimal Desktop (что-то среднее) и Ubuntu Gnome Desktop (полная установка):

Запускаем службу GDM (Gnome Display Manager) и добавляем ее в автозагрузку:

Установка TigerVNC

Установим VNC-сервер и VNC-клиент:

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

Чтобы изменить пароль для подключения к серверу — используйте утилиту vncpasswd .

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

Подключение к серверу

Теперь запустим VNC-сервер с рабочем окружением в виде терминала:

Мы указываем тип авторизации и передаем файл с паролем, который создали при первом запуске VNC сервера.


Посмотреть список запущенных серверов можно командой:

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

Теперь запустим vncserver с рабочем окружением в виде браузера и с разрешением экрана 1024x768:

И подключимся к запущенному серверу:


Также можно запустить vncviewer без параметров, тогда утилита откроет окно, где нужно ввести ip-адрес машины (на которой запущен сервер) + номер дисплея или порта + пароль:



Рабочее окружение Gnome

Мы запускали vncserver с рабочем окружением в виде терминала и браузера, но теперь нам нужно полноценное рабочее окружение Gnome. Чтобы его настроить, создаем файл

/.vnc/xstartup со следующим содержимым:

Это скрипт, который запускает рабочее окружение Gnome, но можно запускать и другие окружения. Теперь при запуске vncserver опция xstartup не нужна.

И подключимся к запущенному серверу:


Подключение с удаленного хоста

Перед подключением надо открыть несколько портов на той машине, где установлен VNC-сервер, чтобы фаервол не блокировал подключение:

А сам VNC-сервер должен быть запущен с опцией -localhost no , иначе он не будет принимать подключения с других хостов, а только с localhost :

На другом компьютере, с которого будем подключаться к VNC-серверу, используем приложение Remmina:



Безопасное подключение

При подключении VNC не использует безопасные протоколы. Давайте создадим SSH-туннель для безопасного подключения к серверу (для этого на машине с VNC-сервером должен быть установлен SSH-сервер):

Теперь при подключении к VNC-серверу указываем не 192.168.110.16:5901 , а localhost:5901 . Мы как бы подключаемся к локальной машине, но соединение будет проброшено через ssh-туннель на машину с VNC-сервером.


При этом на машине с установленным VNC-сервером должен быть открыт 22-ой порт:

Держать открытыми порты 5901:5903 больше не нужно, так что закрываем. А VNC-сервер теперь можно запускать без ключа -localhost no :

Создание файла сервиса

Теперь нужно настроить сервер VNC как сервис Systemd, чтобы он запускался при загрузке системы. Для этого создаем новый unit-файл:

Символ @ в конце имени файла позволит нам передать аргумент, который можно использовать в конфигурации сервиса. С его помощью можно указать порт VNC, который нужно использовать при управлении сервисом.

Команда ExecStartPre останавливает VNC, если сервис уже запущен. Команда ExecStart запускает VNC-сервер, а команда ExecStop — останавливает. Давайте сообщим системе про новый unit-файл:

Добавляем три службы в автозагрузку:

Теперь, после загрузки системы, VNC-сервер будет прослушивать три порта: 5901, 5902 и 5903. И мы можем подключиться на любом из них. Кроме того, мы можем вручную запустить или остановить VNC-сервер, как любую другую службу:

При подключении к VNC-серверу нужно на клиенте создать три ssh-туннеля:

Но такая команда вряд ли будет нужна, потому как три экземпляра VNC-сервера нужны, чтобы можно было одновременно подключиться с трех разных машин. А перед каждым подключением — создать ssh-туннель, чтобы пропускать через него tcp-соединение на порт 5901, 5902, 5903.

По умолчанию серверы Ubuntu 18.04 поставляются без предустановленного графического окружения рабочего стола и сервера VNC. Потому сначала нужно установить эти компоненты. Мы будем использовать пакеты Xfce и TightVNC, доступные в официальном репозитории Ubuntu.

Установка Xfce и TightVNC

Сначала устанавливаем пакет Xfce:

Следом за ним — пакет TightVNC:

Запускаем VNC-сервер командой:

При первом запуске vncserver предложит выбрать и подтвердить пароль. Пароль должен быть длинной от шести до восьми символов. Кроме того, будет возможность создать пароль только для просмотра.

Порты VNC-сервера

При запуске первого экземпляра VNC-сервера без указания порта, сервер будет прослушивать порт 5901 (или :1). При запуске следующего экземпляра сервер будет прослушивать порт 5902 (или :2). Можно явно указать порт при запуске экземпляра сервера:

Посмотреть список запущенных серверов можно так:

Остановим работу первого и второго экземпляра VNC-сервера:

Настройка VNC-сервера

Теперь нужно задать команды, которые сервер VNC будет выполнять при запуске. Эти команды должны находиться в файле xstartup в каталоге

/.vnc/ текущего пользователя. Сценарий запуска уже был создан при первом запуске сервера с помощью команды vncserver , но его нужно откорректировать для работы с Xfce.

При помощи первой команды GUI сервера VNC читает файл .Xresources . В файле .Xresources пользователь может вносить изменения в некоторые настройки графического рабочего стола (цвет терминала, темы курсора, шрифты). Вторая команда просто запускает графическую оболочку Xfce.

Этот файл нужно сделать исполняемым:

Все, можно запускать сервер:

Подключение к VNC-серверу

Теперь попробуем подключиться с другого компьютера, используя VNC-клиент Remmina:


Изначально качество изображения низкое, но это можно изменить в настройках клиента:


Перед подключением надо открыть несколько портов на той машине, где мы установили VNC-сервер:

Создание файла сервиса

Теперь нужно настроить сервер VNC как сервис Systemd, чтобы он запускался при загрузке системы. Для этого создаем новый unit-файл:

Символ @ в конце имени файла позволит нам передать аргумент, который можно использовать в конфигурации сервиса. С его помощью можно указать порт VNC, который нужно использовать при управлении сервисом.

Команда ExecStartPre останавливает VNC, если сервис уже запущен. Команда ExecStart запускает VNC и устанавливает глубину цвета и разрешение. Давайте сообщим системе про новый unit-файл.

Добавляем три службы в автозагрузку:

Теперь, после загрузки системы, VNC-сервер будет прослушивать три порта: 5901, 5902 и 5903. И мы можем подключиться на любом из них:


И мы можем вручную запустить или остановить VNC-сервер, как любую другую службу:

Безопасное подключение

При подключении VNC не использует безопасные протоколы. Давайте создадим SSH-туннель для безопасного подключения к серверу (для этого на машине с VNC-сервером должен быть установлен SSH-сервер):

У меня возникло затруднение при попытке установить ssh-соединение с виртуальной машиной, на которой установлен VNC-сервер (и SSH-сервер):

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

После этого отпечаток публичного ключа сохраняется в файле

/.ssh/known_hosts . В моем случае сам сервер, просматривая свои ключи, обнаруживал в них ошибку. Если посмотреть файл /var/log/auth.log , то можно увидеть такие записи

При подключении к VNC-серверу указываем не 192.168.110.13:5901 , а localhost:5901 . Мы как бы подключаемся к локальной машине, но соединение будет проброшено через ssh-туннель на машину с VNC-сервером.


При этом на машине с установленным VNC-сервером должен быть открыт 22-ой порт:

А вот держать открытыми порты 5901:5903 больше не нужно, так что закрываем:

Обратите внимание, что VNC-клиент Remmina умеет создавать ssh-туннель самостоятельно:

2014-10-03 20-55-47 Скриншот экрана

Установка и настройка X11vnc на Ubuntu 14.04

Первым делом давайте удалим Vino, всё равно корректной работы от него добиться не удаётся, да и в функциональности X11vnc он несколько проигрывает.

Настройка VNC на Ubuntu

Для этого открываем терминал и вводим:

По запросу вводим пароль администратора, подтверждаем удаление.

Подтверждаем установку пакета. Загрузка и установка займёт около одной минуты, ждём завершения.

Настройка VNC на Ubuntu

Соглашаемся с записью пароля в файл

Теперь зададим пароль, который будет запрашиваться при подключении по VNC. Для этого вводим:

В общем-то уже можно пользоваться, но это будет не слишком удобно по нескольким причинам:

  • X11vnc не будет запускаться при загрузке системы, это не удобно, так как каждый раз для удалённого подключения придется вручную запускать VNC сервер, а это иногда просто не возможно.
  • Если за удалённым компьютером не зарезервирован IP-адрес, то будет непонятно, куда подключаться (или пробрасывать порт), и каждый раз перед подключением нам каким-то образом придётся узнавать IP-адрес удалённого компьютера.

Давайте решим данные проблемы.

Автозагрузка X11vnc на Ubuntu

Тут всё тоже очень просто. Первым делом с помощью встроенного текстового редактора Gedit создадим файл /etc/init/x11vnc.conf, для этого в терминале вводим:

Настройка VNC на Ubuntu

По запросу вводим пароль администратора. Откроется текстовый редактор, в тело открытого файла пишем:

Проверяем правильность ввода и жмём сохранить.

Сетевые настройки для VNC

Теперь давайте разберёмся с IP-адресом.

Настройка VNC на Ubuntu

Настройка VNC на Ubuntu

Изменим способ настройки

Настройка VNC на Ubuntu

Когда все сетевые параметры вписаны, сохраняем

Подключение к удалённому компьютеру по VNC с Windows

После загрузки запускаем *.exe файл и, следуя инструкциям установщика, инсталлируем программу. После завершения запускаем.

Указываем IP сервера

Настройка VNC на Ubuntu

Произойдёт подключение к удёлённому компьютеру, можно пользоваться 🙂

About AG

Спасибо за ссылку, думаю многим пригодится.

Тяжёлые времена требуют жёстких решений) На мой взгляд, проще всего использовать X11vnc.

По-моему вполне приемлемое решение.

gsettings set org.gnome.Vino require-encryption false

ПО крайней мере на MINT17 у меня X11 так гладко не заработал, как написано в статье. Пришлось вернуться в VIno )

В ubuntu 15.04 у меня к сожалению в Вашем варианте не заработало.
(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)

Заменил -auth /var/run/lightdm/root/:0 на -auth /home/USER/.Xauthority

3. Чтобы работала передача файлов при пользовании UltraVNC viewer необходимо добавить опцию
-ultrafilexfer

4. Внимание! Пароль для подключения из винды к x11vnc должен быть не более 8 знаков!

x11vnc -dontdisconnect -display :0 -auth /home/USER/.Xauthority -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /home/USER/.vnc/x11vnc.log -rfbauth /home/USER/.vnc/passwd -ultrafilexfer

Можно писать просто apt вместо apt-get

Это все супер, а как сделать, что бы подключение шло на то же tty, где сидит и пользователь (порт 0)? 🙂
А то ведь копипасты про внц тонна по инету, как не набирай тему.

$ sudo apt-get install x11vnc
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:

вот как это понимать?
(xubuntu 16.04)

В 16.04 автоматом не запускается при запуске

Не возможно осуществить ввод, ни с клавиатуры, ни какие-либо действия мышью, хотя курсор двигается.

Читайте также: