web-dev-qa-db-fra.com

Comment puis-je exécuter Lightdm sur XVFB sur un PI de framboise?

J'ai un PI de framboise et je l'utilise comme serveur sans tête. Mais je veux courir x dessus. Il est livré avec LightDM, et si vous l'exécutez à l'aide du HDMI ou de la vidéo inclus, cela fonctionne, et je peux utiliser cela et X11VNC à cela, mais sans moniteur attaché, il est par défaut à 800x600 ou quelque chose de vraiment petit. J'ai essayé de définir la géométrie, aucun effet.

Je pensais donc que je dirais XVFB, puis exécutez LightDM sur cela, puis x11vnc tout le shebang.

Le problème est que LightDM ne semble pas vouloir se connecter à un serveur X déjà exécuté, il souhaite faire sa propre. Bien, alors je le dis à exécuter XVFB au lieu de x, et il échoue car LightDM tente de passer 'VT7' comme un paramètre paramètre sur le serveur X, mais XVFB n'accepte pas le terminal virtuel en tant que param. , c'est un tampon de cadre virtuel.

Alors aidez-moi à sortir? Comment puis-je obtenir de la LightDM (j'ai vérifié les documents et les options, rien d'évident) pour démarrer XVFB correctement (sans VT7 param) ou pour l'obtenir pour joindre à un serveur X existant qui fonctionne déjà et que vous n'essayez pas et n'essayez pas.

5
Stu

Incidemment, je faisais face au même problème en même temps. Vous souhaitez également exécuter un serveur sans tête avec XVFB et VNC, pas sur RPI cependant. J'ai trouvé une solution de travail en train de faire les étapes suivantes ...

apt-get install lubuntu-core xvfb x11vnc

J'ai compris que toutes les options de configuration de LightdM.conf sont documentées dans /usr/share/doc/lightdm/lightdm.conf.gz. Alors, regardez-les en émettant la commande suivante.

zcat /usr/share/doc/lightdm/lightdm.conf.gz

Évidemment, comme vous l'avez signalé, LightDM tente d'instancier son propre serveur X et transmet certains arguments que XVFB ne peut pas gérer. La première étape pour contourner ce problème consiste à ajouter une ligne 'XServer-Command' 'au fichier de configuration de LightDM /etc/lightdm/lightdm.conf (IT par défaut sur XServer-Command = x).

[SeatDefaults]
greeter-session=lightdm-gtk-greeter
user-session=Lubuntu
xserver-command=/etc/X11/xinit/xserverrc

Après cela, j'ai modifié/etc/x11/xinit/xserverrc de manière à démarrer XVFB au lieu d'un serveur X REAL (Notez que j'ai commenté la ligne X Exec d'origine qui transmet les arguments de la ligne de commande sur x). Ajout d'une ligne EXEC à la place qui exécute XVFB était suffisante pour obtenir LightDM fonctionnant avec XVFB.

#!/bin/sh

#exec /usr/bin/X -nolisten tcp "$@"
exec Xvfb :0 -screen 0 1024x768x24

Cela me semble être une méthode pratique d'enveloppement de la commande LightDM X dans un script d'enveloppe approprié déjà présent sur l'installation par défaut (L) Ubuntu par défaut.

Enfin, j'utilise VNC après Ssh'ing dans le système, transférant le port VNC et se connectant au port transféré sur localhost avec un client VNC (dans mon cas partage d'écran Mac OS).

ssh -L 5900:localhost:5900 user@machine 'x11vnc -localhost -display :0 -many'
8
Andreas