Как настроить x11vnc для доступа с графическим экраном входа?

Одна цель для failsafe.conf к, предотвращает проблемы как этот с медленными серверами DHCP: https://bugs.launchpad.net/ubuntu / + source/ifupdown / + ошибка/838968

Вы не должны взламывать в таймере автоматического отключения. Проблема состоит, вероятно в том, что Вы имеете auto [ifname] строка в Вашем/etc/network/interfaces файле для интерфейса, который не получает адрес. Это часто происходит, если Вы устанавливаете использование проводного соединения, и затем прекращаете использовать то проводное соединение в пользу другого (например, wlan).

50
задан 18.02.2020, 03:14

8 ответов

Используйте мой скрипт для простой настройки: installvncubuntu1604.sh

Использование:

chmod +x ./installvncubuntu1604.sh; sudo ./installvncubuntu1604.sh
1
ответ дан 18.02.2020, 03:15

Вот как:

  1. Установить сервер X11VNC (или через Центр программного обеспечения Ubuntu -> Сервер X11VNC)

    sudo apt-get install x11vnc
    
  2. Создать Файл паролей VNC.

    sudo x11vnc -storepasswd yourVNCpasswordHERE /etc/x11vnc.pass
    
  3. Создайте файл задания в редакторе nano (или gedit, leafpad и т. Д.).

    sudo nano /etc/init/x11vnc.conf
    
  4. Вставьте это в файл:

    start on login-session-start
    
    script
    
    /usr/bin/x11vnc -xkb -forever -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -bg -o /var/log/x11vnc.log
    
    end script
    
  5. Сохраните файл. Вы создали задание для события Upstart login-session-start .

  6. Перезапустите Ubuntu.

Вот и все! Теперь вы сможете подключиться к любому VNC-клиенту еще до входа в систему.

14
ответ дан 18.02.2020, 03:15
  • 1
    @didibus I' ve, пытаясь сделать это в Lubuntu, но x11vnc сбои для автозапуска каждый раз. Это won' t даже запускаются как услуга, в этом отношении. Синтаксис файла корректен, и я могу запустить x11vnc с оболочки очень хорошо. Что я пропускаю? – YoniXw 18.02.2020, 03:16
  • 2
    Это работает над Lubuntu также. А именно, LeMaker' s версия Lubuntu для Бананового Пи. – developer68 18.02.2020, 03:16
  • 3
    Но как делают Вы заставляете его работать когда lightdm doesn' t создают подлинный файл, пока монитор не подключен? – Naresh Chennuri 18.02.2020, 03:17

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

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

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

sudo apt-get install x11vnc
sudo x11vnc -storepasswd yourVNCpasswordHERE /etc/x11vnc.pass
# for Ubuntu 15.04+
sudo nano /lib/systemd/system/x11vnc.service
# for Ubuntu 16.10+
sudo nano /etc/systemd/system/x11vnc.service

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

[111 ]

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

sudo systemctl daemon-reload
sudo systemctl start x11vnc

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

sudo systemctl enable x11vnc
42
ответ дан 18.02.2020, 03:16

Установите пакет x11vnc

#sudo apt-get install x11vnc

Затем установите пароль

#x11vnc -usepw

Затем создайте сценарий запуска для x11vnc

#sudo nano /etc/x11vnc.sh

В файле:

[ 113]

Затем сохраните

#sudo chmod 777 /etc/x11vnc.sh

Затем добавьте файл сценария в Центр управления => Запуск приложения, затем нажмите Добавить

> Name-----------x11vnc

> Command-----<map the script file

> Comment------service
[ 1115] Это необходимо добавить для всех пользователей

Это будет выполняться только после входа пользователя в систему

0
ответ дан 18.02.2020, 03:17

Установите x11vnc:

sudo apt-get install x11vnc

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

x11vnc -storepasswd

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

x11vnc -usepw

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

If NO ONE is logged into an X session yet, but there is a greeter login
program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
to find and use the raw display manager MIT-MAGIC-COOKIE file.
Some examples for various display managers:

 gdm:     -auth /var/gdm/:0.Xauth
          -auth /var/lib/gdm/:0.Xauth
 kdm:     -auth /var/lib/kdm/A:0-crWk72
          -auth /var/run/xauth/A:0-crWk72
 xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
 dtlogin: -auth /var/dt/A:0-UgaaXa

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

sudo x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw

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

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

Я смог выяснить это с помощью http://ubuntuforums.org/showthread. PHP? Т = 2039022 .

Вот пример задания upstart, которое можно использовать для запуска при запуске. Его нужно поместить в /etc/init/x11vnc.conf. (Обратите внимание, что в более новых версиях Ubuntu используется systemd, поэтому посмотрите другой ответ с примером конфигурации systemd):

# description "start and stop x11vnc"

description "x11vnc"

start on runlevel [2345]
stop on runlevel [^2345]

console log
#chdir /home/
#setuid 1000
#setgid 1000

respawn
respawn limit 20 5

exec x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw

После того, как вы сделали этот файл, вы можете запустить его, выполнив: sudo start x11vnc. журнал по адресу: /var/log/upstart/x11vnc.log

43
ответ дан 18.02.2020, 03:17
  • 1
    Этот doesn' t объясняют, как иметь его автоматический запуск согласно просьбе (и общее требование для такой функции), – Justin 18.02.2020, 03:18
  • 2
    Кроме того, только для ссылки, для изменения области просмотра: superuser.com/questions/270608/… – Will 18.02.2020, 03:18
  • 3
    И посмотрите здесь для превосходного учебного руководства при установке этого на Raspberry Pi с автоматическим запуском при начальной загрузке: megaleecher.net/Raspberry_Pi_VNC_Setup – YaroslavS120 18.02.2020, 03:18
  • 4
    Посмотрите здесь для полного списка x11vnc опций. Мне потребовалось долгое время для нахождения этого: karlrunge.com/x11vnc/x11vnc_opts.html – Madan Sapkota 18.02.2020, 03:19
  • 5
    Можно работать x11vnc как обычный пользователь, без проблем., Например: ssh к хосту и выполненный x11vnc -safer -forever -display :0 2>&1 & на tmux сессии (хорошая практика), it' ll выполняется под $USER. – Machiel 18.02.2020, 03:19

Вот конфиг работает для sddm (для KDE 5). В настоящее время -auth guess не работает для sddm, файл аутентификации каждый раз отличается, поэтому нам нужно что-то вроде -auth /var/run/sddm/*. Сервис выглядит следующим образом:

[Unit]
Description="x11vnc"
After=multi-user.target

[Service]
ExecStart=/bin/sh -c "/usr/bin/x11vnc -xkb -noxrecord -display :0 -auth /var/run/sddm/* -rfbauth /etc/x11vnc.pass"
ExecStop=/usr/bin/killall x11vnc

[Install]
WantedBy=multi-user.target

Я должен поставить его после multi-user.target, если после display-manager.service, x11vnc не может найти файл аутентификации, возможно, sddm генерирует файл аутентификации позже. Это проверено на Манджаро 18.

1
ответ дан 18.02.2020, 03:18

babelmonks отвечают как bash-скрипт, копируют и сохраняют как x11vnc.sh & amp; запустить с помощью sudo bash /path/to/file/x11vnc.sh (извините, у вас недостаточно представителей для добавления комментария)

#!/bin/bash
#install x11vnc & set password
apt-get install x11vnc -y
x11vnc -storepasswd 123456 /etc/x11vnc.pass
#create config file for  system service
cat > /lib/systemd/system/x11vnc.service <<-EOF
[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service

[Service]
 ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth guess -rfbauth /etc/x11vnc.pass
ExecStop=/usr/bin/killall x11vnc

[Install]
WantedBy=multi-user.target
EOF
#restart new services &  enable on boot
systemctl daemon-reload
systemctl start x11vnc
systemctl enable x11vnc
3
ответ дан 18.02.2020, 03:18
  • 1
    Счастливо добавит это к моему если you' d нравится создавать редактирование @nix-badweasel – Andy 18.02.2020, 03:19
  • 2
    Если Вы хотите улучшить другой ответ, предложите редактирование ему и don' t создают новый ответ. – CodeGuru 18.02.2020, 03:19

Я использую свою собственную оболочку: https://github.com/dvdvideo1234/UbuntuBatches/tree/master/x11VNC

start on login-session-start

script

sudo /usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /var/srv/x11vnc/x11vnc.pass -forever -bg -rfbport <your_port> -o /var/srv/x11vnc/x11vnc.log

end script

в файл:

[111 ]

Он автоматически запускается при загрузке, даже на экране входа в систему запрашивает пароль.

0
ответ дан 18.02.2020, 03:19

Теги

Похожие вопросы