Como as variáveis de ambiente do Linux DISPLAY e XAUTHORITY são usadas?

2

Como essas duas variáveis são usadas pelo sistema X Window?

No meu host Ubuntu 9.10, se eu definir XAUTHORITY para qualquer coisa e, em seguida, tentar executar um programa GUI, receberei um GTK-WARNING ***: cannot open display :0.0 (DISPLAY é definido como: 0.0 por padrão). O que está causando essa mensagem de erro?

    
por quack quixote 25.03.2010 / 01:14

3 respostas

5

DISPLAY é usado pelo X Window System para especificar o host, o controlador gráfico e a exibição física. O padrão: 0.0 significa host local (freqüentemente um soquete de domínio Unix em vez de um soquete TCP / IP), primeiro controlador gráfico e primeiro monitor físico anexado (0 para ambos). Se você estivesse se conectando a um servidor X em um host diferente, você especificaria o nome do host ou o endereço IP; se você estivesse usando um controlador ou monitor diferente, você especificaria esse número.

XAUTHORITY é usado pelo xauth (como mencionado por c4747p) e contém o nome do arquivo com seus tokens de privilégio X.

Provavelmente você está recebendo a mensagem porque um arquivo XAUTHORITY incorreto leva a pessoa a não ter permissões para anexar ao servidor X.

    
por 25.03.2010 / 02:49
2

DISPLAY diz ao programa que "display" é executado (o Linux normalmente possui múltiplos consoles virtuais). : 0 é o padrão; você pode configurar mais. XAUTHORITY está relacionado ao sistema xauth. O sistema xauth gerencia os privilégios para se conectar ao servidor X, que é executado como root. Como o programa não consegue encontrar o arquivo de autoridade que acha que está especificando em XAUTHORITY, ele não pode obter permissão para se conectar.

    
por 25.03.2010 / 01:53
1

c4757p está correto.

O motivo específico pelo qual você não pode iniciar programas GUI depois de configurar XAUTHORITY é, já tem um valor (atribuído automaticamente pelo seu programa gerenciador de exibição quando você faz login,) e se você adulterar você terá problemas para alterar a autorização. Você ainda seria capaz de lançar programas, mas executar qualquer coisa como um usuário diferente seria um problema (portanto, qualquer programa administrativo não seria iniciado).

    
por 25.03.2010 / 02:47