• # 2 pistes

    Posté par . En réponse au message xinit: xf86openconsole cannot open virtual console 7 (permission denied). Évalué à 1. Dernière modification le 19 août 2017 à 00:42.

    En début de semaine j’ai voulu expérimenter wayland et je crois me rappeler d’un message d’erreur équivalent. Jamais eu de problèmes avec Xorg, car démarré en root.

    J’utilise systemd comme init, mais comme j’aime vivre dangereusement je masque les services logind et dbus pour les inhiber pour avoir le système le plus minimaliste possible. Avec logind démarré j’arrivais à lancer une session wayland après avoir loggué mon user dans une console, mais pas moyen de le faire sans logind et depuis un service systemd.

    J’ai eu l’erreur sur les virtual console et j’ai eu la même idée que toi en ajoutant mon user au groupe tty, mais c’est une mauvaise piste.

    J’ai quand même réussi par faire démarrer une session graphique sur mon user en faisant deux choses :
    — export XDG_RUNTIME_DIR=/tmp ou autre (un répertoire pour y placer les sockets du serveur graphique, wayland et xwayland, ainsi que le verrou : faut avoir les droits)
    — avec wayland, malgré tout il y a toujours un—tout petit—process qui tourne en root, ça m’a mis la puce à l’oreille : il faut avoir la capabilities CAP_SETUID. Probable qu’il en soit de même avec X.

    Ton cas n’est pas mon cas, et je ne me rappelle plus trop des détails, mais ce sont deux pistes que tu peux explorer. Bon courage !

    Rapport au lien de ton edit2, j’ai la solution avec systemd, dans le .service j’ai ce genre de chose :

     7 [Service]
     8 Type=simple
     9 WorkingDirectory=/home/USER
     10 Environment=XDG_RUNTIME_DIR=/home/USER/.sway ...
     11 ExecStart=-/usr/bin/sway -c /home/USER/.sway/config
     12 User=USER
     13 AmbientCapabilities=CAP_SETUID
    

    (pour info sway est un port de i3 sur wayland, et la commande sway joue le rôle d’un xinit)