Comment puis-je configurer «n'importe qui» pour exécuter X dans une seule ligne?

9

La solution courante publiée consiste à exécuter sudo dpkg-reconfigure x11-commonce qui donne une invite graphique, cependant, je souhaite utiliser cela de manière non interactive.

Le scénario est que je suis SSH sur une machine en tant que root (pendant l'approvisionnement Vagrant) et que je dois exécuter startxune fois en tant qu'utilisateur normal pour générer des fichiers de configuration avant de passer aux étapes suivantes.

Je crois que la raison pour laquelle je ne peux pas simplement su otheruser startxest due à Xauthority / moi étant connecté via SSH en tant qu'autre utilisateur ...

ljs.dev
la source

Réponses:

7

La solution que j'ai trouvée était d'exécuter ce qui suit:

sudo sed -i \
    's/allowed_users=console/allowed_users=anybody/' /etc/X11/Xwrapper.config

Notez que dans votre situation, le consolepeut être rootou autre, en fonction de votre configuration initiale particulière *

ljs.dev
la source
2
convaincre X d'abandonner les privilèges root est une fonctionnalité plutôt nouvelle ( xorg 1.16.0iirc). Les détails se trouvent dans man Xorg.wrap.
Sebastian
1
Sur debian, le fichier de configuration "Xwrapper.config" peut être présent, alors que le paquet xserver-xorg-legacy n'est pas installé. Dans ce cas, cela n'a aucun effet, donc les problèmes persistent après avoir modifié la configuration.
imsodin