web-dev-qa-db-fra.com

Dupliquer une session xorg créée sur Ubuntu 18.04 avec des pilotes Nvidia

J'ai récemment effectué deux nouvelles installations d'Ubuntu 18.04 sur des systèmes similaires. La seule différence est que l’un utilise un GTX 1070 et un autre, le GTX 1080.

Problème

Après avoir installé le pilote Nvidia (390.59 à partir du binaire), une session xorg en double est créée à chaque fois après le redémarrage. Un sur mon compte d'utilisateur (1000) et un autre sur un compte d'utilisateur (120, devinant un compte de service).

root      1038  0.0  0.1 249052 46432 tty1     Sl+  09:09   0:01 /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/120/gdm/Xauthority -background none -noreset -keeptty -verbose 3
root      2157  0.4  0.2 358056 77424 tty2     Sl+  09:11   0:13 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3

Nvidia-smi montre également deux sessions xorg s'exécutant sur le GPU

|    0      1038      G   /usr/lib/xorg/Xorg                            18MiB |
|    0      1100      G   /usr/bin/gnome-Shell                          49MiB |
|    0      2157      G   /usr/lib/xorg/Xorg                           173MiB |
|    0      2298      G   /usr/bin/gnome-Shell                         116MiB

En dehors de ce processus supplémentaire, tout fonctionne normalement. Cela ne semble interférer avec rien, mais j'aimerais comprendre pourquoi cela se produit. Sur les deux mêmes systèmes, j'ai exécuté Ubuntu 16.04 et CentOS et je n'ai pas remarqué ce processus xorg en double. Si quelqu'un a des informations qui peuvent me diriger dans la bonne direction, ce serait formidable.

5
mdbox

Merci à ces questions " Pourquoi mon GDM à un TTY différent de celui de mon environnement de bureau? " J'ai trouvé la raison des deux sessions xorg. Le gestionnaire de bureau Gnome utilise deux sessions xorg, l’une en tant que greeter (connexion) et l’autre en tant que session utilisateur. Dans le passé, une session xorg était créée avec root, puis transformée en une session utilisateur. Toutefois, pour les plans de développement futurs, la décision de séparer ces sessions a été prise.

En savoir plus à ce sujet ici:

https://bugzilla.gnome.org/show_bug.cgi?id=747339

Laissez-moi expliquer un peu plus pourquoi nous avons fait cela.

Auparavant, nous avions lancé un serveur X en tant que root, puis lorsque vous vous êtes connecté, nous l'avons "transformé" en serveur X de session. Si vous utilisiez le changement rapide d’utilisateur, nous avons ensuite lancé un deuxième serveur X à la demande.

Pour des raisons de sécurité et de portage par Wayland, nous lançons maintenant le serveur X et le serveur Wayland dans la session de l'utilisateur, au lieu d'en démarrer un en tant qu'utilisateur root.

Pour ce faire, nous lançons deux serveurs X, l’un pour la session gdm greeter et l’utilisateur de la session.

Il serait tout à fait possible de supprimer la machine d'accueil après avoir basculé vers la session utilisateur. Cela nécessite juste un peu plus de code, mais malheureusement, il ne serait pas possible de mettre à la fois la session d'accueil et la session utilisateur sur VT1. étant donné que nous devions d'abord lancer la session utilisateur, puis supprimer la session greeter, nous ne pouvons pas être dans cet état intermédiaire tant qu'il y a deux serveurs X sur le même VT en même temps.

J'ai juste oublié les problèmes de ressources liés à la conservation autour de deux instances de gnome-Shell. Je discuterai avec Ray pour voir si nous souhaitons mettre fin à la session de l'accueil, puis la lancer à la demande pour que les utilisateurs changent/se déconnectent afin d'économiser des ressources.

2
mdbox