ubuntu 18.04 Verbindung zum Anmeldebildschirm über VNC herstellen

9

Ich habe ein paar Abende damit verbracht und es wird ein bisschen frustrierend, seit ich es geschafft habe, es auf meinem vorherigen Ubuntu (vor VIELEN Jahren) zum Laufen zu bringen.

Ich möchte, dass jederzeit ein VNC-Server auf meinem Server ausgeführt wird (einschließlich Anmeldebildschirm), um eine Remoteverbindung herzustellen und sich anzumelden. Keine andere Sitzung: Teilen Sie dieselbe Sitzung, die ich auf dem physischen Display meines Servers sehen würde, und melden Sie sich über VNC in einem privaten Netzwerk (auch bekannt als Home) remote an.

Ich verstehe, dass es sich um eine Kombination aus XDMCP-, GDM3-, initd- und VNC-Konfigurationen handelt, aber ich habe nicht genug Erfahrung, um die verschiedenen Howtos, die ich online gefunden habe, für Ubuntu 18.04 zu optimieren.

Diese Links scheinen vielversprechend: https://lists.debian.org/debian-user/2017/04/msg00529.html https://codeghar.wordpress.com/2009/06/11/remote-login-with-gdm- und-vnc-on-fedora-11 / https://wiki.openindiana.org/oi/4.7+Remote+Graphical+Login:+Using+Xvnc+and+gdm+for+One-Shot+sessions

Im Moment (für den Fall, dass jemand wie ich verrückt wird) habe ich nomachine installiert und die Einrichtung dauerte insgesamt 2 Minuten. Es funktioniert wie gewünscht (einschließlich iOS-Clients!): Https://www.nomachine.com / --- bittersüß ¯_ (ツ) _ / ¯

user3407546
quelle
Sie müssen x11vnc anstelle der Sitzung an den Bildschirm binden.
Seb
2
Vielen Dank für die NoMachine rec. Nach einem Wochenende der Installation von x11vnc, tightvnc, tigervnc, vnc4server und mehr und nichts, was mit 18.04 und gdm3 funktionierte, gab ich es endlich auf und benutzte NoMachine, funktionierte perfekt. Ziemlich enttäuscht von 18.04 LTS im Moment.
jb510
Ich bin den gleichen Weg gegangen: frustrierende Abende, an denen versucht wurde, verschiedene VNC-Lösungen zum Laufen zu bringen, aber ohne Erfolg. Nomachine installiert und es funktioniert (allerdings nicht in 2 Minuten aufgrund von: nomachine.com/AR03P00973 ). Wie auch immer: Jetzt, wo ich die folgende Lösung sehe (Umstellung auf lightdm), frage ich mich: Hast du es versucht? Lohnt es sich, von nomachine auf diese Open-Source-Lösung umzusteigen?
Christoph

Antworten:

13

Ubuntu 18.04 wechselte von LightDM zu GDM3. Eine Verbindung zum Anmeldebildschirm mit VNC während der Verwendung von GDM3 ist derzeit nicht möglich. Der einfachste Weg, diese VNC-Funktionalität wiederherzustellen, besteht darin, einfach von GDM3 zu LightDM zurückzukehren.

LightDM wird immer noch aktiv von vielen Linux-Distributionen entwickelt und verwendet, einschließlich einiger anderer Ubuntu-Varianten. Also keine Sorge.

Installieren Sie LightDM

apt install lightdm

Sollten Sie aus irgendeinem Grund den Wechsel zu LightDM bereuen:

dpkg-reconfigure gdm3

Sobald Sie LightDM installiert und als Standard-Begrüßer konfiguriert haben.

Installieren Sie x11vnc aus Paketen

apt install x11vnc

Erstellen Sie die Datei /etc/systemd/system/x11vnc.service

# Description: Custom Service Unit file
# File: /etc/systemd/system/x11vnc.service
[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -loop -nopw -xkb -repeat -noxrecord -noxfixes -noxdamage -forever -rfbport 5900 -display :0 -auth guess
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
RestartSec=2

[Install]
WantedBy=multi-user.target

Aktivieren Sie den x11vnc-Dienst

 systemctl enable x11vnc.service

Dies setzt Bildschirm voraus: 0 repräsentiert Ihren Monitor und bindet x11vnc anstelle einer Sitzung an diesen Monitor. Wenn Sie keinen Monitor haben (ohne Kopf) , ist es meiner Meinung nach möglich, einen gefälschten Monitortreiber zu installieren und x11vnc daran zu binden.

Randnotizen

  1. Wenn Sie virt-manager verwenden (das auch VNC unter 127.0.0.1:5900 aktiviert), möchten Sie möglicherweise x11vnc an Ihre LAN-IP binden (-listen 10.0.0.1).
  2. Die zum Starten von x11vnc verwendeten Parameter weisen an, kein zusätzliches Kennwort anzufordern (-nopw).
Seb
quelle
1
So starten Sie eine vnc-Sitzung x11vnc -display :0 Es kann nur eine Verbindung zu einer Sitzung hergestellt werden. Sobald Ihre Sitzung abgelaufen oder geschlossen ist, müssen Sie erneut mit x11vnc -display :0
ashish
"Restart-sec" sollte "RestartSec" sein
eakst7
1
Wenn Sie "Fake Monitor" für Headless sagen, meinen Sie das xserver-xorg-video-dummy?
Christoph
Als Hinweis: Erstellen Sie niemals Ihre eigenen Konfigurationsdateien in /lib, verwenden Sie /etc:/etc/systemd/system
Lapshin Dmitry
Geändert, um vorgeschlagene Änderungen aus Kommentaren aufzunehmen.
Seb
1

Ich habe noch keinen schöneren Weg gefunden, aber wenn Sie sich wirklich anmelden möchten, scheint es möglich zu sein.

GDM startet eine Xsession für den Anmeldebildschirm des Root-Benutzers. Soweit ich das beurteilen kann, werden Anmeldungen ungefähr folgendermaßen durchgeführt:

Melden Sie sich an, suchen Sie eine vorhandene Sitzung und wechseln Sie zu vt oder suchen Sie eine neue vt und führen Sie eine Xorg / gnome-Sitzung dafür aus.

Die erste hat Anzeige :0und ihre Berechtigungsdatei (GDM-Benutzer-ID 121) /run/user/121/gdm/Xauthority. Sie können also zuerst einen x11vnc (Root-Rechte) ausführen, wenn Sie nicht für den DM selbst angemeldet sind und sich anmelden (Ihr x11vnc wird aufgrund des vt-Schalters schwarz). Sie können entweder ein neues x11vnc manuell für Ihre neue Anzeige :1starten (keine Root-Rechte) oder eines automatisch mit Ihrer Sitzung wie jedes andere Anmeldeskript starten.

~$ ps -a | grep Xorg
1471 /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/121/gdm/Xauthority -background none -noreset -keeptty -verbose 3
5337 /usr/lib/xorg/Xorg vt3 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 

Dies wurde beschlossen , an einem gewissen Punkt (andere DMs könnten das auch in Zukunft tun)

Ritualmeister
quelle
0

Eine andere Möglichkeit, dies bei 100% Headless-Setup (System läuft im Container und hat überhaupt keine GPU) zum Laufen zu bringen, ist der Teil "On-Demand-Mehrbenutzermodus" im TigerVNC-Artikel in ArchWiki.

RussianNeuroMancer
quelle