Eu tenho um utilitário de linha de comando que gera strings de texto, executando um comando dentro do diretório:
./Utility -P
ele imprime a saída no terminal. Como fazer um script de shell mostrando a string gerada na caixa de diálogo Informações, onde a saída pode ser selecionada com o mouse e copiada. Portanto, preciso enviar informações de um script de shell para um ambiente de desktop GUI. Quero dizer, inicie um shell scipt clicando duas vezes nele, para que não haja mais necessidade de abrir o terminal todas as vezes e escrever o comando.
EDITAR: exemplo de trabalho
#!/bin/bash
output="$( ./Utility -P )"
zenity --info --text "${output}" --icon-name=info --title "Daily test" --width=300 --height=80
Isso capturará a saída padrão deste subshell e a salvará em uma variável de ambiente chamada
output
. Você pode chamá-lo de qualquer outro nome.Existem ferramentas alternativas, como o yad (um fork do zenity iirc), ou até mesmo uma maneira de usar o utilitário de notificação da sua área de trabalho (usando dbus), se você tiver um. Supondo que você tenha o xfce4-notification-daemon ou algum outro daemon consumindo esse material de notificação:
Onde a primeira string irá para o “título” da notificação, e a segunda string será o “corpo” da notificação.
EDIT: ou mesmo apenas
xmessage "${output}"
se você gosta de dependências mínimas, embora isso presuma${output}
que não corresponde a uma das opções suportadas peloxmessage
. Alternativamente:./Utility -P | xmessage -file -
o que não tem problema.