Executar script no reboot/shutdown

1. Executar script no reboot/shutdown

Werner Ariel de Oliveira
trameiro

(usa Manjaro Linux)

Enviado em 22/07/2019 - 04:30h

Pessoal, quero executar um script no momento em que reinicio/desligo meu pc porém, estou tendo dificuldades pra conseguir isso. Alguém pode me dar uma luz?
Uso Manjaro e o script é:
#!/bin/bash
gnome-shell-extension-tool -d blyr@yozoon.dev.gmail.com

Olhei em vários lugares coisas sobre systemd e mesmo assim não estou conseguindo.


  


2. Re: Executar script no reboot/shutdown

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/07/2019 - 08:36h

O systemd é bom para executar tarefas agendadas para manutenção dos sistema.

Não adianta querer executar um script como seu usuário pois o systemd
ainda não suporta exec como user. Só daqui há $RANDOM days, segundo
um tópicos que li recentemente... E olha que o systemd nem carrega as
variáveis de ambiente do sistema antes de executar os scripts na inicialização!
E no desligamento, acredito que ele execute os scripts depois que os usuários
estejam logados para fora do sistema...

Mas eu vejo que você quer desabilitar algum plugin com o comando
"gnome-shell-extension-tool -d"
Se o plug-in está causando problemas, não tem um outro plugin alternativo?

Se você usa o botão de desligar do menu, você poderá editar o comando
para o desligamento. No meu caso, eu poderia fazer isso com

Normal:
xfce4-session-logout --halt --fast 


Personalizado:
gnome-shell-extension-tool -d blyr@yozoon.dev.gmail.com  && xfce4-session-logout --halt --fast 



Se você usa "shutdown -h now" na shell, pode criar um atalho de Bash (alias) no seu ~/.bashrc , do tipo:

alias shutdown="gnome-shell-extension-tool -d blyr@yozoon.dev.gmail.com && sudo shutdown -h now" 



Porém, dependendo do seu gerenciador de sessões, ele pode ter a função
de execução de Scripts no log-in e no log-out.
Que executa scripts no log out, eu conheço só o LightDM:
https://ubuntuforums.org/showthread.php?t=1918649

Outros ( mas só exec scripts no login):
https://unix.stackexchange.com/questions/450835/how-to-execute-command-before-user-login-on-linux

Mas tem uma pergunta muito importante aqui: Por que você quer executar esse script antes de fazer o log-out???


3. Re: Executar script no reboot/shutdown

Werner Ariel de Oliveira
trameiro

(usa Manjaro Linux)

Enviado em 22/07/2019 - 17:06h

Se o plug-in está causando problemas, não tem um outro plugin alternativo?

Não encontrei nenhuma outra extensão que seja desse tipo.

Se você usa o botão de desligar do menu, você poderá editar o comando
para o desligamento. No meu caso, eu poderia fazer isso com

Normal:
xfce4-session-logout --halt --fast 


Personalizado:
gnome-shell-extension-tool -d blyr@yozoon.dev.gmail.com  && xfce4-session-logout --halt --fast 

Uso o botão de desligar sim mas, não sei como modificar ele do jeito que disse que da pra fazer no xfce. E normalmente não desligo via terminal.

Porém, dependendo do seu gerenciador de sessões, ele pode ter a função
de execução de Scripts no log-in e no log-out.
Que executa scripts no log out, eu conheço só o LightDM:
https://ubuntuforums.org/showthread.php?t=1918649

Já havia alterado o GDM pelo LightDM. Vi sobre execução de script no log-out do LightDM mas, mesmo assim o script não roda.

Mas tem uma pergunta muito importante aqui: Por que você quer executar esse script antes de fazer o log-out???

É porque a extensão Blyr tem um bug que faz com que não funcione bem logo depois de logar no sistema, tendo que reiniciar ela ( https://i.imgur.com/MNWMT6Z.png após login. https://i.imgur.com/KdrGfNa.png após reiniciar extensão ). No caso estou querendo que ela seja desabilitada no momento em que desligo ou reinicio meu pc, tentei usar o autostart que tem no tweaks (porque também não consegui fazer script no login rsrs), mas por algum motivo só funciona um comando. O que uso logo no início da sessão é:

um script com
#!/bin/bash
gnome-shell-extension-tool -e blyr@yozoon.dev.gmail.com

e um arquivo .desktop dentro de
/home/werner/.config/autostart 
com
[Desktop Entry]
Name=Inicia Blyr
GenericName=Auto Start Scripts
Comment=Configuração de auto inicialização de scripts.
Exec=/home/werner/.config/autostart/inicia_blyr.sh
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true

Na real não sei bem o que fazer, mas importante é que isso funciona pra iniciar iniciar a extensão.

Mas por algum motivo não posso fazer autostart com dois arquivos separados pra desabilitar e habilitar no login, nem mesmo reiniciar (não sei porque não reinicia a extensão no login). E também, no autostart, não funciona o script com
#!/bin/bash
gnome-shell-extension-tool -d blyr@yozoon.dev.gmail.com && gnome-shell-extension-tool -e blyr@yozoon.dev.gmail.com



4. Re: Executar script no reboot/shutdown

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/07/2019 - 17:42h

Você usa o Menu do Whisker do XFCE?

Cheers!


5. Re: Executar script no reboot/shutdown

Werner Ariel de Oliveira
trameiro

(usa Manjaro Linux)

Enviado em 22/07/2019 - 23:17h

Você usa o Menu do Whisker do XFCE?

Uso gnome shell mesmo :x




6. Re: Executar script no reboot/shutdown

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/07/2019 - 00:34h

Não sei pq achei que vc usava o xfce.

Procurei aqui, e no gnome não tem um jeito fácil de fazer essa
modificação que sugeri anteriormente.

O mais fácil que eu consigo imaginar, é você usar um script para
realizar o desligamento.

Vamos criar um lançador de aplicativo e um atalho de teclado para
chamar ele com uma combinação de teclas.

Primero, criar os scripts em Bash.
Abra seu editor de texto favorito, por exemplo o Gedit,
e cole o seguinte código:

#!/bin/bash
gnome-shell-extension-tool -d blyr@yozoon.dev.gmail.com
systemctl poweroff


Salve em algum lugar, escolha o nome e adicione a extensão .sh
por exemplo, salve em ~/desligar.sh

Faça outro script para reiniciar:
#!/bin/bash
gnome-shell-extension-tool -d blyr@yozoon.dev.gmail.com
systemctl reboot


Salve como, por exemplo ~/reiniciar.sh

Agora é importante marcar os scripts como executáveis!

Navegue até a pasta que você os salvou, clique com o botão
direito do mouse, entre em Propriedades, vá até a aba Permissões
e marque a caixa "Permitir execução deste arquivo como programa"

Agora vamos criar um lançador de aplicativo para esse script.

Abra um editor de texto e cole o seguinte bloco de texto (mude as configurações
de acordo com os nomes e caminhos do jeito que está no seu computador)

[Desktop Entry]  
Version=1.0
Name=Desligar_personalizado
GenericName=Desligar
Comment=Script personalizado para desligamento
Exec=/home/[usuário]/desligar.sh
Terminal=true
#Icon=/caminho/para/icone #Opcional
Type=Application
MimeType=text/html;


Salve em
~/.local/share/applications/desligar.desktop
Observe que a pasta .local é oculta!

Se quiser, crie outro lançador para reiniciar.
Você deverá conseguir procurar e executar esses scripts como se fossem
aplicativos pelo menu de aplicativos do GNOME..
https://askubuntu.com/questions/37401/how-do-i-add-a-launcher-for-sh-applications

Agora, vamos criar os atalhos de teclado para você desligar
o computador sem tirar a mão do teclado:

Para definir um atalho de teclado para executar um aplicativo:
Navegue até o menu: Configurações [Teclado] para abrir a lista de Atalhos de teclado.
Clique em + na parte inferior da lista para criar um novo atalho.
Digite os seguintes detalhes na janela de "Adicionar Atalho Personalizado":
Adicione um nome para o seu atalho, por exemplo, Desligamento.
Digite o caminho que inicia o script. Por exemplo, /home/[usuário]/desligar.sh
Clique em "Configurar/Setar Atalho" para abrir a próxima janela para configurar um atalho do teclado.
Escolha e digite uma combinação, por exemplo Ctrl+Alt+D
Clique em Adicionar.
Seu atalho aparece em Atalhos personalizados e está pronto para uso.
https://docs.fedoraproject.org/en-US/quick-docs/proc_setting-key-shortcut/


7. Re: Executar script no reboot/shutdown

Werner Ariel de Oliveira
trameiro

(usa Manjaro Linux)

Enviado em 23/07/2019 - 22:05h

Segui a dica de criar atalho com teclado pra executar script. Não tinha pensado em fazer um atalho de teclado assim.
A extensão não irá desligar no momento em que estou desligando o pc mas, pelo menos, posso desligar ela logo antes de desligar o pc e isso já me basta.
Mesmo assim irei continuar essa "mineração" pra resposta, além de fazer com mais calma. Obrigado pela ajuda!


8. Re: Executar script no reboot/shutdown

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/07/2019 - 22:33h


Em qual momento durante o desligamento
você precisa que essa ação seja executada,
exatamente?


9. Re: Executar script no reboot/shutdown

Werner Ariel de Oliveira
trameiro

(usa Manjaro Linux)

Enviado em 24/07/2019 - 16:14h

Em qual momento durante o desligamento
você precisa que essa ação seja executada,
exatamente?


Provavelmente logo antes do SO iniciar o desligamento. Algo que, ao clicar em desligar, o script execute antes de tudo.
Considerando o que tentei fazer de script com o systemd tenha funcionado, esse comando não funciona mais depois que começa o desligamento.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts