Existem duas maneiras de rodar o xorg sem root no seu sistema.
A primeira opção mais trivial é apenas rodando startx no seu tty, mas como isso é muito simples, não precisa de um tutorial para isso.
A outra maneira é usando um Display Manager, muito mais prático de se usar, e é essa que vou apresentar aqui.
Atualmente só o GDM e o SDDM suportam rodar a sessão sem precisar de root, mas como o GDM é considerávelmente mais pesado e puxa as dependências do Gnome, a única solução viável é o SDDM.
Apenas a partir da versão 0.20 o SDDM suporta rodar sem root, então em distros estáveis como o Devuan você terá que compilar uma versão mais recente.
Já estou assumindo que você instalou o SDDM e habilitou o serviço dele, agora vamos rodá-lo sem root.
Passo 1 - Siga a Wiki do Arch e crie o arquivo /etc/sddm.conf.d/rootless-x11.conf
com o seguinte conteúdo:
[General]
DisplayServer=x11-user
Feito isso, aqui que está a charada, em distros normais é só reiniciar e sucesso, mas em algumas distros sem systemd, é preciso fazer mais uma configuração.
Por padrão, o SDDM rootless tenta ‘sequestrar’ o tty1, mas se o tty1 já estiver sendo iniciado pelo init, o SDDM não consegue ‘sequestrar’ com sucesso.
Então o próximo passo é apenas não subir o tty1 no boot, o processo varia de init para init.
Para fazer isso no OpenRC é como root: rc-update del agetty.tty1 default
, adapte o comando de acordo com seu init system.
Feito isso, pronto, agora o SDDM terá o tty1 livre para subir sem precisar de root.
Detalhe que às vezes depois que logar no sistema, pode ser necessário apertar ctrl+alt+f7
para ir até o DE, pois pode ser que o SDDM não consiga te levar para o tty7 automaticamente, que geralmente é onde a DE sobe.
E agora para garantir que o Xorg está rodando sem root, no DE rode o comando:
ps -o user= -C Xorg
Caso o comando retornar o nome do seu usuário, é porque funcionou, caso retorne root
é porque ainda está rodando como root.