Como posso configurar `anybody` para executar o X em uma linha?

9

A solução comum postada é executar, o sudo dpkg-reconfigure x11-commonque fornece um prompt gráfico, no entanto, eu estou querendo usar isso de maneira não interativa.

O cenário é que eu tenho SSH em uma máquina como root (durante o provisionamento do Vagrant) e preciso executar startxuma vez como usuário comum para gerar alguns arquivos de configuração antes de prosseguir para as etapas subseqüentes.

Acredito que o motivo pelo qual não posso simplesmente su otheruser startxse deva ao fato de o Xauthority / me estar conectado via SSH como outro usuário ...

ljs.dev
fonte

Respostas:

7

A solução que encontrei foi executar o seguinte:

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

Observe que, na sua situação, o consolepode ser rootou outro, com base em sua configuração inicial específica *

ljs.dev
fonte
2
convencer o X a abandonar os privilégios de root é um recurso bastante novo ( xorg 1.16.0iirc). Detalhes são encontrados em man Xorg.wrap.
Sebastian
1
No debian, o arquivo de configuração "Xwrapper.config" pode estar presente, enquanto o pacote xserver-xorg-legacy não está instalado. Nesse caso, não tem efeito; portanto, os problemas persistem após alterar a configuração.
Imsodin