web-dev-qa-db-fra.com

Exécution du serveur VNC sur Ubuntu Desktop 18.04 en créant de nouvelles sessions

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 tightvncservername__, ni l'un ni l'autre n'a fonctionné. Peu importe comment j'ai configuré xstartupname__, gnome-session ne fonctionnera tout simplement pas. J'ai réussi à exécuter Xfdmet 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 DISPLAYet XAUTHORITYname__.

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:

  1. Installez un tout nouveau bureau Ubuntu 18.04 LTS.
  2. Installez tightvncservername__.
  3. Exécutez vncserverpour le configurer et le tuer.
  4. Changez ~/.vnc/xstartup et ajoutez:

    export STARTUP = "/ usr/bin/gnome-session --session = ubuntu --disable-acceleration-check" $ STARTUP

  5. Exécutez vncservername__.

  6. Connectez-vous au serveur VNC avec n'importe quel client VNC. Seul l'écran gris est affiché.
  7. Configurez DISPLAYet XAUTHORITYet exécutez geditname__. La session VNC voit une fenêtre geditincomplète.
3
He WenYang

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
2
He WenYang

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
1
twang