Como definir a variável de ambiente com base em se uma GUI está disponível?

7

Como posso configurar meu .bashrc para que o valor de uma variável de ambiente seja alterado com base no fato de a sessão atual ter ou não acesso ao sistema de gui / janelas?

Por exemplo, digamos que eu tenha uma variável de ambiente que controle qual programa diff meu VCS usará.

Quando estou sentado na máquina, gostaria de usar um programa GUI. No entanto, quando me conecto remotamente via SSH, gostaria de usar automaticamente um visualizador de diferenças de terminal baseado em texto.

Como posso verificar se o sistema de janelas está ou não disponível?

    
por TM. 21.02.2012 / 22:22

1 resposta

9

Você pode verificar a variável $DISPLAY para ver se você está em uma exibição x - se ela não estiver vazia, você terá uma exibição:

if [ -n "$DISPLAY" ]; then
    # run GUI program
else
    # run term program
fi

Um teste rápido mostrou que isso funciona mesmo para o X-tunneling.

    
por 21.02.2012 / 22:30