Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

1. Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Morpheus
Minions

(usa Nenhuma)

Enviado em 02/03/2021 - 17:17h

cat /etc/passwd > /tmp/usuarios.log


notify-send --icon=important "Falha" "Server Web com problema. `cat $log`"



  


2. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 02/03/2021 - 19:06h


Minions escreveu:

cat /etc/passwd > /tmp/usuarios.log
notify-send --icon=important "Falha" "Server Web com problema. `cat $log`"


Boa tarde Minions.
Nem tudo que está em /etc/passwd,
é Usuário humano, vários são do Sistema.
No caso do Debian,
humano tem uid>=1000 && uid<60000
Não sei se é um padrão, nos ultimos anos só uso debian.

Tais informações se encontram em: /etc/adduser.conf.
grep -E --color '(LAST|FIRST)_UID=[0-9]+' /etc/adduser.conf
FIRST_UID=1000
LAST_UID=59999


Dá para fazer com o awk+function system()....
TUDONUMALINHA..... :)
Filtra e executa....
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________




3. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Morpheus
Minions

(usa Nenhuma)

Enviado em 02/03/2021 - 19:49h


msoliver escreveu:


Minions escreveu:

cat /etc/passwd > /tmp/usuarios.log
notify-send --icon=important "Falha" "Server Web com problema. `cat $log`"


Boa tarde Minions.
Nem tudo que está em /etc/passwd,
é Usuário humano, vários são do Sistema.
No caso do Debian,
humano tem uid>=1000 && uid<60000
Não sei se é um padrão, nos ultimos anos só uso debian.

Tais informações se encontram em: /etc/adduser.conf.
grep -E --color '(LAST|FIRST)_UID=[0-9]+' /etc/adduser.conf
FIRST_UID=1000
LAST_UID=59999


Dá para fazer com o awk+function system()....
TUDONUMALINHA..... :)
Filtra e executa....
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________



A)
Se filtra pelo bash?

cat /etc/passwd | grep bash | cut -d: -f1

Tive que usar o sed para deletar root e operator da saída do /etc/passwd.... Como fica isso no Debian ai?


B)

O segundo passo é o envio para saída do who

# who
Minions tty2 2021-03-02 14:07
Goku pts/1 2021-03-02 18:50 (:0.0)

Como Root:
# su "$usuario" -c 'notify-send --icon=important "Testando..." "Foi para $usuario `cat $log`"'

Na parte de cima criar um loop while para pegar o $USER do sistema.

Em teste manual pelo terminal o user em pts/1 recebe mais o tty2 não... Aparece nada de notify-send na tela do desktop do tty{2 ....}.




4. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 02/03/2021 - 22:22h

Minions escreveu:
msoliver escreveu:
Minions escreveu:

cat /etc/passwd > /tmp/usuarios.log
notify-send --icon=important "Falha" "Server Web com problema. `cat $log`"


Boa tarde Minions.
Nem tudo que está em /etc/passwd,
é Usuário humano, vários são do Sistema.
No caso do Debian,
humano tem uid>=1000 && uid<60000
Não sei se é um padrão, nos ultimos anos só uso debian.

Tais informações se encontram em: /etc/adduser.conf.
grep -E --color '(LAST|FIRST)_UID=[0-9]+' /etc/adduser.conf
FIRST_UID=1000
LAST_UID=59999


Dá para fazer com o awk+function system()....
TUDONUMALINHA..... :)
Filtra e executa....
______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________



A) Se filtra pelo bash?
cat /etc/passwd | grep bash | cut -d: -f1
Tive que usar o sed para deletar root e operator da saída do /etc/passwd.... Como fica isso no Debian ai?

B) O segundo passo é o envio para saída do who
# who
Minions tty2 2021-03-02 14:07
Goku pts/1 2021-03-02 18:50 (:0.0)

Como Root:
# su "$usuario" -c 'notify-send --icon=important "Testando..." "Foi para $usuario `cat $log`"'
Na parte de cima criar um loop while para pegar o $USER do sistema.

Em teste manual pelo terminal o user em pts/1 recebe mais o tty2 não...
Aparece nada de notify-send na tela do desktop do tty{2 ....}.

Vamos por partes:
A: => Se filtra pelo bash?
Não, uso o awk para "pegar" somente usuários humanos.
Assim:
eval $(sed -nr '/^(FIRST|LAST)_UID/p' /etc/adduser.conf) #Pegos os dados no arquivo e gero as variáveis.
echo -e "$FIRST_UID\n$LAST_UID"
1000
59999
awk -F: '$3>='$FIRST_UID' && $3<='$LAST_UID' {print $1}' /etc/passwd

-------------------------------------------------------------------------------------------------------------
A 1 - Tive que usar o sed para deletar root e operator da saída do /etc/passwd.... Como fica isso no Debian ai?
cat /etc/passwd | grep bash
root:x:0:0:root:/root:/bin/bash
adminq:x:1000:1000:Admin_Q4OS,,,:/home/adminq:/bin/bash

------------------------------------------------------------------------------------------------------------
B) O segundo passo é o envio para saída do who
for _USER in $(who|cut -d ' ' -f1|sort -u);do
echo "User:$_USER - Execute os comandos";
done

------------------------------------------------------------------------------------------
Na parte de cima criar um loop while para pegar o $USER do sistema.
Mesma lógica do "who", só muda o comando.
for USERHUMANOs in $(awk -F: '$3>='$FIRST_UID' && $3<='$LAST_UID' {print $1}' /etc/passwd);do
#Aqui os comando que queira usar
done

##FIMDOLAÇO##
---------------------------------------------------------------------------------------------------------------
Em teste manual pelo terminal o user em pts/1 recebe mais o tty2 não...
Aparece nada de notify-send na tela do desktop do tty{2 ....}.
Sinceramente, desconheço.....Vou ficar devendo......



______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________




5. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 03/03/2021 - 00:49h

Na linha de comando tem o wall e o write, mas eles não incluem a sessão gráfica


6. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Morpheus
Minions

(usa Nenhuma)

Enviado em 03/03/2021 - 10:38h


leandropscardua escreveu:

Na linha de comando tem o wall e o write, mas eles não incluem a sessão gráfica


Lendo tutoriais aqui parece que o DISPLAY esta relacionado a sessão gráfica do user.




7. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Morpheus
Minions

(usa Nenhuma)

Enviado em 03/03/2021 - 23:05h


Achei um link legal...

https://stackoverflow.com/questions/28195805/running-notify-send-as-root

Só que não envia para o outro usuário da maquina local.

Acho que esta relacionado a identificação do DISPLAY dos usuários.

Se tiver 20 usuários vai aparecer 20 x na tela do usuário que esta rodando o script o aviso.



8. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 04/03/2021 - 00:24h


printf "\nMensagem enviada as: %()T\nConfirme." > /dev/pts/1

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________




9. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Morpheus
Minions

(usa Nenhuma)

Enviado em 04/03/2021 - 01:04h


msoliver escreveu:


printf "\nMensagem enviada as: %()T\nConfirme." > /dev/pts/1





# notify-send 'OS- Archlinux x86_64 : DWM Window Manager' 'Installed on Sun Apr 21 2013 at 18:17:22' > /dev/tty2 # Aqui não funciona

# printf "\nMensagem enviada as: %()T\nConfirme." > /dev/tty2 # Vai para o outro usuário na tela preta do ctrl+alt+f2, não aparece no desktop dele o aviso via notify-send.




10. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Paulo
paulo1205

(usa Ubuntu)

Enviado em 04/03/2021 - 02:18h

Nosso colega Leandro, acima, já deu a sugestão que eu vim dar aqui: usar o wall para notificar automaticamente todos os usuários que estiverem logados na máquina e com um terminal ativo, o que inclui, por exemplo, usuários conectados no console de texto, terminais seriais ou por rede através de SSH.

Ao contrário do que ele disse, no entanto, o wall pode, sim fazer com que notificações apareçam para quem está no ambiente gráfico, se houver algum processo que fique como listener desse tipo de notificação. Não sei no Gnome, mas o KDE tem o serviço kded, que pode escutar comunicações de wall, write, shutdown e outros que usem o mesmo mecanismo.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


11. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

Morpheus
Minions

(usa Nenhuma)

Enviado em 04/03/2021 - 09:29h


paulo1205 escreveu:

Nosso colega Leandro, acima, já deu a sugestão que eu vim dar aqui: usar o wall para notificar automaticamente todos os usuários que estiverem logados na máquina e com um terminal ativo, o que inclui, por exemplo, usuários conectados no console de texto, terminais seriais ou por rede através de SSH.

Ao contrário do que ele disse, no entanto, o wall pode, sim fazer com que notificações apareçam para quem está no ambiente gráfico, se houver algum processo que fique como listener desse tipo de notificação. Não sei no Gnome, mas o KDE tem o serviço kded, que pode escutar comunicações de wall, write, shutdown e outros que usem o mesmo mecanismo.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)




wall não funcionou com notify-send


12. Re: Usar notify-send pelo Root enviando para todos usuarios do sistema da maquina

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 04/03/2021 - 09:35h


Minions escreveu:


paulo1205 escreveu:

Nosso colega Leandro, acima, já deu a sugestão que eu vim dar aqui: usar o wall para notificar automaticamente todos os usuários que estiverem logados na máquina e com um terminal ativo, o que inclui, por exemplo, usuários conectados no console de texto, terminais seriais ou por rede através de SSH.

Ao contrário do que ele disse, no entanto, o wall pode, sim fazer com que notificações apareçam para quem está no ambiente gráfico, se houver algum processo que fique como listener desse tipo de notificação. Não sei no Gnome, mas o KDE tem o serviço kded, que pode escutar comunicações de wall, write, shutdown e outros que usem o mesmo mecanismo.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)




wall não funcionou com notify-send

Acho q teria de instalar o kded







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts