Iniciar um programa através do rc.local é uma opção interessante, não por
acaso, o rc.local é executado por ultimo, isto é, depois de iniciar todos
os serviços, daí vem o rc.local.
Mas é limitado, por exemplo, se você coloca comandos de montagem, você
deveria desmontá-las ou dar frush (commit do cache) quando o computador
inicia o processo de desligamento, ou deseja que algo seja inequivocamente
disparado e fique rodando o período que o computador estiver ligado, então
neste caso você precisa criar um script especial de inicialização que será
exclusivo para o proposito desejado.
Se for isso, então crie um script em /etc/init.d (sim, é o mesmo lugar do
rc.local)
<-------------- inicio ---------------->
#! /bin/sh
# /etc/init.d/meuscript
#
# A linha abaixo indicará que deverá rodar sempre
touch /var/lock/meuscript
# O sistema ou o usuário joga os parâmetros start ou stop e você processa
isso na seção abaixo
case "$1" in
start)
echo "Iniciando o script meuscript"
echo "Acrescente os comandos a serem executados aqui"
;;
stop)
echo "Parando o script meuscript"
echo "Acrescente os comandos que terminam seu script aqui"
;;
*)
echo "Como usar: /etc/init.d/meuscript {start|stop}"
exit 1
;;
esac
exit 0
<---------------- fim ------------------>
Então execute:
chmod a+x /etc/init.d/meuscript
update-rc.d meuscript defaults
E pronto, o script iniciar-se-a independente do rc.local com comandos que
colocou ali na seção start, e no momento do logout o proprio SO disparará
os comandos na seção stop.
Sugestão: como comandos de start poderá colocar um while e programar um
logoff quando determinado evento ocorrer como horário de almoço, termino de
expediente, etc... se usar um while atente-se para usar um 'sleep 1m' (1
minuto, mas pode ser mais tempo) no inicio ou fim do loop a fim de não
afogar a CPU com 100% e os eventos só serão observados de 1min em 1min e
não a cada ciclo de CPU o que poderá afogá-la em necessidade.
[]´s e sucesso.
Em 28 de setembro de 2015 03:55, luciano de souza <[email protected]>
escreveu:
> Caros,
>
> Desejo aprender a disparar scripts para os eventos de logon e logoff,
> nas seguintes situaçõeS:
> 1. Logon para todos os usuários;
> 2. Logon para um usuário específico;
> 3. Logoff para todos os usuários;
> 4. Logoff para um usuário específico.
>
> Hoje, sei apenas logon para todos os usuários, o que faço em
> /etc/rc.local, apesar de não saber se, inclusive esta, é a melhor
> opção.
>
> Utilizo Ubuntu 14.10.
>
> --
> Luciano de Souza
>
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>
--
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br