Установка и настройка x11vnc Ubuntu 18

Обновлено: 02.07.2024

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

В этой статье мы объясним, как установить и настроить VNC-сервер на настольной версии Ubuntu 18.04 с помощью программы tigervnc-server.

Среда тестирования

Установка среды рабочего стола в Ubuntu

Как я уже сказал, VNC — это система совместного использования рабочего стола, поэтому на вашем сервере Ubuntu должна быть установлена ​​среда рабочего стола. Вы можете установить DE по вашему выбору, выполнив соответствующие команды ниже. Для целей этой статьи мы установим Ubuntu Gnome (официальная версия).

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

Tigervnc-server — это высокоскоростная многоплатформенная программа VNC, которая запускает сервер Xvnc и запускает параллельные сеансы Gnome или другой среды рабочего стола на рабочем столе VNC.

Чтобы установить сервер TigerVNC и другие связанные пакеты в Ubuntu, выполните следующую команду.

Теперь запустите сервер VNC, выполнив команду vncserver от имени обычного пользователя. Это действие создаст первоначальную конфигурацию, хранящуюся в каталоге $HOME/.vnc, а также предложит вам установить пароль для входа.

Введите пароль (длиной не менее шести символов) и подтвердите его. Затем установите пароль только для просмотра, если хотите, следующим образом.

Запустить VNC-сервер

Далее нам нужно настроить DE для работы с сервером VNC. Итак, остановите сервер VNC с помощью следующей команды, чтобы выполнить некоторые настройки.

Остановить сервер VNC

Чтобы настроить GNOME или любой другой рабочий стол, который вы установили, создайте файл с именем xstartup в каталоге конфигурации с помощью вашего любимого текстового редактора.

Добавьте в файл следующие строки. Эти команды будут автоматически выполняться всякий раз, когда вы запускаете или перезапускаете сервер TigerVNC. Обратите внимание, что команды могут различаться в зависимости от установленной среды разработки.

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

Затем запустите сервер VNC, выполнив следующую команду от имени обычного пользователя. Установите свои собственные значения для геометрии отображения. Кроме того, используйте флаг -localhost, чтобы разрешить подключения только с локального хоста и, по аналогии, только от пользователей, прошедших проверку подлинности на сервере.

Кроме того, VNC по умолчанию использует TCP-порт 5900+N , где N — номер дисплея. В этом случае :1 означает, что сервер VNC будет работать на порту дисплея с номером 5901.

 Запустите VNC-сервер для подключения

Чтобы получить список сеансов сервера VNC в вашей системе, выполните следующую команду.

Список сеансов VNC

После запуска сервера VNC проверьте порт, на котором он работает, с помощью команды netstat.

Проверьте работающие порты VNC

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

В этом разделе мы покажем, как подключиться к серверу VNC, но прежде чем мы углубимся в это, вам нужно знать, что по умолчанию VNC не является безопасным (это не зашифрованный протокол, и на него могут распространяться перехват пакетов). Эту проблему можно решить, создав туннель от клиента к серверу через SSH.

Используя туннелирование SSH, вы можете безопасно перенаправлять трафик с вашего локального компьютера через порт 5901 на сервер VNC через тот же порт.

На клиентском компьютере Linux откройте новое окно терминала и выполните следующую команду, чтобы создать туннель SSH к серверу VNC.

Затем установите клиент vncviewer, например TigerVNC Viewer, как показано ниже (вы можете установить любой другой клиент по вашему выбору).

После завершения установки запустите клиент VNC, укажите адрес localhost:5901 для подключения к дисплею 1 следующим образом.

Можно также открыть его из системного меню, ввести указанный выше адрес и нажать «Подключиться».

Открыть клиент VNC для Подключить

Вам будет предложено ввести пароль для входа в VNC, созданный ранее, введите его и нажмите OK, чтобы продолжить.

Войдите в VNC Пароль для входа

Если пароль правильный, вы попадете в интерфейс входа на рабочий стол. Введите свой пароль для доступа к рабочему столу.

Access Desktop Интерфейс входа
Доступ к рабочему столу Ubuntu через VNC

Внимание: если вы заботитесь о безопасности, вы, возможно, заметили, что средство просмотра VNC показывает «соединение не зашифровано», даже несмотря на то, что мы включили туннелирование SSH.

Это связано с тем, что он предназначен для использования определенных схем безопасности, отличных от туннелирования SSH, при попытке аутентификации на сервере. Однако подключение становится безопасным, если вы включили туннелирование SSH.

Создание файла модуля Systemd для сервера TigerVNC

Чтобы управлять сервером VNC под systemd, т. е. запускать, останавливать и перезапускать службу VNC по мере необходимости, нам нужно создать для нее файл модуля в каталоге /etc/systemd/system/ с привилегиями root.< /p>

Затем добавьте в файл следующие строки:

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

Затем перезагрузите конфигурацию диспетчера systemd, чтобы прочитать только что созданный файл модуля, как показано ниже.

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

Запустить и проверить статус VNC

Вот и все! В этой статье мы объяснили, как установить и настроить сервер VNC в дистрибутиве Ubuntu Linux. Поделитесь с нами своими вопросами или мыслями через форму обратной связи ниже.

Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

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

В этом руководстве вы настроите сервер VNC на сервере Ubuntu 18.04 и безопасно подключитесь к нему через туннель SSH. Вы будете использовать TightVNC, быстрый и легкий пакет удаленного управления. Этот выбор гарантирует, что наше соединение VNC будет плавным и стабильным даже при медленном интернет-соединении.

Предпосылки

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

  • Один сервер Ubuntu 18.04, настроенный в соответствии с руководством по первоначальной настройке сервера Ubuntu 18.04, включая пользователя без полномочий root и брандмауэр.
  • Локальный компьютер с установленным клиентом VNC, который поддерживает подключения VNC через туннели SSH.
    • В Winows вы можете использовать TightVNC, RealVNC или UltraVNC.
    • В macOS вы можете использовать встроенную программу совместного доступа к экрану или кроссплатформенное приложение, например RealVNC.
    • В Linux вы можете выбрать один из многих вариантов, включая vinagre , krdc , RealVNC или TightVNC.

    Шаг 1 — Установка среды рабочего стола и VNC-сервера

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

    На своем сервере обновите список пакетов:

    Теперь установите среду рабочего стола Xfce на свой сервер:

    После завершения установки установите сервер TightVNC:

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

    Вам будет предложено ввести и подтвердить пароль для удаленного доступа к вашему компьютеру:

    Пароль должен содержать от шести до восьми символов. Пароли длиной более 8 символов будут автоматически усечены.

    После того как вы подтвердите пароль, у вас будет возможность создать пароль только для просмотра.Пользователи, которые входят в систему с паролем только для просмотра, не смогут управлять экземпляром VNC с помощью мыши или клавиатуры. Это полезная опция, если вы хотите продемонстрировать что-то другим людям, использующим ваш VNC-сервер, но это не обязательно.

    Затем процесс создает необходимые файлы конфигурации по умолчанию и информацию о соединении для сервера:

    Теперь давайте настроим сервер VNC.

    Шаг 2 — Настройка VNC-сервера

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

    Эти команды находятся в файле конфигурации с именем xstartup в папке .vnc в вашем домашнем каталоге. Сценарий запуска был создан, когда вы запускали vncserver на предыдущем шаге, но мы создадим свой собственный для запуска рабочего стола Xfce.

    При первой настройке VNC запускает экземпляр сервера по умолчанию на порту 5901 . Этот порт называется портом отображения и обозначается VNC как :1 . VNC может запускать несколько экземпляров на других портах дисплея, например :2 , :3 и т. д.

    Поскольку мы собираемся изменить настройку сервера VNC, сначала остановите экземпляр сервера VNC, работающий на порту 5901, с помощью следующей команды:

    Вывод должен выглядеть так, хотя вы увидите другой PID:

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

    Теперь создайте новый файл xstartup и откройте его в текстовом редакторе:

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

    Первая команда в файле, xrdb $HOME/.Xresources, указывает графическому пользовательскому интерфейсу VNC прочитать файл .Xresources пользователя сервера. .Xresources — это место, где пользователь может вносить изменения в определенные настройки графического рабочего стола, такие как цвета терминала, темы курсора и рендеринг шрифтов. Вторая команда указывает серверу запустить Xfce, где вы найдете все графическое программное обеспечение, необходимое для удобного управления вашим сервером.

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

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

    Теперь перезапустите сервер VNC.

    Вы увидите вывод, похожий на этот:

    Подготовив конфигурацию, давайте подключимся к серверу с нашего локального компьютера.

    Шаг 3. Безопасное подключение рабочего стола VNC

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

    Создайте SSH-подключение на локальном компьютере, которое безопасно перенаправляется на локальное подключение для VNC. Вы можете сделать это через терминал в Linux или macOS с помощью следующей команды:

    Переключатель -L указывает привязки портов. В этом случае мы привязываем порт 5901 удаленного подключения к порту 5901 на вашем локальном компьютере. Переключатель -C включает сжатие, а переключатель -N сообщает ssh, что мы не хотим выполнять удаленную команду. Переключатель -l указывает имя удаленного входа в систему.

    Не забудьте заменить sammy и your_server_ip на имя пользователя sudo без полномочий root и IP-адрес вашего сервера.

    Если вы используете графический SSH-клиент, например PuTTY, используйте your_server_ip в качестве IP-адреса подключения и установите localhost:5901 в качестве нового переадресованного порта в настройках туннеля SSH программы.

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

    После подключения вы увидите рабочий стол Xfce по умолчанию. Это должно выглядеть примерно так:

    Подключение VNC к серверу Ubuntu 18.04
    < /p>

    Файлы через подключение VNC к Ubuntu 18.04

    Нажмите CTRL+C в терминале, чтобы остановить туннель SSH и вернуться к подсказке. Это также отключит ваш сеанс VNC.

    Далее настроим наш VNC-сервер как службу.

    Шаг 4. Запуск VNC как системной службы

    Далее мы настроим VNC-сервер как службу systemd, чтобы мы могли запускать, останавливать и перезапускать его по мере необходимости, как и любую другую службу. Это также обеспечит запуск VNC при перезагрузке сервера.

    Сначала создайте новый юнит-файл с именем /etc/systemd/system/vncserver@.service с помощью вашего любимого текстового редактора:

    Символ @ в конце имени позволяет передать аргумент, который мы можем использовать в конфигурации службы. Мы будем использовать это, чтобы указать порт отображения VNC, который мы хотим использовать при управлении службой.

    Добавьте в файл следующие строки.Обязательно измените значение User, Group, WorkingDirectory и имя пользователя в значении PIDFILE, чтобы они соответствовали вашему имени пользователя:

    Команда ExecStartPre останавливает VNC, если он уже запущен. Команда ExecStart запускает VNC и устанавливает глубину цвета на 24-битный цвет с разрешением 1280x800. Вы также можете изменить эти параметры запуска в соответствии со своими потребностями.

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

    Далее сообщите системе о новом файле модуля.

    Включить файл модуля.

    Цифра 1 после знака @ означает, над каким отображаемым номером должна отображаться служба, в данном случае по умолчанию: 1, как обсуждалось на шаге 2…

    Остановите текущий экземпляр сервера VNC, если он все еще работает.

    Затем запустите его, как любую другую службу systemd.

    Вы можете убедиться, что он запустился с помощью этой команды:

    Если все запустилось правильно, вывод должен выглядеть следующим образом:

    Ваш сервер VNC теперь будет доступен после перезагрузки компьютера.

    Снова запустите туннель SSH:

    Затем установите новое подключение с помощью клиентского программного обеспечения VNC к localhost:5901, чтобы подключиться к вашему компьютеру.

    Заключение

    Теперь у вас есть защищенный сервер VNC, работающий на вашем сервере Ubuntu 18.04. Теперь вы сможете управлять своими файлами, программным обеспечением и настройками с помощью простого в использовании и знакомого графического интерфейса, а также сможете удаленно запускать графическое программное обеспечение, например веб-браузеры.

    Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!

    Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.

    Все еще ищете ответ?

    Я использую аналогичную конфигурацию в Ubuntu 16.04, и все работает нормально. На этот раз я пытаюсь использовать Ubuntu 18.04 и следую указанным шагам. Вот ошибка из журнала загрузки. Не могли бы вы, пожалуйста, если я пропустил какие-либо шаги?

    11 августа 10:50:35 sghorai-linux systemd[1]: Запуск Запуск сервера TightVNC при запуске… 11 августа 10:50:35 sghorai-linux vncserver[1044]: Уничтожение процесса Xtightvnc с идентификатором 852 11 августа 10:50 :35 sghorai-linux systemd[1]: vncserver@1.service: Процесс управления завершен, code=exited status=98 11 августа 10:50:35 sghorai-linux systemd[1]: vncserver@1.service: Ошибка с результатом 'код выхода'. 11 августа, 10:50:35 sghorai-linux systemd[1]: не удалось запустить запуск сервера TightVNC при запуске.

    Учебник работал нормально, но после подключения я не могу предоставить общий доступ к буферу обмена между моим локальным компьютером с Windows 10 и удаленной средой. Я что-то пропустил? Я пробовал и TightVNC, и RealVNC Viewer. RealVNC сказал, что VNC Server не поддерживает передачу файлов. Отсутствует ли на удаленном сервере параметр, разрешающий передачу файлов? Спасибо.

    На шаге возникла ошибка

    Ошибка: Отказано в доступе (открытый ключ). Как это решить?

    Получено сообщение: module.c не удалось загрузить. Пожалуйста, помогите исправить

    16 сентября, 21:47:57, вселенная goa-daemon[9553]: версия goa-daemon 3.28.0, начиная с 16 сентября, 21:47:57, вселенная dbus-daemon[9414]: [session uid=1000 pid=9412] Активация 16 сентября, 21:47:57, вселенная dbus-daemon[9414]: [сеанс uid=1000 pid=9412] Успех 16 сентября, 21:47:57, вселенная dbus-daemon[9414]: [сеанс uid=1000 pid=9412] Успешно 16 сентября 21:47:57 вселенная dbus-daemon[9414]: [сеанс uid=1000 pid=9412] Успешно 16 сентября 21:47:57 вселенная dbus-демон[9414]: [сеанс uid=1000 pid=9412] Successf 16 сентября 21:47:57 вселенная dbus-daemon[9414]: [сеанс uid=1000 pid=9412] Activati ​​16 сентября 21:47:57 вселенная dbus-daemon[9414]: [сеанс uid=1000 pid=9412] Successf 16 сентября 21:47:57 вселенная pulseaudio[9467]: [pulseaudio] module-x11-bell.c: XkbQu 16 сентября 21:47:57 вселенная pulseaudio[9467]: [pulseaudio] module.c: Failed to load< /p>

    Как настроить подключение VNC, чтобы обе стороны могли видеть удаленно созданное окно. Я думаю о ситуации, когда вы хотели бы показать кому-то, как что-то делать на его машине, или показать, где что-то находится и как что-то делается, или решить проблему, пока они смотрят.

    Спасибо за прекрасное руководство, оно мне помогло.

    Я хотел подключиться со всех IP-адресов. Если кто-то захочет это сделать, единственная модификация — использовать «vncserver -localhost no» вместо просто vncserver.

    Этот комментарий был удален

    пункт 3, он только для Linux и Mac, и я использую win10, я пытался в этом пункте, и я не могу подключиться. с помощью realvnc

    Я пытаюсь пройти этот урок, но не нахожу… :c Не могли бы вы мне помочь, пожалуйста?

    11 окт 17:17:54 acer-svr org.a11y.Bus[4455]: Демон SpiRegistry работает с хорошо известным именем — org.a11y.atspi.Registry 11 окт 17:17:54 acer-svr dbus -daemon[4455]: [session uid=1000 pid=4453] Успешно активирована служба 'org.freedesktop.Notifications' 11 октября 17:17:55 acer-svr org.freedesktop.thumbnails.Thumbnailer1[4455]: Зарегистрированный просмотрщик /usr/bin/gdk-pixbuf-thumbnailer -s %s %u %o 11 октября 17:17:55 acer-svr org.freedesktop.thumbnails.Thumbnailer1[4455]: Зарегистрированный просмотрщик /usr /bin/gdk-pixbuf-thumbnailer -s %s %u %o 11 октября 17:17:55 acer-svr dbus-daemon[4455]: [сеанс uid=1000 pid=4453] Активация имени службы='org.gtk .vfs.UDisks2VolumeMonitor', запрошенный ':1.21' (uid=1000 pid=4535 comm="/usr/lib/x86_64-linux-gnu/tumbler-1/tumblerd" label=“unconfined”) 11 октября 17:17: 55 acer-svr dbus-daemon[4455]: [сеанс uid=1000 pid=4453] Успешно активирована служба 'org.gtk.vfs.UDisks2VolumeMonitor' 11 октября 17:17:55 acer-svr dbus-daemon[4455]: [ session uid=1000 pid=4453] Служба 'org.freedesktop.thumbnails.Thumbnailer1' успешно активирована 'org.gtk.vfs.Metadata' запрошен ':1.8' (uid=1000 pid=4491 comm="xfdesktop" label=“unconfined”) 11 окт 17:17:55 acer-svr pkexec[4566]: natalia: Ошибка выполнение команды от имени другого пользователя: не авторизован [USER=root] [TTY=неизвестно] [CWD=/] [COMMAND=/usr/sbin/xfpm-power-backlight-helper --set-brightness-switch 0] окт 11 17 :17:55 acer-svr dbus-daemon[4455]: [session uid=1000 pid=4453] Служба 'org.gtk.vfs.Metadata' успешно активирована

    У меня есть сервер Odroid HC2 с безголовым сервером Ubuntu 18.04 LTS, использующим realVNC. Я использовал этот учебник, чтобы добавить файл сценария в систему для запуска сервера при запуске. Это прекрасно работает, за исключением прав администратора в определенных областях. Например, если я использую шпатлевку и запускаю сервер VNC с помощью команды «vncserver», затем я использую клиент realvnc и захожу на сервер, щелкаю домашнюю папку Gnome на рабочем столе. Я могу щелкнуть правой кнопкой мыши в окне и открыть как администратор. Это открывает новое окно с привилегиями root, и я могу редактировать или удалять любой файл, который мне нужен. Если я включу скрипт в замазке и запущу службу с помощью команды «sudo systemctl start vncserver@1», я смогу открыть сервер с моим клиентом, но когда я попытаюсь открыть домашнюю папку gnome и щелкнуть правой кнопкой мыши и попытаться выбрать для запуска как администратор он ничего не делает. Я попытался изменить группу с моего имени пользователя на sudo из любопытства, и это не дало никакого эффекта. У вас есть идеи, почему я не могу открыть окно от имени администратора?

    У меня есть сервер под управлением Ubuntu 12.10, и мне нужна возможность удаленного доступа к этому серверу без входа в систему.

    Я нашел много решений, но ни одно из них не работает с 12.10.

    Может ли кто-нибудь дать мне пошаговые инструкции о том, как настроить x11vnc для запуска в качестве службы (до входа пользователя в систему), чтобы при подключении к VNC мне отображался графический экран входа в систему?

    Я новичок в Linux, поэтому, пожалуйста, предоставьте как можно больше подробностей в своих ответах/комментариях.

    10 ответов 10

    Приведенные выше ответы решают проблему, хотя и с парой поправок для версий Ubuntu с systemd (15.04+), а именно:

    • Воспользуйтесь преимуществами новой функции -auth предположения в x11vnc, которая помогает!
    • Обновление для systemd (не upstart)

    Для установки выполните следующее:

    Вставьте это в файл:

    Затем начните с:

    И убедитесь, что служба запускается при загрузке:

    Если дисплея вообще нет, можно установить произвольное разрешение: sudo xrandr --fb 1920x1080 .

    Не факт, что x11vnc заработает сразу. Было бы неплохо предоставить команду тестирования перед фиксацией службы, которая перезапускается в случае сбоя каждые 2 секунды. Я использую lightdm и xfce4 на безголовом облачном сервере Ubuntu 17.10. Restart-sec должен быть RestartSec

    Создайте пароль для своего пользователя:

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

    Если вы не вошли в систему, вы получите сообщение об ошибке с объяснением:

    Предполагая, что вы используете lightdm для входа в систему, вы можете решить эту проблему, вы можете запустить x11vnc с помощью команды:

    Я не уверен, что это лучшая идея для запуска x11vnc от имени пользователя root. Может быть, кто-то может отредактировать способ доступа к логину без использования sudo.

    После запуска вы сможете подключиться с помощью клиента vnc, такого как krdc (для KDE). Возможно, вы захотите использовать GNU Screen, чтобы поддерживать работу x11vnc без открытия сеанса ssh

    VNC-сервер – это программа, которая использует рабочий стол совместно с другими компьютерами через Интернет. Вам понадобится сервер VNC, если вы хотите, чтобы другие люди видели ваш рабочий стол. Каждый сервер VNC имеет свои сильные и слабые стороны и подходит для разных целей. На этой странице будет обсуждаться каждый из серверов VNC, доступных в Ubuntu, и способы их настройки для наиболее распространенных применений VNC.

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

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

    Эти три параметра должны обеспечить безопасность настройки, если они используются с переадресацией портов. Разрешение только локальных подключений означает, что только люди с учетными записями пользователей на вашем компьютере могут получить доступ к вашему рабочему столу. Запуск сервера в режиме «один раз» означает, что люди с учетными записями пользователей на вашем компьютере должны будут войти в систему на вашем рабочем столе между моментом запуска вашего сервера VNC и моментом подключения с вашего клиента VNC. Установка пароля означает, что если кто-то попытается подключиться в течение этого короткого промежутка времени, он, вероятно, не сможет войти, прежде чем вы заметите и остановите сервер.

    Примечание: вы должны установить пароль, если хотите использовать встроенный клиент VNC в Mac OS X.

    Vino – это VNC-сервер по умолчанию в Ubuntu, с помощью которого другие пользователи могут поделиться своим рабочим столом.

    x11vnc — это сервер VNC, который не зависит ни от какой конкретной графической среды. Кроме того, он упрощает использование в минимальной среде, поскольку имеет графический интерфейс на основе tcl/tk. Его можно запустить, когда на вашем компьютере все еще отображается экран входа в систему.

    Рекомендуется сначала удалить все другие программы VNC, чтобы они не мешали работе x11vnc.

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

    Он ответит:

    В терминале можно выполнить следующее:

    Автоматически запускать x11vnc через upstart в любой среде (

    Автоматический запуск x11vnc через systemd в любой среде (Vivid+)

    Автоматически запускать x11vnc в Kubuntu

    Сценарий запуска можно создать с помощью:

    Автоматически запускать x11vnc в Ubuntu

    В Ubuntu (но не в Kubuntu или Xubuntu) x11vnc требуется доступ суперпользователя, а также необходимо указать параметры -auth /var/lib/gdm/:0.Xauth -display :0 в командная строка. Значение аргумента для параметра -auth можно было найти ранее с помощью x11vnc -findauth.

    Вы можете запустить x11vnc до входа в систему, введя что-то вроде этого:

    Если вы обнаружите пустой экран, проверьте запись часто задаваемых вопросов x11vnc на безголовых серверах.

    Кроме того, вы можете добавить следующие строки в конец вашего /etc/gdm/Init/Default, чтобы x11vnc запускался после входа в систему gnome (обратите внимание, что /etc/gdm/Init/Default не существует в некоторых Ubuntu устройства):

    Krfb — это VNC-сервер по умолчанию в Kubuntu. Поскольку он тесно интегрирован с KDE, его запуск в других средах затруднен.

    Один раз

    Krfb не имеет встроенного способа принять следующее подключение, а затем перестать прослушивать попытки подключения. Однако следующий скрипт Python будет прослушивать одно соединение, а затем выходить из krfb:

    Этот скрипт будет прослушивать только локальные подключения. Чтобы разрешить подключения откуда угодно, измените в сценарии 127.0.0.1 на 0.0.0.0.

    Приглашения

    Krfb позволяет создавать «приглашения» или индивидуальные пароли, которые деактивируются через час или после одного использования. Это удобный способ предоставить людям одноразовый доступ к компьютеру, но они обеспечивают лишь ограниченную безопасность. Например, если вы отправляете кому-то приглашение по электронной почте или через мгновенные сообщения, злоумышленник может прочитать ваше пригласительное сообщение, когда оно передается через Интернет, и использовать его для входа в систему.

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

    В то время как большинство серверов VNC совместно используют ваш рабочий стол, tightvnc создает совершенно новый рабочий стол, не привязанный к какому-либо реальному экрану. Это делает его гораздо менее полезным для некоторых вещей (например, удаленная помощь), но гораздо более полезным для других (например, создание общедоступной области для совместной работы). Если tightvncserver не запускается, вам может потребоваться раскомментировать строки $fontpath в /etc/vnc.conf.

    Как и x11vnc, tightvnc предназначен для запуска из командной строки. Чтобы запустить его, введите:

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

    Один раз

    Tightvncserver нельзя настроить так, чтобы он принимал следующее подключение, а затем прекращал прослушивание попыток подключения.Но его можно настроить на автоматическое отключение каждого клиента при подключении следующего клиента и его можно остановить после разрыва соединения. Чтобы разрешить только локальные подключения и автоматически отключать клиентов, запустите tightvnc, набрав:

    Затем, когда ваш клиент отключится при подключении следующего клиента, введите:

    Настройка сеанса

    По умолчанию tightvncserver предоставляет сеанс с простым оконным менеджером и терминалом. При первом запуске Tightvncserver создает файл ~/.vnc/xstartup, который можно использовать для настройки сеанса. Вот пример файла, который даст вам рабочий стол GNOME:

    Ваши изменения вступят в силу при следующем запуске tightvncserver.

    TigerVNC изначально был основан на (никогда не выпускавшейся) ветке VNC 4 TightVNC. Он стабилен и активно поддерживается, существует с 2009 года и включен в большинство популярных дистрибутивов. В частности, он поддерживает составные оконные менеджеры, не требуя резервного режима, например, в Gnome Shell. При использовании со средством просмотра TigerVNC по умолчанию также используется шифрование TLS.

    TigerVNC доступен в Ubuntu 17.04 и новее:

    Его синтаксис очень похож на tightvncserver, запустите его от имени пользователя:

    И остановите это с помощью:

    См. параметры man vncserver. Доступные параметры аналогичны, но не идентичны плотноvnc.

    TigerVNC также может заменить x11vnc для подключения к локальному дисплею с помощью предоставленного двоичного файла x0vncserver:

    Более подробная информация об использовании доступна здесь.

    Запустить TigerVNC vncserver при загрузке

    Установочный пакет ubuntu также регистрирует системную службу, что упрощает определение прослушивающих серверов vnc при запуске. Отредактируйте файл /etc/default/vncserver и добавьте отображаемый номер и пользователя для запуска:

    Затем включите службу при загрузке с помощью:

    Включение Compiz может прерывать обновление экрана на некоторых серверах и клиентах. Использование -noxdamage с x11vnc может предотвратить это.

    VNC/Servers (последним удаленным пользователем rg141 2020-09-15 23:53:52)

    Материалы этой вики доступны по бесплатной лицензии, подробности см. в разделе Авторские права / Лицензия
    Вы можете внести свой вклад в эту вики, подробности см. в Руководстве по вики

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