Todos os programas X11 abrem suas janelas na tela indicada pela variável de ambiente DISPLAY . Assim:
sudo -u 1000 env DISPLAY=:0 xev
ou para essa questão, já que você pode executar programas como um usuário diferente do servidor X, apenas
DISPLAY=:0 xev
:NUMBER é a notação para exibições locais; na maioria dos cenários, o servidor X11 que está sendo executado no console é aquele que é iniciado primeiro e acaba sendo o número 0. Você pode executar echo "$DISPLAY" em um terminal nesse visor para verificar se o número de exibição está correto. :0.0 é equivalente a :0 (um .0 pode ser omitido).
Se você executar o programa como um usuário diferente do servidor X e, às vezes, mesmo que você o execute como o mesmo usuário, talvez seja necessário definir também a variável de ambiente XAUTHORITY . Essa variável aponta para um arquivo que contém uma senha (chamada de cookie ) que os aplicativos devem passar para o servidor X. Para ver o valor correto de XAUTHORITY , execute echo $XAUTHORITY nessa exibição; Se não estiver definido, o valor padrão é ~/.Xauthority , em que ~ representa o diretório inicial do usuário.
Se você precisar encontrar os valores de DISPLAY e XAUTHORITY programaticamente, consulte Abra uma janela em um display X remoto (por que" Não é possível abrir a tela ")?
¹ Pelo menos quase todos. É tecnicamente possível para eles não fazê-lo, mas é preciso um trabalho ativo por parte do programador para que não seja assim, enquanto um argumento -display é uma convenção que está longe de ser universal.