Como executar o startx como não raiz?

10

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

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

Acidentalmente, excluí esse arquivo. Então, eu copiei isso /root. Alterei sua autoridade usando o código abaixo:

# chown hello:users ~/.Xauthority

Mesmo depois disso, não consigo executar a startxmenos que use a conta root.

Habi
fonte
Copiar o arquivo é um risco à segurança. Você alterou suas permissões (propriedade), não sua autoridade.
Ctrl-alt-delor
(Re) mova ~ / .Xauthority e tente startxnovamente. Funciona? Caso contrário, qual é a mensagem de erro exata?
Adaephon

Respostas:

11

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

Agora, o ~/.Xauthorityarquivo é simplesmente o local onde as credenciais de identificação da Xsessão do usuário atual são armazenadas; é o arquivo lido quando o sistema precisa determinar se você tem o direito de usar a Xsessão atual .

Você nunca deve copiar um existente de outra conta, o arquivo sempre deve pertencer ao usuário em execução Xe é criado automaticamente quando você inicia uma nova Xsessão. Portanto, basta excluir o que você possui e executar startxnovamente, tudo deve funcionar normalmente:

$ rm ~/.Xauthority; startx
terdon
fonte
Tredon, mesmo depois de remover o arquivo .Xauthority. Eu sou incapaz de starx. Ele continua exibindo o mesmo erro.
Habi
@Habi, verifique se não há sessões X em execução, remova o arquivo e execute startxnovamente.
terdon
Agora, o X é executado, mas exibe outra mensagem Falha na chamada para o Inusertemp (diretórios temporários cheios?). Verifique sua instalação.
Habi
@Habi ah, bom, isso é progresso :). Poste outra pergunta para isso, pois é um problema completamente diferente. Na nova pergunta, mostre a saída de df -he também verifique se esse problema ainda existe após reiniciar.
terdon
Tredon, vou considerar esse progresso. :). Btw, obrigado.
Habi
3

Eu acho que um problema é que as pessoas fazem login como root e depois trocam de usuário su -l username, o que cria / gera um subprocesso no root de propriedade de "nome de usuário". X usará o .Xauthorityprocesso principal (neste caso, raiz), cujo "nome de usuário" não tem permissão para usar.

O erro será mostrado:

Cannot open virtual console 1 (Permission denied).

Para resolver isso, basta executar em loginvez de suiniciar um novo shell como um processo superior.

Jonathan Komar
fonte
0

Encontrei isso no Lenovo IdeaPad com duas placas gráficas, uma da Intel e outra da Nvidia.

O erro resultante de startxincluiu esta linha:

A falha adiciona screencreen / screeninit para o driver 0 kde plasma

Esta foi a solução:

  1. Alterar /etc/mkinitcpio.confadicionandoMODULES=(nouveau)
  2. sudo mkinitcpio -p linux
  3. reiniciar
Matthias Braun
fonte