J'essaie de configurer des scripts d'automatisation pour configurer un environnement Linux. Je souhaite activer le partage de bureau à distance sans que l'utilisateur ait à utiliser l'interface graphique pour le faire. Mon plan consiste à écrire un script de lot qui modifie peut-être un fichier pour le faire automatiquement, si possible.
J'utilise Fedora 16 avec le gnome.
Je veux atteindre ce qui suit: http://docs.fedorAproject.org/en-us/fedora/13/html/user_guide/chap-user_guide-sharing_your_desktop.html
Tous les conseils sur le fichier à éditer seraient grandement appréciés.
Si je vous comprends bien: vous souhaitez partager un gnome ou un autre environnement à distance, alors le moyen le plus simple d'y parvenir est d'utiliser X11VNC. Il partage le vrai serveur X11 tel qu'il est après l'utilisateur connecté:
x11vnc -display :0
Ou si vous souhaitez exécuter VNC Server après la connexion, vous pouvez automatiser ce script:
#!/bin/bash
/usr/bin/x11vnc -nap -wait 50 -noxdamage -passwd PASSWORD -display :0 -forever -o /var/log/x11vnc.log -bg
Vous pouvez placer ce script dans des programmes de démarrage dans GNOME, de sorte qu'il puisse être exécuté automatiquement lorsque l'utilisateur connecte. Veuillez noter que ce script n'est pas sécurisé car la variable de mot de passe de session est clairement constatée à toute personne qui pourrait lire le fichier et que toute personne connaissant le mot de passe peut se connecter à la session VNC (le mot de passe dans ce cas est de 8 symboles Word Demandé lorsque vous vous connectez à distance). Si vous voulez plus de connexion sécurisée, recherchez comment faire du tunneling SSH VNC.
Ma méthode préférée pour les connexions distantes est d'utiliser Vino. Il est similaire à X11VNC, mais je trouve qu'il est beaucoup plus facile de mettre en place (bien que j'utilise généralement une interface graphique). Avec Vino activé, GNOME est configuré pour accepter les connexions VNC pour la session active (celle qui est actuellement connectée), pour chaque démarrage. Toute fenêtre ou applications ouvertes à l'écran sera visible dans la connexion VNC.
Dans des cas normaux (par exemple, à travers une interface graphique), il suffit de le mettre en marche
$ vino-preferences
En l'absence d'une interface graphique, les paramètres doivent être modifiés en utilisant gsettings
. Quelque chose comme
$ gsettings set org.gnome.Vino enabled true
$ gsettings set org.gnome.Vino view-only true
$ gsettings set org.gnome.Vino authentication-methods "['vnc']"
$ gsettings set org.gnome.Vino Prompt-enabled false
$ gsettings set org.gnome.Vino require-encryption true
activerait le bureau distant avec des valeurs saines. Vous pouvez voir la liste complète des options ainsi qu'une description de leurs effets en ouvrant dconf-editor
et naviguer à desktop.gnome.remote-access
.
Si votre ordinateur dispose de plusieurs utilisateurs, Vino devra être configuré pour chaque utilisateur.
Pour vous connecter à votre session à distance, vous pouvez utiliser n'importe quel client VNC standard. Cependant, vous devez transférer le port 5900 à l'ordinateur que vous souhaitez vous connecter au micrologiciel de votre routeur. Sinon, si vous autorisez également les connexions SSH à ces ordinateurs, il peut être plus facile et plus sûr d'utiliser VNC à travers un tunnel SSH. De votre machine locale:
ssh -L 5900:localhost:5900 <remote server>
Ensuite, ouvrez un client VNC et connectez-vous au 127.0.0.1:5900 et connectez-vous avec le nom d'utilisateur et le mot de passe de votre serveur distant.
Si j'ai besoin d'un accès à mon bureau, je ne suis généralement que SSH in et exécutant "x11vnc", puis connectez-vous avec VNC.
J'ai pu définir une installation fraîche Ubuntu 16.04 à partir d'une connexion SSH distante avec le script suivant:
#!/bin/bash
export DISPLAY=:0
read -e -p "VNC Password: " -i "ubuntu" password
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/authentication-methods "['vnc']"
dconf write /org/gnome/desktop/remote-access/require-encryption false
dconf write /org/gnome/desktop/remote-access/vnc-password \"\'$(echo -n $password | base64)\'\"
dconf dump /org/gnome/desktop/remote-access/
Sudo service lightdm restart
La citation est importante pour l'un des paramètres de chaîne (ticks simples à l'intérieur des citations).
Pour dconf
Pour pouvoir écrire, il a besoin d'un accès à Xwindows, c'est pourquoi le export DISPLAY
une partie est nécessaire. Je pense que vous devez toujours être connecté au bureau sur la machine Ubuntu actuelle pour vous connecter avec VNC après cela.
La commande de décharge est juste là pour confirmer que tous les paramètres ont pris la maintien, vous n'avez pas vraiment besoin de cela.