Como criar uma mensagem no Zenity para todos usuários logados no ubuntu ? [RESOLVIDO]

1. Como criar uma mensagem no Zenity para todos usuários logados no ubuntu ? [RESOLVIDO]

Matheus Lino Gomes de Souza
Matheuskshn

(usa Debian)

Enviado em 14/12/2018 - 12:56h

Bom pessoal, uso um script que é executado pelo cron de 1 em 1 hora que tem a finalidade de buscar atualizações e atualizar o sistema. Queria que o usuário fosse avisado que iniciou a atualização para que o mesmo não desligasse o computador, e quando terminasse a atualização outra mensagem avisando. Consegui fazer isso com o Zenity, exportando o DISPLAY=0, o problema é que cada seção inciada é um novo DISPLAY, e se tiver mais de um usuário logado e ele não for o DISPLAY 0 não vai receber a mensagem. Existe algum parâmetro parecido com
export DISPLAY=all 
, para que a mensagem fosse enviada para todos usuários independente de quem esteja no DISPLAY 0 ?

Meu script:

#!bin/bash
export DISPLAY=:0 && zenity --warning --width=600 --title="Atualização automática do sistema" --text "Caro usuário, o sistema encontra-se em processo de atualização no momento, por favor, não desligue o computador até que a atualização seja concluída. Não se preocupe, o sistema irá avisa-lô assim que for finalizado!

Versão atual do sistema: 2.5
Versão da atualização: TESTE
"
sleep 5s
export DISPLAY=:0 && zenity --warning --width=600 --title="Atualização automática do sistema" --text "A atualização do sistema foi concluída com sucesso, por favor reinicie o computador para aplicar as alterações.

Aproveite para tomar um café!

Versão anterior do sistema: 2.5
Versão atual do sistema: 2.6
"



  


2. Re: Como criar uma mensagem no Zenity para todos usuários logados no ubuntu ? [RESOLVIDO]

Matheus Lino Gomes de Souza
Matheuskshn

(usa Debian)

Enviado em 02/01/2019 - 14:09h

O comando "w -h" mostra o usuário que está logado e ativo e logo a frente o DISPLAY que está sendo utilizado, sabendo disso usei o "awk" para extrair esta informação, ficando desta forma no script:

export DISPLAY=$(w -h | awk '$2 ~ /:[0-9.]*/{print $2}')






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts