Como executar o startx como não-root?

8

Recentemente, mudei do Ubuntu para o Arch Linux. Eu instalei o X11 como meu sistema de janelas e o KDE como meu ambiente de desktop. Eu tenho partição separada para /home , /var , / e /boot e todos eles são montados no momento da inicialização. Quando eu executo startx , a seguinte mensagem é exibida.

xauth:timeout in locking authority file /home/hello/.Xauthority

Por causa disso, eu deletei esse arquivo. Então copiei de /root . Eu mudei sua autoridade usando o código abaixo:

# chown hello:users ~/.Xauthority

Mesmo depois disso, não consigo executar startx , a menos que eu use uma conta raiz.

    
por Habi 20.11.2013 / 14:26

2 respostas

8

Primeiro, um esclarecimento, X não é um gerenciador de janelas , é um sistema de janelas .

Agora, o arquivo ~/.Xauthority é simplesmente onde as credenciais de identificação da sessão X do usuário atual são armazenadas. É o arquivo lido quando o sistema precisa determinar se você tem o direito de usar o atual X sessão.

Você nunca deve copiar um existente de outra conta, o arquivo deve sempre pertencer ao usuário que está executando X e é criado automaticamente quando você inicia uma nova X sessão. Então, basta excluir o que você tem e, em seguida, executar startx novamente, tudo deve funcionar normalmente:

$ rm ~/.Xauthority; startx
    
por 20.11.2013 / 14:35
2

Acho que um problema é que as pessoas fazem login como root e, em seguida, alternam os usuários usando su -l username , que cria / gera um sub-processo sob a propriedade de "username". X usará o .Xauthority do processo principal (neste caso, root), que "username" não tem permissão para usar.

O erro será mostrado:

Cannot open virtual console 1 (Permission denied).

Para resolver isso, basta executar login em vez de su para iniciar um novo shell como um processo principal.

    
por 03.05.2017 / 15:04

Tags