Existe algum programa X11 comum?

1

Você pode pensar em echo ou cat como programa de terminal comum. Você pode ligar cegamente:

echo "hello world"

no bash por exemplo e funcionará. Você verá a saída.

Eu estou procurando algo parecido com isso para o X11, algo que você pode digitar (novamente cegamente) e assumindo que o usuário está trabalhando no X11, ele / ela verá a saída visual (por isso não estou perguntando como detectar o X11, é suposição).

Poderia ser o mesmo comando X11 (como criar uma janela simples com o botão fechar) se for possível chamar o subsistema X11 do bash. Por favor note, eu não estou falando sobre o problema como link porque ferramentas como" zenity "(sem dúvida, é útil) não são instaladas por padrão.

Observação importante: preciso de algo persistente, algo que permaneça até que a energia seja desativada ou o usuário a feche explicitamente.

    
por greenoldman 18.04.2016 / 18:03

1 resposta

8

Realmente não existe tal comando. Nem pode haver (dentro da razão) ser. O usuário pode estar, por exemplo, usando um aplicativo de tela inteira, e seu gerenciador de janelas de composição se recusa a colocar qualquer coisa em cima dele (já que ele interromperia a experiência de tela inteira).

E, claro, digitar cegamente não funciona - um terminal pode não estar focado. Você poderia acabar digitando seu comando totalmente incrível em uma resposta do Stack Exchange em vez de um terminal, onde é claro que não será executado.

Se você quiser um comando que possa ser executado, provavelmente exibirá algo, os básicos que vêm com o Xorg são uma boa suposição: xlogo , xev , xfd , xmessage , xeyes , entre vários outros. Desses, xmessage é uma espécie de zenity, mas muito mais primitivo (mas provavelmente mais provável de ser instalado) e xeyes - certamente chamará a atenção do usuário. Lembre-se que em um shell script você pode detectar "not installed" (código de saída 127) e tentar outro na lista.

Se você quiser transmitir informações úteis ao usuário, e o usuário estiver usando um ambiente de área de trabalho moderno, sua melhor opção é enviar uma notificação na área de trabalho com notify-send (parte da libnotify). Isso deve persistir até que o usuário feche.

    
por 18.04.2016 / 18:42

Tags