J'aimerais créer un serveur VNC qui exécute un environnement gnome-Shell, identique à l'interface utilisateur par défaut de la console, distinct de la session de la console (afin que la console ne puisse rien voir).
J'ai essayé vnc4server
et tightvncserver
name__, ni l'un ni l'autre n'a fonctionné. Peu importe comment j'ai configuré xstartup
name__, gnome-session
ne fonctionnera tout simplement pas. J'ai réussi à exécuter Xfdm
et gnome-panel
de la même manière. Lorsque j'essaie de me connecter au serveur VNC, je ne reçois qu'un écran gris. Cependant, je peux confirmer que le serveur vnc a fonctionné, car je peux y exécuter des programmes en définissant DISPLAY
et XAUTHORITY
name__.
Existe-t-il un moyen d’exécuter ubuntu-desktop
dans une nouvelle session X, en dehors de la session de console? De préférence sur un serveur VNC?
Les étapes j'ai créé le serveur vnc:
tightvncserver
name__.vncserver
pour le configurer et le tuer.Changez ~/.vnc/xstartup
et ajoutez:
export STARTUP = "/ usr/bin/gnome-session --session = ubuntu --disable-acceleration-check" $ STARTUP
Exécutez vncserver
name__.
DISPLAY
et XAUTHORITY
et exécutez gedit
name__. La session VNC voit une fenêtre gedit
incomplète.Finalement j'ai trouvé la solution.
La session Gnome ne semble pas fonctionner sur les serveurs X VNC, mais un fichier Xvfb fonctionnera. L'idée est de créer un fichier Xvfb pour la session et d'utiliser x11vnc pour VNC:
Xvfb :1 -screen 0 1280x720x24
Ensuite, créez un environnement GNOME:
DISPLAY=:1 gnome-Shell --replace
Enfin, utilisez x11vnc
pour créer un serveur VNC pour Xvfb:
x11vnc -display :1
Assurez-vous de désélectionner DBUS_SESSION_BUS_ADDRESS au début du script xstartup
.
Voici un extrait de ma session qui a démarré correctement avec gnome-session. Cependant, le seul problème jusqu'à présent est que le jeu de couleurs du terminal n'est pas correctement appliqué, mais que VNC fonctionne correctement :)
#!/bin/sh
MODE="GNOME"
unset DBUS_SESSION_BUS_ADDRESS
if [ -e "$HOME/.Xresources" ]
then
xrdb "$HOME/.Xresources"
fi
if [ "GNOME" = "$MODE" ]
then
if which gnome-session > /dev/null
then
gnome-session --session=ubuntu &
else
MODE=""
fi
fi