Меню Рубрики

Tightvnc server настройка linux mint

Установка и настройка tightvnc server в ubuntu 16.04 и 14.04

Сегодня я расскажу про установку и настройку vnc сервера tightvnc в ubuntu 14.04 и 16.04. Сначала поговорим о том почему я выбрал именно tightvnc. Когда я первый раз ставил vnc сервер, я сначала поставил x11vnc, его описывали как легкий в установке и удобный vnc сервер. Так и есть, все работает «из коробки», но вот незадача — этот vnc сервер работает с уже существующей сессией пользователя, а не создает новую. То есть он подключается к текущему рабочему столу пользователя. Многим это подойдет, но мне нужен был такой vnc сервер, который бы при запуске создавал новую сессию. Тут на помощь мне и пришел tightvnc сервер. При запуске tightvnc сервер создает новую сессию для пользователя. Плюсы такого сервера в том, что можно задать произвольное разрешение создаваемого рабочего стола, в независимости от ограничений, наложенных системой компьютера. Например, если удаленный компьютер позволяет выставить максимальное разрешение 1280х1024, это никак не помешает создать с помощью tightvnc сервера рабочий стол с разрешением еще больше. Так же с помощью tightvnc сервера можно создать несколько рабочих столов. Это очень удобно когда необходимо организовать работу для нескольких пользователей на одном компьютере.

И так, давайте приступим к установке tightvnc server в ubuntu 16.04 и 14.04:

Запуск tightvnc: в терминале набираем (запуск от текущего пользователя, sudo не нужен)

При первом запуске нужно будет ввести пароль доступа к vnc серверу (минимум 6 символов), и по желанию пароль доступа в режиме «только просмотр».

По умолчанию порт tightvnc сервера 5901. Можно указать другой порт так:

При этом tightvnc сервер будет запущен на порту 5902.

Запуск tightvnc server с заданным разрешением экрана осуществляется с параметром geometry, например:

То есть, если в терминале набрать:

то на порту 5903 будет запущен vnc сервер с разрешением рабочего стола 1280×1024 пикселей. Есть еще куча параметров — глубина цвета и много чего еще, в этой статье рассматриваются только основные.

Остановка tightvnc server:

Будет остановлен vncserver на порту 5901.

Настройка tightvnc server

При установке tightvnc server в каталоге /home/пользователь/.vnc создается скрипт запуска, который называется xstartup. Дело в том, что при создании новой сессии tightvnc server запускает обычные иксы, а xstartup — конфигурационный файл для создаваемой x-сессии, в котором нужно указывать все программы, которые должны загружаться при старте x-сессии, вплоть до таких, как оконный менеджер, например. Вот почему, если не редактировать скрипт запуска и подключится к tightvnc серверу, то вы увидите просто серый экран. Чтобы это исправить, давайте отредактируем файл /home/пользователь/.vnc/xstartup. Первое, что нам понадобится — это добавить туда оконный менеджер. Я рекомендую оконный менеджер «metacity». Установим его:

После установки добавим строку «metacity &» в файл xstartup:

Далее нужно запустить одно приложение, хотя бы терминал. В зависимости от версии дистрибутива linux команды для запуска терминала могут различаться. У меня установлен gnome-terminal. В вашем случае он может не быть установлен, а установлен xterm например. Вообщем, смотрите логи, если у вас ничего не запустится. Логи находятся в той же папке, что и xstartup.

Добавьте строку терминала следующей строкой после «metacity &»:

В принципе, это минимально возможная конфигурация, так как из терминала можно запустить любое приложение, но мы, чтобы до конца понять суть xstartup, добавим туда еще и браузер firefox. Все вместе получится приблизительно так:

После внесения изменений в xstartup обязательно перезапустите tightvnc server, если он был запущен. Сейчас после подключения к tightvnc серверу на рабочем столе должен появится открытый терминал и браузер firefox. Но это еще не все. При желании вы можете добавить туда множество приложений, nautilus например, ну вообщем по вашему усмотрению. Я бы рекомендовал добавить док панель вместо них, например gnome-panel, чтобы каждый раз не лезть в терминал для запуска того или иного приложения. Давайте установим ее:

И добавим ее в файл xstartup вместо приложений terminal и firefox:

Теперь при старте x-сессии будет запускаться панель gnome.

Вот и все, настройку tightvnc server на этом можно завершить. Но для прожженных гномоводов у меня еще кое что есть, при старте x-сессии можно запустить gnome сессию. Вот скрипт запуска для gnome сессии:

Хочу предупредить, что у меня в gnome сессии возникали глюки с браузерами: раскладка не переключалась, некоторые клавиши срабатывали неправильно. Вообщем смотрите что для вас лучше — иксы или gnome сессия.

Источник

Установка TightVNC на Ubuntu Server 18.04 LTS

По умолчанию серверы 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-сервер):

Причина в том, что большинство дистрибутивов Linux создают ключи хоста во время установки OpenSSH-сервера. А эта виртуальная машина была клонирована с уже установленным 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-туннель самостоятельно:

Источник

Как настроить и использовать сервер TigerVNC в Linux

Как установить TigerVNC

Установка в Debian, Kali Linux, Linux Mint, Ubuntu и их производные:

Для установки в Arch Linux, BlackArch и их производные:

Настройка сервера TigerVNC

Для работы сервера TigerVNC требуется файл

/.vnc/xstartup. Если этот файл не существует, то TigerVNC пытается его создать. В моих тестах на разных дистрибутивах этот файл обычно приходилось создавать вручную.

/.vnc/xstartup зависит от вашего окружения рабочего стола! То есть для Cinnamon, XFCE, GNOME и т. д. файлы будут разные!

Дело в том, что TigerVNC не используют текущую X сессию, а создаёт новую. Благодаря такому подходу можно, например, для пользователей выполнивших вход перед компьютером и пользователей, подключившихся по VNC, запускать различные окружения рабочего стола (при условии, что они установлены). Настройка запуска сеанса рабочего стола для VNC выполняется в файле

/.vnc/xstartup. Общая минимальная структура файла

Вместо слова ЗАПУСК должен быть указан исполнимый файл, запускающий X сессию.

  • Для Cinnamon: cinnamon-session-cinnamon
  • Для XFCE: startxfce4
  • Для GNOME: /usr/bin/gnome-session
  • Для Kodi: kodi-standalone
  • Для Mate: mate-session
  • Для lxqt: startlxqt

Вы можете самостоятельно узнать исполнимый файл для любого окружения рабочего стола, установленного в вашей системе, выполнив

В этой папке вы увидите файлы с расширением .desktop, например:

Откройте с именем интересующего вас окружения рабочего стола и найдите там строку, которая начинается на «Exec», например для файла xfce.desktop:

Следовательно, вместо слова «ЗАПУСК» в файле

/.vnc/xstartup нужно вписать «cinnamon-session-cinnamon». Тогда файл

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

Как создать пароль для TigerVNC сервера

После неё можно указать файл, в который должен быть сохранён пароль, в противном случае пароль будет сохранён в файл по умолчанию, то есть в $HOME/.vnc/passwd.

После ввода пароля программа спросит:

То есть хотите ли вы создать пароль для режима «только просмотр» — если хотите, то введите «y», если не хотите, то введите «n».

Запуск сервера TigerVNC

Запуск выполняется любой из следующих команд:

Пароль для аутентификации на сервере будет взят из файла $HOME/.vnc/passwd. Вы можете указать другой файл с паролем, с помощью любой из следующих опций (они все являются псевдонимами друг друга):

  • -PasswordFile ФАЙЛ
  • -passwd ФАЙЛ
  • -rfbauth ФАЙЛ

Будет выведено примерно следующее:

Может показаться, что программа завершила работу — но это не так, процесс переведён в фон. В данном сообщении сказано, что новый рабочий стол создан на дисплее с номером :1, а журнал сохраняется в файл /home/mial/.vnc/HackWare:1.log.

Чтобы убедиться, что сервер действительно работает, проверим, какие порты прослушиваются (смотрите также «Как проверить открытые порты на своём компьютере»):

Как можно увидеть, прослушивается порт 5901, который также считается стандартным для VNC.

Как сделать так, чтобы TigerVNC прослушивал не только 127.0.0.1

По умолчанию TigerVNC прослушивает только интерфейс с IP адресом 127.0.0.1, это LOOPBACK (петлевой) адрес, то есть к VNC серверу можно подключиться только с этого же самого компьютера, либо через SSH туннель. Как именно использовать SSH туннель для подключения к TigerVNC будет показано чуть ниже.

Кроме этого, имеется опция -localhost, которая может принимать значение «yes» или «no». Если указать -localhost no, то TigerVNC сервер будет прослушивать любые входящие подключения, а не только локальные:

Как поменять порт TigerVNC сервера

Прослушиваемый TCP порт для RFB протокола можно поменять опцией -rfbport ПОРТ.

Порт для внутреннего HTTP сервера устанавливается опцией -httpPort.

Как настроить выключение TigerVNC после отключения клиента

Для этого есть две опции:

  • -autokill: завершает работу VNC сервера после завершения X сессии
  • -fg: не переводит процесс в статус демона и завершает работу VNC сервера после завершения X сессии

Как использовать SSL сертификаты в TigerVNC для шифрования трафика VNC сессий

Поскольку TLS/SSL шифрование защищает VNC трафик от прослушивания, то нет особого смысла использовать одновременно SSH туннель (который также хорошо зашифрован) и SSL сертификаты. По этой причине при генерации сертификатов в качестве IP адреса указывайте внешний, а не 127.0.0.1.

На сервере сгенерируйте сертификаты (замените оба вхождения «192.168.0.100» на IP-адрес сервера — это может быть как локальный, так и глобальный IP):

Скопируйте файл с сертификатом vnc-server.pem на компьютер с просмотрщиком VNC — то есть клиентам, которые будут подключаться — укажите в клиентском приложении путь до файла сертификата:

На сервере же используйте опцию -X509Key с файлом vnc-server-private.pem и опцию -X509Cert с файлом vnc-server.pem.

По умолчанию в качестве типов безопасности предлагается только VncAuth. С помощью опции -SecurityTypes можно указать любые типы шифрования из списка: None, VncAuth, Plain, TLSNone, TLSVnc, TLSPlain, X509None, X509Vnc, X509Plain.

Для SSL сертификтов (то есть для опций -X509Key и -X509Cert) используются типы безопасности X509None, X509Vnc и X509Plain. Также нужно указать VncAuth, чтобы была возможность выполнять VNC аутентификацию.

Таким образом, собираем все необходимые опции в одну команду:

Управление и остановка процессом TigerVNC

Чтобы вывести список запущенных рабочих столов с VNC выполните следующую команду:

  • X DISPLAY # — номер дисплея
  • RFB PORT # — номер прослушиваемого порта
  • PROCESS ID — идентификатор процесса

Чтобы закрыть дисплей с любым номером, используйте опцию -kill, к примеру, чтобы закрыть дисплей :1:

Имеется утилита vncconfig, которая с использованием опции [-set] Xvnc-param=value позволяет изменять опции запущенного VNC сервера на лету.

Чтобы вывести список опций VNC сервера укажите флаг -list:

Обратите внимание, что также нужно использовать опцию -display после которой указывается номер дисплея.

Как настроить автоматический запуск сервера TigerVNC

Создайте файл /etc/systemd/system/vncserver@.service:

Скопируйте в этот файл

Обратите внимание на строку User=mial — впишите в неё имя вашего пользователя вместо mial.

Сохраните и закройте этот файл.

Теперь перезагрузите конфигурацию менеджера systemctl для чтения свежесозданного файла юнита следующим образом:

Для запуска службы VNC выполните команду:

Обратите внимание, что вместо 1 вы можете указывать любой номер дисплея.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Программа для записи образа на диск для mac os
  • Программа для записи дисков для mac os
  • Программа для записи видео со звуком с экрана mac os
  • Программа для записи iso на флешку mac os
  • Программа для записи iso на диск для mac os