Execute um script com interação do usuário no log out / desligamento? -- lightdm campo com logout campo com autostart camp askubuntu Relacionado O problema

Run a script with user interaction on log out / shutdown?


4
vote

problema

português

Eu gostaria de executar um script no desligamento, que interrompe o processo de logout e e aparece uma janela com zenity . Meu alvo é obter autofsck Trabalhando com o LightDM. Parece funcionar com 12,04 depois de instalar o arquivo antigo * .deb, se um executar o script de verificação manualmente. Para usá-lo, ele deve ser executado automaticamente no logout e perguntar ao usuário se ela quiser verificar o disco no desligamento.

Existe a opção session-cleanup-script no arquivo /etc/lightdm/lightdm.conf O que parece funcionar, se um arquivo bash com caminho completo for usado (não consigo colocar o comando diretamente ). Mas se eu pressionar o desligamento, não há tempo para uma escolha de usuário.

Existe alguma outra opção para resolver este problema?

Edit: Parece que também há outros problemas específicos com a AutoFsck. O script de limpeza da sessão é executado, mas o comando de verificação para o AutoFsck faz Executar.

english

I'd like to run a script on shut down, which interrupts the logout process and and pops up a window with zenity. My target is to get autofsck working with lightdm. It seems to work with 12.04 after installing the old *.deb file, if one runs the check script manually. In order to use it, it should run automatically on log out and ask the user if she/he wants to check the disc on shutdown.

There is the option session-cleanup-script in the file /etc/lightdm/lightdm.conf which seems to work, if a bash file with full path is used (I can't place the command directly there). But if I press shutdown, there is no time for a user choice.

Is there any other option to solve this problem?

Edit: It seems as if there are also other problems specificially with AutoFsck. The session clean up script runs, but the check command for AutoFsck does not run.

        

Lista de respostas

1
 
vote

Eu acredito que sua pergunta de desligamento / desligamento é (mais ou menos) respondeu aqui:

  • scripts de logout: não concluído no desligamento, reinicializar

Ao olhar para a (s) resposta (s), eu gostaria de ajustar / elaborar / resumir você provavelmente precisará de ambos, para usar o script de limpeza de sessão, tal que X não morrerá antes que você possa responder e executar o trabalho e um novo, pequeno abcdefghijklmn/etc/init.d/ script a um nível de execução alto o suficiente para 'block' desligamento até que seu script de limpeza de sessão invocado script autofsck seja concluído.

Assim:

    .
  1. Adicionar à sessão-cleanup-script Definir um sinalizador via ' touch /etc/noreboot ' (ou similar) que é apagado pelo seu script de chamadas autofsck (oue remover / etc / noreeboot Quando não respondido, ou, se sim, removido somente após o AutoFsck for concluído) .

  2. Seu novo código ABCDEFGHIJKLMNABCDEFGHIJKLMN2 Script deve verificar a existência de / etc / noreboot e se ele existir, verifique novamente a cada segundo ou dois em um loop enquanto o arquivo for removido. Uma vez que não existe, o script pode concluir e permitir que o restante do processo de desligamento continue. Mais uma vez, a chave aqui é garantir que o script init.d seja executado antes do desligamento LightDM ou qualquer outro shutdown é executado.

Como x ainda deve estar em execução enquanto o script de verificação ABCDEFGHIJKLMN4 Verificar, você também pode enviar uma mensagem X para a tela dizendo que o desligamento é bloqueado aguardando a remoção do arquivo. Esta pequena mensagem de incômodo pode ser útil se o arquivo /etc/noreboot não for apagado por algum motivo, impedindo seu sistema de um desligamento gracioso.

 

I believe your shutdown/powerdown question is (more-or-less) answered here:

  • Logout scripts: not completed on shutdown, reboot

When looking at the answer(s) provided there, I would like to tweak/elaborate/summarize you probably need both, to use the session-cleanup-script such that X will not die before you can respond and run the job, and a new, smallish /etc/init.d/ script at a high enough run level to 'block' shut down until your session-cleanup-script invoked AutoFsck script completes.

Thus:

  1. Add to session-cleanup-script setting a flag via 'touch /etc/noreboot' (or similar) that is cleared by your AutoFsck calling script (i.e. remove /etc/noreboot file when answered no, or, if yes, removed only after AutoFsck is completed).

  2. Your new /etc/init.d script must check for existence of /etc/noreboot and if it exists, check again every second or two in a while loop until the file is removed. Once /etc/noreboot is not existed, the script can complete and allow the rest of the shutdown process to continue. Again, the key here is to make sure the init.d script runs before the lightdm shutdown or any other X shutdown runs.

Since X should still be running while the /etc/noreboot check script in init.d is running, you can also send an X message to the screen saying that shutdown is blocked awaiting removal of the file. This little nuisance message might come in handy if the /etc/noreboot file is not cleared for some reason, preventing your system from a graceful shutdown.

 
 

Perguntas relacionadas

4  Como faço um aplicativo comece apenas no xfce?  ( How do i make an application start only in xfce ) 
Eu gostaria de ter um aplicativo (provavelmente awn ou envelhecido) comece apenas no XFCE, e não no KDE ou na Unidade / Gnome. Isso é possível? Em caso afirma...

3  Adicionar aplicativo ao AutoStart [duplicado]  ( Add application to autostart ) 
. Esta pergunta já tem respostas aqui : Como faço para iniciar os aplicativos automaticamente no logi...

22  Como posso iniciar um servidor VNC antes de fazer logon?  ( How can i start a vnc server before log on ) 
Eu gostaria de executar x11vnc (ou outro servidor VNC) na minha área de trabalho, mas não consigo encontrar uma maneira de iniciá-lo para iniciar antes de qua...

1  Posso conectar-me a executar o Script Python AutoStart?  ( Can i connect to running autostart python script ) 
Eu estou executando o LUBUNTU 13.10 Um script Python que é executado na inicialização através ~/.config/lxsession/Lubuntu/autostart . O script inicia um apli...

9  Como desligar o Ubuntu depois (2 horas) de ocioso?  ( How to shutdown ubuntu after 2 hours of idle ) 
em execução: xubuntu 14.04 32bit. Eu li vários desatualizados, não trabalhando, trabalhando diferente que quero respostas aqui e em outro lugar. Eu tinha um...

5  Melhore o desempenho do sistema parando doseemons / serviços  ( Improve system performance by stopping daemons services ) 
. Eu estou tentando melhorar o desempenho do meu sistema removendo algum daemon / serviços. no meu desktop pc Eu preciso parar alguns daemons / serviços ...

4  Por que este aplicativo não inicia quando eu fizer login?  ( Why wont this application start when i log in ) 
Eu tenho um arquivo em ~/.config/autostart/ que se parece com isto: [Desktop Entry] Type=Application Exec=python ~/Documents/StackApplet/stackapplet.py I...

5  Desativar touch-pad enquanto digita não funciona em Lubuntu  ( Disable touch pad while typing doesnt work in lubuntu ) 
Desativar touch-pad enquanto digita não funciona no mais recente Lubuntu. Até agora eu tentei duas soluções, não deles trabalhou: . Adicionando ABCDEFGHIJK...

5  LUBUNTU: Como faço o AutoStart XFCE4 Power Manager?  ( Lubuntu how do i autostart xfce4 power manager ) 
Acabei de atualizar meu Lubuntu 1 de 64 bits para 13,10 no meu netbook hoje. Após a atualização, simplesmente não posso automatizar o gerenciador de energia x...

6  Prevenindo a daemon de transmissão do início automático?  ( Preventing transmission daemon from auto start ) 
no Xubuntu 14.04 Eu instalei o pacote de transmissão de pacotes. Parece começar automaticamente quando eu começar o computador. É possível evitar que isso aco...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.