[Ubuntu-BR] Scripts de logon e logoff

luciano de souza luchyanus em gmail.com
Segunda Setembro 28 16:00:29 UTC 2015


Sua resposta foi muito mais profunda do que imaginei que pudesse vir a ser!

Você mencionou que comandos de montagem não devem ser colocados em
rc.local. Pois sabe que é justamente isso o que eu tinha feito? Você
mencionou o fato apenas por questão de elegância, isto é, uma vez que
se invocou o comando de montagem, é relevante invocar o comando oposto
ou há mesmo algum dano se eu não os desmontar antes do desligamento?

Muito obrigado. Tentarei em casa e volto cá para dizer os resultados.

Em 28/09/15, hamacker<sirhamacker em gmail.com> escreveu:
> 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 <luchyanus em gmail.com>
> 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
>


-- 
Luciano de Souza



Mais detalhes sobre a lista de discussão ubuntu-br