Установка и настройка сервера X.Org (X Window System).
Установка.
Большинство инсталляторов современных дистрибутивов GNU/Linux самостоятельно устанавливают какую либо графическую среду рабочего стола (GNOME,KDE. ) либо, на каком то этапе, предлагают вам сделать выбор (например в инсталляторе Debian для этого предлагается отметить/снять пункт «Окружение рабочего стола»).
Если какая либо графическая среда рабочего стола устанавливается, то оконная система «X Window System», включая сервер «XOrg», будут установлены автоматически, по зависимостям.
Если по каким-то причинам вы установили дистрибутив GNU/Linux без графической среды рабочего стола (только текстовая консоль, для сервера, например), а сейчас она (графическая оболочка) понадобилась, то её несложно установить посредством выполнения нескольких команд в консоли:
Для установки GNOME выполните:
Для установки KDE выполните:
Для установки «чистого» (пустой экран с курсором) сервера X.Org в дистрибутивах Debian/Ubuntu выполните:
Установка драйверов видеокарт
Для начала, их нужно установить или удостовериться чтобы они установлены.
Смотрим тип видеоадаптера и используемый им драйвер.
Если строки «Kernel driver in use: ХХХХХ» нет или ХХХХХ в ней — «vesa» или «fbdev» — почти наверняка графический сервер X использует универсальные очень медленные драйвера не задействующие аппаратные возможности видеокарты по ускорению видеовывода и первым делом нужно установить и задействовать «родной» драйвер.
Драйвера для видеоадаптеров поставляемые вместе с сервером X:
Если у вас видеокарта NVIDIA или ATI, то лучшим выбором будет использование проприетарных (закрытых, но свободно распространяемых) фирменных драйверов. В Ubuntu и Debian все необходимые пакеты есть в официальных репозиториях. Порядок установки описан ниже.
Установка проприетарных драйверов NVIDIA/ATI
Ubuntu
Проверьте — подключен ли компонент «restricted» (проприетарное ПО (в основном — драйверы устройств), официально поддерживаемое компанией Canonical) в источниках репозиториев, указываемых в файле « /etc/apt/sources.list »:
или графической утилитой: «Главное меню (верхняя панель) → Приложения → Центр приложений Ubuntu → Источники приложений» Если компонент «restricted» не подключен — подключите его и обновите список:
Далее запустите графическое приложение «Главное меню (верхняя панель) → Система → Администрирование → Дополнительные драйвера» и следуйте инструкциям.
Debian NVIDIA
Способ 1: использование DKMS для динамической сборки и установки модулей(драйверов).
Способ 2: установка скомпилированных модулей для конкретных ядер.
Способ 3: использование ModuleAssistant для динамической сборки и установки модулей(драйверов).
После установки модуля ядра, нужно установить ещё несколько пакетов:
Теперь нужно перегрузить сервер X, выйдя из текущего сеанса пользователя или выполнив:
Debian ATI
Настройка.
Все настройки графического сервера X (не путать с настройками оконных менеджеров и графических сред рабочего стола) сосредоточены в каталоге « /etc/X11 ». Основной конфигурационный файл — « /etc/X11/xorg.conf ».
В современных дистрибутивах Debian (начиная с 6.0 Squeeze) и Ubuntu (начиная с 10.04 Lucid, возможно и более ранних) файла xorg.conf нет. В этом случае X.org стартует с настройками по-умолчанию и этого достаточно в большинстве случаев. Однако для чего-то специфичного, например для объединения 2-х дисплеев через NVIDIA TwinView ( sudo nvidia-settings ) и т.п., создать его всё же придётся.
Итак, если файла xorg.conf нет, то нужно его сгенерировать:
Xorg -configure
Общий способ — запуск в терминале root «родного» конфигуратора (см. Xorg(1)). Для этого в терминале root (или через sudo) выполните команды:
выход из графической оболочки
Оказавшись в текстовой консоли ( ALT+F1 ) войдите в систему заново как суперпользователь root или как обычный пользователь, если root не предусмотрен.
Источник
Настройка x11vnc в Ubuntu
Довольно часто может понадобиться подключиться к удаленному компьютеру. Если это сервер, то можно подключиться по ssh. Но если это домашний компьютер, то намного удобнее использовать графическую оболочку. Во многих случаях это позволяет намного быстрее выполнить привычные обычному пользователю действия. Есть несколько способов и несколько протоколов, с помощью которых можно получить удаленный доступ к графическому интерфейсу, но самый популярный и самый используемый из них — VNC.
В этой небольшой статье будет рассмотрена настройка x11vnc на Ubuntu. Мы погорим о том как установить VNC в Ubuntu, а также как добавить его в автозагрузку с помощьюs systemd. А теперь перейдем непосредственно к инструкции.
Установка x11vnc в Ubuntu 16.04
Один из самых популярных VNC серверов для Linux это x11vnc, его мы и будем устанавливать. Этот VNC сервер распространяется с открытым исходным кодом и его особенность в том, что он позволяет подключиться к уже существующему сеансу X сервера. Это удобно не только для доступа через интернет, но и для того чтобы по локальной сети управлять компьютером с помощью смартфона.
Но перед тем как перейти к настройке, нужно установить саму программу, она есть в официальных репозиториях, поэтому проблем с этим возникнуть не должно. Для установки выполните:
sudo apt install x11vnc
Настройка x11vnc в Ubuntu
Когда установка VNC ubuntu будет завершена, мы сможем перейти к настройке. Сначала создадим пароль для нашего сервера:
x11vnc -storepasswd «пароль» /etc/x11vnc.pass
Команда x11vnc с опцией -storepasswd сохраняет пароль в файл, предварительно его зашифровав. Сделаем этот файл доступным для чтения, чтобы x11vnc смог его прочитать:
sudo chmod ugo+r /etc/x11vnc.pass
Чтобы запустить программу прямо сейчас и проверить работает ли она вы можете воспользоваться такой командой:
x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass
- -rfbauth — использовать пароль для аутентификации пользователей из файла;
- -rfbport — порт, на котором будет работать VNC сервер;
- -bg — работать в фоновом режиме;
- -shared — разрешить подключаться одновременно нескольким пользователям;
- -dontdisconnect — не отключать подключенных пользователей при подключении нового;
- -many — не завершать работу сервера после отключения первого клиента.
После выполнения команды вы можете взять другое устройство и попытаться подключиться к этому по VNC, все должно работать. Можно попробовать подключиться к серверу локально или с другой машины. По умолчанию используется порт 5900:
Вот такую рекурсию можно поймать, если подключаться локально:
Автозагрузка x11vnc с помощью systemd
Если все верно, можно создать скрипт для автоматического запуска во время старта системы. Для этого мы будем использовать systemd:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -noxdamage -shared -dontdisconnect -many -noxfixes -rfbauth /etc/x11vnc.pass
[Install]
WantedBy=multi-user.target
Конфигурационный файл готов, и теперь вы можете добавить его в автозагрузку, но перед этим заставим Systemd перечитать свои конфигурационные файлы:
sudo systemctl daemon-reload
И делаем автозапуск x11vnc ubuntu:
sudo systemctl enable x11vnc.service
Также можно запустить программу сейчас:
sudo systemctl start x11vnc.service
Если что-то не работает, вы можете использовать такую команду, чтобы посмотреть сообщения об ошибках:
sudo systemctl status x11vnc.service
Кроме того, если вам нужна установка x11vnc таким образом, чтобы иметь доступ к уже запущенной сессии X11, вы можете создать такой скрипт:
sudo vi /bin/x11vncstart
!/bin/bash
x11vnc -rfbauth /etc/x11vnc.pass -noxdamage -bg -shared -dontdisconnect -many -noxfixes &
Затем дайте этому скрипту права на выполнение:
chmod ugo+x /bin/x11vncstart
Теперь вы можете запускать этот скрипт когда нужен x11vnc или добавить его в автозагрузку с помощью утилиты автоматически запускаемые приложения. Как это сделать описано в статье как добавить скрипт в автозагрузку Ubuntu.
Выводы
Вот и все, настройка vnc Ubuntu завершена. Теперь вы знаете как выполняется установка x11vnc в Ubuntu 18.04. Это не настолько сложно, как может показаться на первый взгляд. Если вам нужен другой VNC сервер, который бы позволял создавать новые сеансы, а не подключаться к существующим, то смотрите статью о том как установить TigerVNC в Ubuntu. Надеюсь информация была полезной, если остались вопросы, спрашивайте в комментариях!
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.
17 комментариев
Спасибо за статью,все завелось только автозагрузка не удается.Делал через SystemD при запросе статуса systemctl status x11vnc.service выдает вот такое сообщение
x11vnc.service — Start x11vnc at startup.
Loaded: loaded (/lib/systemd/system/x11vnc.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Пт 2016-12-16 14:06:40 MSK; 7min ago
Process: 2571 ExecStart=/usr/bin/x11vnc -rfbauth /etc/x11vnc.pass -noxdamage -shared -dontdisconnect -many -noxfixes (code=exited, status=1/FAILURE)
Main PID: 2571 (code=exited, status=1/FAILURE)
Решил проблему так : rm -r /tmp/.X11-unix в статусе пишет все ок,только vnc-сервер по моему не стартует в автозагрузке
Не работает .
Статья написана просто так, видимо ничего не проверялось на практике.
Сервис не стартует и все тут.
Всё работает. Поменяйте строку запуска на ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
Спасибо! Помогло!
И кстати многие команды надо выполнять с sudo!
x11vnc как поставить пароль что при входе удаленно на компьютер запрашивал пароль
пробовал так -storepasswd пишет что пароль изменил но при входе удаленно не запрашивает сразу попадаю на компьютер
-rfbauth — использовать пароль для аутентификации пользователей из файла;
Нет, у меня руки кривые!
Все сделал по инструкции, все работает — но до смены пользователя. В наличии Linux Mint 18.2, два пользователя. Если перезагрузить компьютер, то можно подключиться по порту 5900 и войти под любым пользователем, если теперь выбрать Завершение сеанса или Сменить пользователя — получаем черный экран с мышкой, помогает только рестарт компьютера. Как можно это решить, нужен VNC к текущей сессии с возможностью подключения до входа пользователя.
Добрый день, подскажите пожалуйста. У меня не стартует скорее всего сервер. Вот лог:
$ sudo systemctl status x11vnc.service
● x11vnc.service — Start x11vnc at startup.
Loaded: loaded (/lib/systemd/system/x11vnc.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-10-16 13:32:13 MSK; 2s ago
Main PID: 29918 (x11vnc)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/x11vnc.service
└─29918 /usr/bin/x11vnc -rfbauth /etc/x11vnc.pass -noxdamage -shared -dontdisconnect -many -noxfixes
окт 16 13:32:13 BETEP systemd[1]: Started Start x11vnc at startup..
окт 16 13:32:13 BETEP x11vnc[29918]: 16/10/2018 13:32:13 passing arg to libvncserver: -rfbauth
окт 16 13:32:13 BETEP x11vnc[29918]: 16/10/2018 13:32:13 passing arg to libvncserver: /etc/x11vnc.pass
окт 16 13:32:13 BETEP x11vnc[29918]: 16/10/2018 13:32:13 passing arg to libvncserver: -dontdisconnect
окт 16 13:32:13 BETEP x11vnc[29918]: 16/10/2018 13:32:13 x11vnc version: 0.9.13 lastmod: 2011-08-10 pid: 29918
окт 16 13:32:13 BETEP x11vnc[29918]: 16/10/2018 13:32:13 XOpenDisplay(«») failed.
окт 16 13:32:13 BETEP x11vnc[29918]: 16/10/2018 13:32:13 Trying again with XAUTHLOCALHOSTNAME=localhost .
окт 16 13:32:13 BETEP x11vnc[29918]: [21B blob data]
окт 16 13:32:13 BETEP x11vnc[29918]: 16/10/2018 13:32:13 *** XOpenDisplay failed. No -display or DISPLAY.
окт 16 13:32:13 BETEP x11vnc[29918]: 16/10/2018 13:32:13 *** Trying «:0» in 4 seconds. Press Ctrl-C to abort.
добавьте к стоке запуска параметр -auth guess
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
Просьба к автору спасибо за статью, просто и доступно но в список параметров для старта все же можно добавить -auth guess
У меня без нее не стартовало и судя по коментам не только у меня.
И еще для читателей если будете отлаживать почему сервис не стартует удобно смотреть логи командой
journalctl -b -u x11vnc.service
«Этот VNC сервер распространяется с открытым исходным кодом и позволяет подключиться к уже существующему сеансу X сервера или создать новый. »
А как создать новый сеанс Х?
Пытаюсь vnc прикрутить на xubuntu 18.04, с текущей сессий запускаю сервер — работает, при перезапуске не стартует.
Настроил по статье x11vnc. Сначала все заработало при запуске из терминала командой x11vnc -dontdisconnect -auth /home/user/.Xauthority -rfbauth /home/user/.vnc/passwd -display :0 -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -noipv6. user — это реальный пользователь. Затем настроил запуск сервиса, как описано в статье. Перегрузился и все не работает. Убрал сервис, автозагрузку, запуск, все рано уже никак не работает. Ни с терминала командой, ни после перегрузки. Сосем! Пробовал и -auth guess, Запутался совсем. Гуглил, но все тоже самое, у всех все просто и как уже описано выше. Ubuntu 20.04 LTS. Кто нибудь может подсказать?
Секция [Service] файла /lib/systemd/system/x11vnc.service для дисплейного менеджера SDDM должна быть следующего вида:
[Service]
Type=simple
ExecStartPre=/usr/bin/bash -c «/usr/bin/systemctl set-environment SDDMXAUTH=$(/usr/bin/find /var/run/sddm/ -type f)»
ExecStart=/usr/bin/x11vnc -display :0 -auth $
Для остальных дисплейных менеджеров параметр -auth можно посмотреть по ссылке https://wiki.archlinux.org/index.php/X11vnc
автозагрузка сервиса не работает хоть убейся
советы в комментариях тоже не помогают
статья фигня
Источник