Testar DISPLAY
é a coisa certa. Você não pode fazer melhor, e qualquer tentativa de ser mais inteligente é muito provável que doer mais do que ajuda.
Sim, é claro, o usuário pode mentir e definir DISPLAY
como um valor incorreto. Mas o usuário também pode desligar seu monitor; você nunca tem garantia de que eles verão o que você mostra. Se o usuário mentiu, você não tem como saber de qualquer maneira. É possível que DISPLAY
seja definido como um valor que faça com que as informações sejam exibidas em outro lugar (geralmente em outra sessão do mesmo usuário). Por outro lado, é possível que DISPLAY
seja não definido ou definido como um valor inválido, mesmo que haja um valor válido, mas você não tem como saber qual seria esse valor.
É claro que é possível que DISPLAY
seja definido, mas você não pode se conectar ao servidor X. Nesse caso, a melhor coisa a fazer é imprimir uma mensagem de erro clara. Se DISPLAY
for definido, mas não puder ser usado, isso indicará uma configuração incorreta em algum lugar e você deverá transmitir essa informação ao usuário.