79 votes

Activer VNC à distance depuis la ligne de commande ?

J'ai un ordinateur qui fonctionne sous Ubuntu 10.04, et qui exécute les fonctions suivantes Vino le serveur VNC par défaut.

J'ai une deuxième boîte Windows qui exécute un client VNC, mais qui n'a aucune capacité X11. Je suis connecté en mode ssh à l'hôte Ubuntu depuis l'hôte Windows, mais j'ai oublié d'activer l'accès VNC sur l'hôte Ubuntu.

Sur l'hôte Ubuntu, y a-t-il un moyen pour moi d'activer les connexions VNC à partir de la ligne de commande Ubuntu ?

Mise à jour :

Comme @koanhead le dit ci-dessous, il n'y a pas de page de manuel pour vino (par exemple man -k vino y info vino ne renvoie rien), et vino --help ne montre aucune aide).

31voto

ouzmoutous Points 411

Je voulais aussi activer vino avec la ligne de commande sans aller dans vino-preferences.

Quand j'ai commencé /usr/lib/vino/vino-server il est dit que le service de partage de bureau n'est pas activé.

Avec l'unité gconftool n'est plus utilisable. Nous devons le faire via gsettings .

Donc, d'abord, permettre le vino :

gsettings set org.gnome.Vino prompt-enabled true

Ensuite, commencez le vino :

/usr/lib/vino/vino-server

Vous pouvez désormais accéder à distance à votre ordinateur.

Si vous voulez voir toutes les configurations disponibles pour Vino :

gsettings list-keys org.gnome.Vino

3 votes

Pour faire cela en SSH ou depuis un terminal en mode texte où la variable d'environnement DISPLAY n'est pas définie, vous devez ajouter DISPLAY=:0 à la commande set, sinon vous obtiendrez "failed to commit changes to dconf".

0 votes

Donc, en plus de ce qui précède, j'ai dû export DBUS_SESSION_BUS_ADDRESS=... . Pour obtenir la valeur de cette variable, j'ai copié l'environnement d'un processus en cours d'exécution ( pgrep -u myUserName -l pour obtenir la liste des processus, choisir un numéro, puis tr '\0' '\n' < /proc/NUMBER/environ | grep DBUS ). Puis exporter DBUS_SESSION_BUS_ADDRESS avec la valeur retournée. Puis la commande s'est exécutée.

0 votes

La première commande me donne : Aucune clé "enabled" n'existe

30voto

Jeff Hubbard Points 5292

Réponse courte :

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

comme le mentionne la réponse acceptée, si vino n'est pas lancé sur la machine distante, utilisez

/usr/lib/vino/vino-server

Réponse longue et plus d'informations :

Un sous-ensemble de paramètres pour le serveur d'accès à distance intégré actuel (vino) peut être vu, comme mentionné, à partir de vino-preferences. Une liste complète des drapeaux gconf peut être vue avec la commande gconf-editor répertoriée sous /desktop/gnome/remote_access . Vous pouvez également voir les autres clés remote_access avec cette commande (ou une variation de celle-ci) :

gconftool-2 -a /desktop/gnome/remote_access

(Pour une raison quelconque, -R fonctionnera également).

Vous pouvez également obtenir la documentation sur les clés de schéma via la fonction --long-docs arg.

Par exemple, pour la clé 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.

Ainsi, par exemple, voici comment modifier le port par défaut via la ligne de commande :

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 vous donnera les clés sous un répertoire donné. Voici la section '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

Voici comment lister toutes les docs de schéma sous /desk/gnome/remote/access (via la ligne de commande /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

0 votes

/usr/lib/vino/vino-server ne fonctionne pas à partir de SSH, il est dit que Cannot open display:

0 votes

Vous devez faire suivre votre affichage afin d'ouvrir une interface graphique via SSH, ce qui est un sujet complètement distinct, par ex. unix.stackexchange.com/questions/12755/

28voto

Nicholas Riley Points 206

Je cours.

/usr/lib/vino/vino-server

devrait faire l'affaire.

Une fois que vous avez accès à votre serveur, je vous recommande de l'ajouter aux applications démarrées automatiquement afin qu'il soit toujours lancé.

Vous aimerez probablement modifier certains paramètres avec :

vino-preferences

faites très attention lorsque vous exécutez vino-preference sur une machine distante, si vous décochez "Allow other users to control your desktop", vous ne pourrez pas le recocher.

ou pour modifier :

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

Voici un exemple de fichier :

<?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>

Attention, le mot de passe est encodé en base64. Pour ce fichier, le mot de passe est qwerty. J'ai vu sur certains forums que des gens l'ont changé avec succès, mais j'ai eu des problèmes avec ça.

Voici un encodeur base64 en ligne :

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

7 votes

J'ai obtenu l'erreur suivante en exécutant /usr/lib/vino/vino-server : No protocol specified ** (vino-server:2040): WARNING **: Could not open X display

0 votes

@hvtuananh Avez-vous un écran que vous pouvez partager ? La variable evd DISPLAY est-elle réglée en conséquence ? Ma réponse suppose que vous avez déjà un affichage qui démarre par défaut, mais que vous n'avez pas de chaîne et que vous utilisez la ligne de commande pour le rendre disponible.

1 votes

Cela ne fonctionne pas dans (au moins) 13.10. Voir plutôt la réponse de ouzmoutous ci-dessous.

24voto

xk0der Points 1570

Sur Ubuntu 14.04, j'ai trouvé la variation suivante qui a fonctionné pour moi :

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

Si cela ne fonctionne pas, il se peut que votre session X soit exécutée sur un autre système que :0 donc un rapide ps aux | grep X devrait montrer une :1 o :2

1 votes

Vous devriez commencer par le export DISPLAY=:0 car les commandes gsettings échoueront sans : failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY .

0 votes

Meilleure réponse de loin. Mais comment faire pour que Vino démarre automatiquement au redémarrage ?

0 votes

Avec cela, le port vnc est ouvert, mais mon client vnc s'arrête définitivement. quel peut être le problème ?

14voto

ahanson Points 1644

Pourquoi, pour l'amour de tout ce qui est bon dans ce monde dur, n'y a-t-il pas d'entrée pour vino ou vino-server ou pour l'une des commandes listées dans dpkg -L vino La production de l'entreprise ? D'ailleurs, pourquoi aucun paquet du tout être installé sur un système Ubuntu, jamais, qui omet une page de manuel au moins pour les commandes pertinentes ? Ok, j'ai fini de fulminer. La meilleure réponse que j'ai trouvée jusqu'à présent est ici : http://ubuntuforums.org/archive/index.php/t-266981.html

J'espère vraiment que cela vous aidera, et j'espère qu'à l'avenir la communauté Ubuntu documentera toutes ces commandes orphelines. "La facilité d'utilisation" ne signifie pas l'abandon de la ligne de commande, et cela ne signifie certainement pas l'abandon d'une documentation facilement accessible. </grumble>

0 votes

Essayez de lancer /usr/lib/vino/vino-server. Pour le peu d'aide et de documentation disponible, utilisez vino-server --help-all.

4 votes

Il n'est pas bon de créer un lien vers une autre source, car cette source pourrait être mise hors ligne à l'avenir et votre réponse ne serait plus valable.

1 votes

Un point supplémentaire pour le rant.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X