Antworten:
Dies kann mit vino vnc server & remmina erreicht werden (beides wird standardmäßig mit ubuntu geliefert; wenn es nicht durch Ausführen installiert wird sudo apt-get install remmina
). Führen Sie dann die folgenden Befehle vom lokalen Computer in der Terminal-Eingabeaufforderung aus:
ssh -Y gman@remote
. Verwenden Sie eine vertrauenswürdige X11-Weiterleitung, da dies sonst nicht funktioniert
vino-preferences
. Es werden Vino-Einstellungen geöffnet.
Klicken Sie auch auf configure network automatically to accept connection
. Geben Sie jedoch kein Passwort ein, das base64-codiert ist . Klicken Sie dann auf Schließen. Dann renne:
sudo -s
export DISPLAY=:0.0
xhost +
/usr/lib/vino/vino-server &
Der Vino-Server wird gestartet.
Abmelden vom Server:
xhost -
Press CTRL+C twice
exit
exit
Dann öffne remmina . Wählen Sie vnc
unter Protokoll.
basic
Tragen Sie unter Reiter die Serveradresse in das server
Feld ein.
Klicken Sie auf der Registerkarte SSH auf enable ssh tunnel
. Darunter ssh authentication
könnte es sein password
oder public key
:
Klicken Sie auf Speichern. Doppelklicken Sie dann auf den Verbindungsnamen (Home-Desktop wie in der Abbildung gezeigt), um den Remote-Desktop zu durchsuchen.
x11vnc
ist ein einfacher VNC-Server und Sie müssen sich nicht mit Gnome-Einstellungen oder 500 Firewalls herumschlagen. Installieren x11vnc
Sie ihn einfach auf allen Ihren Computern (mit Marionette oder was auch immer Sie zur Massenkontrolle verwenden).
Führen Sie dann auf Ihrem lokalen Computer Folgendes aus:
ssh user@host -L 5900:localhost:5900 "x11vnc -display :0 -noxdamage"
Offensichtlich user@host
für den Benutzernamen und den Hostnamen / die IP des Remote-Computers austauschen .
Verwenden Sie dann einen VNC-Client Ihrer Wahl, um eine Verbindung herzustellen localhost:5900
. Der SSH-Befehl startet einen VNC-Server auf dem Remotecomputer und tunnelt dann diesen Port über SSH zurück. Sie müssen keine Ports öffnen (solange Sie bereits SSH können).
Wenn Ihre Computer über lustige Anzeigeeinstellungen verfügen, sollten Sie das -display :0
Segment möglicherweise im SSH-Befehl weglassen. x11vnc
wird dann automatisch versuchen, das richtige Display zu finden.
Quelle: askubuntu
vncviewer localhost::5900 -viewonly -encodings "tight" -quality 0
(unter Debian / Ubuntu stammt der Viewer von tightvnc) oder vncviewer localhost::5900 -viewonly -PreferredEncoding tight QualityLevel=0
(unter Red Hat / Fedora stammt der Viewer von tigervnc), wobei die Qualitätsstufe sowohl unter Debian als auch unter Redhat gleich ist zwischen 0 und 9, wobei 9 am besten ist, aber eine schnelle Verbindung benötigt.
vncviewer
für langsame Verbindungen benutzt. Ich persönlich werde wohl einstellen, QualityLevel=4 or 5
weil 0 qualitylevel
(was 256 colors
ich denke) mir zu langweilig ist.
-auth guess
es als root verwenden und ausführen. Sehr hilfreich, danke!
Angenommen, Sie haben bereits eine OpenSSH Server
auf Ihrem Host-Computer eingerichtet, müssen Sie zuerst die Desktop-Steuerung auf Ihrem Host-Computer aktivieren. Wenn Sie die Desktop-Steuerung zuerst lokal auf Ihrem Host-Computer aktivieren können, fahren Sie mit Schritt 1a fort. Wenn Sie zuerst die Desktop-Steuerung auf Ihrem Host-Computer remote aktivieren müssen, fahren Sie mit Schritt 1b fort.
Erstellen Sie als Nächstes ein Remotedesktopclientprofil auf Ihrem Clientcomputer, um über einen SSH-Tunnel eine Verbindung zum Hostcomputer herzustellen und den Desktop des Hostcomputers über einen SSH-Tunnel anzuzeigen und zu steuern.
Führen Sie auf dem Hostcomputer die folgenden Schritte aus:
vino-preferences
vino-preferences
auch in Dash unter Desktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
Führen Sie auf dem Client-Computer die folgenden Schritte aus, und ersetzen 123.123.12.3
Sie sie durch die IP-Adresse Ihres Host-Computers:
ssh -Y 123.123.12.3
vino-preferences
vino-preferences
auch in Dash unter Desktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
Führen Sie auf dem Clientcomputer die folgenden Schritte aus:
remmina
Remmina Remote Desktop Client
Ctrl+ Noder Verbindung> Neu
Server
SSH
RegisterkarteEnable SSH Tunnel
SSH Authentication
<username>
und Modus einWenn Sie auf dem Client-Computer nach <username>
dem Kennwort gefragt werden , geben Sie es ein, um den SSH-Tunnel zu erstellen. Wenn Sie nach dem VNC-Kennwort gefragt werden, geben Sie die Passphrase ein, die Sie zuvor auf dem Hostcomputer eingegeben haben.
Wenn Sie in diesem Schritt erfolgreich sind, sollten Sie jetzt den Desktop des Hostcomputers von Ihrem Clientcomputer aus über einen SSH-Tunnel anzeigen und steuern.
Ich konnte eine neue Ubuntu 16.04-Installation von einer Remote-SSH-Verbindung mit dem folgenden Skript einrichten:
#! / bin / bash export DISPLAY =: 0 lies -e -p "VNC Passwort:" -i "ubuntu" Passwort dconf write / org / gnome / desktop / remote-access / enabled true dconf write / org / gnome / desktop / remote-access / prompt-enabled false dconf write / org / gnome / desktop / remote-access / authentifizierungsmethoden "['vnc']" dconf write / org / gnome / desktop / fernzugriff / verschlüsselung erforderlich false dconf write / org / gnome / desktop / fernzugriff / vnc-kennwort \ "\ '$ (echo -n $ kennwort | base64) \' \" dconf dump / org / gnome / desktop / fernzugriff / sudo service lightdm neu starten
Das Anführungszeichen ist wichtig für alle Zeichenfolgeneinstellungen (einzelne Häkchen in Anführungszeichen). Damit dconf schreiben kann, muss auf XWindows zugegriffen werden. Daher wird der Export-DISPLAY-Teil benötigt. Ich denke, Sie müssen noch auf dem Desktop des Ubuntu-Rechners angemeldet sein, um sich danach mit VNC verbinden zu können. Der Dump-Befehl ist nur da, um zu bestätigen, dass alle Einstellungen übernommen wurden. Das brauchen Sie nicht wirklich.
Optional können Sie dies auch tun, wenn Sie die Anzeige ständig aufrechterhalten möchten:
dconf write / org / gnome / desktop / screensaver / lock-enabled false dconf write / org / gnome / desktop / screensaver / ubuntu-lock-on-suspend false dconf write / org / gnome / desktop / session / idle-delay "uint32 0"
Xnest
X11 Forwording können Sie eine Sitzung remote starten und an Ihren aktuellen Computer weiterleiten. (Das mache ich ab und zu mit meiner pi) man pageIch benutze Xnest
wie folgt:
Xnest :1 -ac &
DISPLAY=:1 . /etc/X11/Xsession
So starten Sie den Vino-Server remote, ohne X weiterzuleiten (nur über die Befehlszeile)
Melden Sie sich auf dem Remotecomputer als der Benutzer an, der seinen Desktop freigibt, und leiten Sie Port 5900 an denselben Port auf localhost weiter. Mit PuTTY wird die Umleitung in Verbindung / SSH / Tunnel eingestellt. Verwenden Sie mit einer Befehlszeile:
ssh -L 5900:localhost:5900 user@remote-computer
Installieren Sie, vino-server
wenn es nicht bereits installiert ist. Zum Beispiel:
sudo apt install vino
Aktivieren Sie die Desktopfreigabe (entspricht der Anzeigenummer in der ersten und zweiten Zeile):
echo $DISPLAY
export DISPLAY=:0
dbus-launch --exit-with-session gsettings set org.gnome.Vino enabled true
dbus-launch --exit-with-session gsettings set org.gnome.Vino prompt-enabled false
dbus-launch --exit-with-session gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server
Starten Sie einen VNC-Viewer und stellen Sie eine Verbindung localhost
für die VNC-Serveradresse her.
No protocol specified Failed to connect to Mir: Failed to connect to server socket: No such file or directory Unable to init server: Could not connect: Connection refused Cannot open display: Run 'vino-server --help' to see a full list of available command line options
basierend auf @ Khurshid Alam Antwort präsentiere ich den folgenden Ausschnitt:
ssh $TARGETHOST -L 5900:localhost:5900 "x11vnc -localhost -display :0 -noxdamage" &; sleep 10 && vinagre localhost
Es ist ein Befehl, der keine Interaktion erfordert
Es erstellt den SSH-Tunnel mit Portweiterleitung, startet x11vnc
auf relativ sichere Weise und startet und verbindet den VNC-Viewer
Es erfordert x11vnc auf dem Zielhost, aber keine weitere Konfiguration
Im Server-PC.
Auf dem Client-PC (von dem aus Sie die Server-Benutzeroberfläche steuern möchten).
Fallstricke.