Remote-VNC über die Befehlszeile aktivieren?


66

Ich habe einen Computer, auf dem Ubuntu 10.04 ausgeführt wird, und auf dem Vino , der Standard-VNC-Server, ausgeführt wird.

Ich habe eine zweite Windows-Box, auf der ein VNC-Client ausgeführt wird, die jedoch keine X11-Funktionen bietet. Ich bin vom Windows-Host in den Ubuntu-Host eingebunden, habe aber vergessen, den VNC-Zugriff auf dem Ubuntu-Host zu aktivieren.

Kann ich auf dem Ubuntu-Host VNC-Verbindungen über die Ubuntu-Befehlszeile aktivieren?

Aktualisieren:

Wie @koanhead unten sagt, gibt es keine Manpage für vino(z. B. man -k vinound info vinonichts zurückgeben) und vino --helpzeigt keine Hilfe an.

Antworten:


25

Läuft einfach

/usr/lib/vino/vino-server

sollte den Job machen.

Sobald Sie Zugriff auf Ihren Server haben, würde ich empfehlen, ihn zu Autostarted Apps hinzuzufügen, damit er immer gestartet wird.

Sie werden wahrscheinlich gerne einige Einstellungen ändern mit:

vino-preferences

Seien Sie sehr vorsichtig, wenn Sie Vino-Preference auf einem Remotecomputer ausführen. Wenn Sie "Anderen Benutzern erlauben, Ihren Desktop zu steuern" deaktivieren, können Sie es nicht mehr überprüfen.

oder zum bearbeiten:

~/.gconf/desktop/gnome/remote_access/%gconf.xml

Hier eine Beispieldatei:

<?xml version="1.0"?>
<gconf>
    <entry name="vnc_password" mtime="1289267042" type="string">
        <stringvalue>cXdlcnR5</stringvalue>
    </entry>
    <entry name="view_only" mtime="1289262982" type="bool" value="false"/>
    <entry name="prompt_enabled" mtime="1254965869" type="bool" value="false"/>
    <entry name="authentication_methods" mtime="1289267034" type="list" ltype="string">
        <li type="string">
            <stringvalue>vnc</stringvalue>
        </li>
    </entry>
    <entry name="enabled" mtime="1289263574" type="bool" value="true"/>
</gconf>

Seien Sie vorsichtig, das Passwort ist Base64-verschlüsselt. Für diese Datei lautet das Passwort qwerty. Ich sehe in einigen Foren, dass die Leute es erfolgreich geändert haben, aber ich hatte Probleme damit.

Hier ein online base64 Encoder:

http://www.motobit.com/util/base64-decoder-encoder.asp


6
Ich habe beim Ausführen die folgende Fehlermeldung erhalten /usr/lib/vino/vino-server:No protocol specified ** (vino-server:2040): WARNING **: Could not open X display
Tuan Anh Hoang-Vu

@hvtuananh Haben Sie ein Display, das Sie teilen können? Haben Sie die evd-Variable DISPLAY entsprechend eingestellt? Meine Antwort geht davon aus, dass Sie bereits eine Anzeige haben, die standardmäßig startet, aber keine Zeichenfolge hat, und verwenden Sie die Befehlszeile, um sie verfügbar zu machen.
Guillaume Coté

1
Dies funktioniert nicht in (mindestens) 13.10. Siehe stattdessen die Antwort von ouzmoutous unten.
Emil Styrke

Wenn jemand Probleme hat, beachten Sie den Fehler: bugs.launchpad.net/ubuntu/+source/vino/+bug/1607663 .
Rmano

3
vino-preferences: command not found
Endolith

28

Kurze Antwort:

gconftool-2 --set --type=bool /desktop/gnome/remote_access/enabled true

Wie in der akzeptierten Antwort erwähnt, verwenden Sie, wenn Vino auf dem Remote-Computer nicht gestartet ist

/usr/lib/vino/vino-server

Lange Antwort und mehr Infos:

Eine Teilmenge der Einstellungen für den aktuell eingebauten RAS-Server (Vino) kann, wie erwähnt, aus den Vino-Einstellungen entnommen werden. Eine vollständige Liste der gconf-Flags finden Sie mit dem gconf-editorBefehl unter / desktop / gnome / remote_access. Mit diesem Befehl (oder einer Variation davon) können Sie auch die anderen remote_access-Schlüssel anzeigen:

gconftool-2 -a /desktop/gnome/remote_access

(Aus welchem ​​Grund -Rauch immer, wird auch funktionieren.)

Sie können die Dokumentation der --long-docsSchemaschlüssel auch über das Argument erhalten.

ZB für den Schlüssel "alternative_port":

gconftool-2 --long-docs /desktop/gnome/remote_access/alternative_port

       The port which the server will listen to if the
       'use_alternative_port' key is set to true.
       Valid values are in the range from 5000 to 50000.

So ändern Sie beispielsweise den Standardport über die Befehlszeile:

gconftool-2 --set --type=bool /desktop/gnome/remote_access/use_alternative_port true
gconftool-2 --set --type=int /desktop/gnome/remote_access/alternative_port 5999

gconftool gibt Ihnen die Schlüssel unter einem bestimmten Verzeichnis. Hier ist der Abschnitt 'remote_access':

gconftool-2 -a /desktop/gnome/remote_access
 use_upnp = false
 vnc_password = 
 authentication_methods = [vnc]
 network_interface = 
 require_encryption = false
 disable_background = false
 enabled = true
 use_alternative_port = false
 mailto = 
 disable_xdamage = false
 lock_screen_on_disconnect = false
 icon_visibility = always
 view_only = false
 prompt_enabled = true
 alternative_port = 5900

So listen Sie alle Schemadokumente unter / desk / gnome / remote / access auf (über die Befehlszeile / bin / bash):

for key in ` gconftool-2 -a /desktop/gnome/remote_access | awk '{print $1}'  ` ; do echo $key ; gconftool-2 --long-docs /desktop/gnome/remote_access/$key ; done

/usr/lib/vino/vino-serverfunktioniert nicht mit SSH, heißt esCannot open display:
Endolith

24

Ich wollte auch Vino mit der Kommandozeile aktivieren, ohne in die Vino-Einstellungen zu gehen.

Als ich anfing /usr/lib/vino/vino-server, wurde mir mitgeteilt , dass der Desktop-Freigabedienst nicht aktiviert war.

Mit Unity gconftoolist nicht mehr verwendbar. Wir müssen es über tun gsettings.

Aktivieren Sie also zunächst vino:

gsettings set org.gnome.Vino prompt-enabled true

Dann starte vino:

/usr/lib/vino/vino-server

Jetzt können Sie remote auf Ihren Computer zugreifen.

Wenn Sie alle für Vino verfügbaren Konfigurationen sehen möchten:

gsettings list-keys org.gnome.Vino

2
Um dies über SSH oder von einem Terminal im Textmodus aus zu tun, auf dem die Umgebungsvariable DISPLAY nicht festgelegt ist, müssen Sie dem Befehl set DISPLAY =: 0 voranstellen. Andernfalls wird "Fehler beim Festschreiben von Änderungen an dconf" angezeigt.
Emil Styrke

Also zusätzlich zu dem oben genannten musste ich export DBUS_SESSION_BUS_ADDRESS=.... Um diesen Variablenwert zu erhalten, habe ich ihn aus einer laufenden Prozessumgebung kopiert ( pgrep -u myUserName -lum die Prozessliste abzurufen, wählen Sie dann eine Zahl aus tr '\0' '\n' < /proc/NUMBER/environ | grep DBUS). Exportieren Sie anschließend DBUS_SESSION_BUS_ADDRESS mit dem zurückgegebenen Wert. Dann lief der Befehl.
RJFalconer

Der erste Befehl gibt mir: Keine solche Taste "aktiviert"
stiv

19

Unter Ubuntu 14.04 habe ich festgestellt, dass die folgende Variante für mich funktioniert:

export DISPLAY=:0
gsettings set org.gnome.Vino enabled true
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server

Wenn dies nicht funktioniert, läuft Ihre X-Sitzung möglicherweise auf etwas anderem als :0, daher sollte in einem Quick ps aux | grep Xein :1oder angezeigt werden:2


1
Sie sollten mit dem Start export DISPLAY=:0wie die gsettings Befehle ohne fehl: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY.
Vaab

Beste Antwort bei weitem. Aber wie lässt sich Vino beim Neustart automatisch starten?
pferrel

Damit ist der VNC-Port offen, aber mein VNC-Client bleibt für immer stehen. Was kann das Problem sein?
David Portabella

Wenn Ihr VNC-Client keine Verbindung zum Desktop herstellt, liegt dies wahrscheinlich daran, dass die Verschlüsselung aktiviert bleibt. - Jedes Mal, wenn Sie sich abmelden und erneut anmelden, müssen Sie die Verschlüsselung erneut deaktivieren. - Sie können diese Befehle in eine Shell einfügen und beim Start des Desktops aufrufen. Suchen Sie in Ihrem Ubuntu-Desktop nach den "Startup application preferences".
Jaime

13

Warum gibt es aus Liebe zu allem, was in dieser harten Welt gut ist, keinen man-Eintrag für vino oder vino-server oder für einen der in dpkg -L vinoder Ausgabe aufgeführten Befehle ? Warum sollte überhaupt ein Paket auf einem Ubuntu-System installiert werden, auf dem zumindest für die entsprechenden Befehle keine Manpage vorhanden ist? Ok, schimpfe über. Die beste Antwort, die ich bisher gefunden habe, ist hier: http://ubuntuforums.org/archive/index.php/t-266981.html

Ich hoffe wirklich, dass dies hilft, und ich hoffe, dass die Ubuntu-Community in Zukunft all diese verwaisten Befehle dokumentiert. "Benutzerfreundlichkeit" bedeutet nicht, die Befehlszeile zu verlassen, und es bedeutet sicherlich nicht, auf leicht zugängliche Dokumentation zu verzichten. </ grummel>


Versuchen Sie, / usr / lib / vino / vino-server auszuführen. Verwenden Sie vino-server --help-all, um die wenigen verfügbaren Hilfeinformationen und Dokumente abzurufen.
Koanhead

4
Das Verknüpfen mit einer anderen Quelle ist schlecht. Diese Quelle könnte in Zukunft offline gehen und Ihre Antwort wäre nicht mehr gültig.
Phil Hannent

Ein Extrapunkt für die Schimpfe.
Marnix A. van Ammers

Es befindet sich in / usr / lib und ist somit kein Befehl, den der Benutzer normalerweise ausführen würde. Daher ist keine Manpage erforderlich. Zumindest ist dies die Begründung. FWIW, ich stimme dir zu.
Matthias Urlichs

9

Dies scheint aufgrund von Fehlern bei der Anzeige usw. nicht über SSH zu funktionieren. Folgendes habe ich getan:

export DISPLAY=:0.0 && /usr/lib/vino/vino-server

Funktioniert jetzt meistens!


Ja, endlich! Ohne export DISPLAY=:0.0war der "entfernte" Desktop, den ich erhalten habe, tatsächlich mein lokaler Desktop (den ich verwende ssh -X). Außerdem ist es erforderlich, vor der Ausführung die Option "Anderen Benutzern erlauben" vino-preferences(oder die in anderen Antworten vorgeschlagenen Shell-Befehle) zu verwenden . Hinweis: Wahrscheinlich funktioniert jeder VNC-Client damit, sobald er korrekt eingerichtet ist, aber die sinnvollste Benutzeroberfläche zu bieten scheint. /usr/lib/vino/vino-servervinagre
Nobar

5

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"

1

Für jeden, der Linux Mint 15 verwendet, hat dies alles auf meiner MintBox2 funktioniert. Ich kann die MintBox 2 jetzt völlig kopflos betreiben mit: ssh + vino + Tight VNC.

Tippe über die ssh-Verbindung zur LinuxMint MintBox2-Maschine in putty ein:

sudo su
[enter your root password]
echo $DISPLAY
export DISPLAY=:0.0
startx &   }This loads up LinuxMint on screen as "root" user
[press the return key again to get back to BASH prompt]

Wenn Sie möchten (dies ist nicht erforderlich), geben Sie auf einem LinuxMint-Terminal (dh nicht auf Putty) Folgendes ein:

echo $DISPLAY

=> Sie erhalten eine Ausgabe von: 1 [dh das hat mir große Mühe gegeben, herauszufinden, dass dies nicht 0: 0 ist !!!!!!!!!!]

Kehren Sie nun zu putty zurück und geben Sie Folgendes ein:

echo $DISPLAY
export DISPLAY=:1
/usr/lib/vino/vino-server

=> Es wird jetzt geladen und Sie können Windows 7 Tight VNC Viewer verwenden, um auf Linux Mint etc. Zuzugreifen

Ich hoffe das hilft jemandem da draußen ...


1

Ich hatte das gleiche Problem mit xubuntu nach dem Upgrade auf 18.04. Zuerst installiere vino. Meins wurde beim Upgrade ohne Vorankündigung entfernt. Auch nach der Installation von vino funktioniert der Befehl vino-preferences nicht.

Hier ist eine einfache Problemumgehung:

  • Installieren Sie den dconf-editor

    sudo apt install dconf-editor 
    
  • dann öffne es und gehe auf /org/gnome/desktop/remoteund turn off encryption.

Es gibt auch mehrere andere Remote-Optionen, die Sie in dconf-editor einstellen können. Bis Sie vino installieren, wird der Fernzugriff jedoch nicht in dconf-editor angezeigt.

Ich hoffe, jemand kann erklären, was mit den Vino-Vorlieben passiert ist.


-1
gsettings reset-recursively org.gnome.Vino

5
Es wäre hilfreich, wenn Sie Ihre Antwort bearbeiten könnten, um zu erklären, was dies bewirkt und wie die Frage beantwortet wird.
David Edwards
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.