Conforme destacado no link , listado em um comentário do OP:
Turns out the solution is here: blog.falconindy.com/articles/… Manually starting X by startx and polkit are not cool together :) But you say "startx -- vt01" then everything will be fine. – Daniel Oct 19 '12 at 15:54
Uma série de problemas pode surgir com sessões autenticadas quando o usuário inicia o X
server do console com startx
sem nenhum parâmetro; aparentemente, um novo terminal é iniciado com a sessão do Xserver, onde a autenticação estabelecida de dentro da sessão do console não é "transferida" para a recém-criada sessão X.
Como resultado dessa "perda de autenticação", o usuário não privilegiado não tem permissão para "falar com processos privilegiados" e / ou solicitar autenticação.
A solução sugerida é iniciar o servidor X
do console com o número atual de VT passado como parâmetro, por exemplo:
xinit -- vt01
Isso fará com que xinit
inicie o servidor X
dentro do mesmo terminal (com a sessão autenticada), em vez de lançar um novo TTY.
Da mesma forma, de acordo com um comentário para esse artigo referenciado , systemd-logind
coloca o vt apropriado na variável de ambiente $XDG_VTNR
; Assim, pode-se criar um script curto ou alias
para facilitar o processo xinit correto, incluindo
exec /usr/bin/X -nolisten tcp vt$XDG_VTNR "$@"
Nota
A versão de xorg-xinit
do Arch-linux inclui essa linha por padrão a partir de xorg-xinit-1.3.2-3
, de acordo com o post do blog sobre blog.falconindy.com