Lista de scripts (locais) que são executados automaticamente e quando?

Lista de scripts (locais) que são executados automaticamente e quando?

Alguém sabe (de uma lista de recursos) quais scripts são executados automaticamente e quando, desde o momento em que inicializo o computador até ele ser desligado novamente.

Conheço vários lugares onde posso adicionar scripts para execução automática, mas nunca consegui descobrir uma lista mais ou menos completa.

Por exemplo, eu conheço estes:

  • ~/.profileé executado no login
  • Posso usar crontab -epara adicionar scripts que serão acionados em determinados horários e/ou datas

Mas não consigo descobrir onde colocar os scripts para que sejam executados

  • após a inicialização, antes do X ser inicializado
  • depois que o X (ou outro shell gráfico) for inicializado, mas antes que alguém esteja logado
  • depois de fazer login em uma sessão X
  • antes/depois da troca rápida de usuário
  • antes de sair de uma sessão X
  • antes do desligamento no shell X
  • após o desligamento do X, antes da parada do sistema
  • após o login/antes do logout via tty-1..6
  • após o login/antes do logout via SSH

Existe essa lista? Se não, podemos montar um aqui?

Responder1

Para Ubuntu Linux temos a solução como:

  1. Após a inicialização, antes do X ser inicializado:Ubuntu inicia o X-Windows a partir do GDM (aqueles que usam o ubuntu-desktop) ou do KDM (aqueles que usam o kubuntu-desktop)

    Para executar um script anterior ao GDM/KDM, você deve escrever seu próprio script inicial. Para isso, você pode lerLivro de receitas para iniciantes.

  2. Após a troca de usuário:Você tem que adicionar o script no ~/.bashrcarquivo.

  3. Após fazer login via tty:Você tem que adicionar o script no ~/.bash_profilearquivo.

  4. Após o login usando ssh, mas não durante o login local usando tty:Neste caso também você deve adicionar o script no mesmo ~/.bash_profilearquivo, mas neste caso, teste a presença da SSH_CONNECTIONvariável de ambiente e só execute os comandos se descobrir que ela existe.

  5. Antes de sair via tty:Você tem que adicionar o script no ~/.bash_logoutarquivo.

  6. Antes de sair via ssh:Você tem que adicionar o script no ~/.bash_logoutarquivo, mas neste caso também, teste a presença da SSH_CONNECTIONvariável de ambiente e só execute os comandos se descobrir que ela existe. No arquivo você deve adicionar a linha

    if [[ -n $SSH_CONNECTION ]]

Responder2

Se você estiver interessado em tarefas integradas do Linux, você também pode consultar os níveis de execução do Linux, que é o modo de operação que implementa a inicialização no estilo Unix System V.

  • 0 Halt Desliga o sistema.
  • 1 Modo de usuário único Modo para tarefas administrativas.
  • 2 Modo multiusuário Não configura interfaces de rede e não exporta serviços de rede.
  • 3 Modo multiusuário com rede Inicia o sistema normalmente.
  • 4 Não utilizado/Definível pelo usuário Para fins especiais.
  • 5 Inicie o sistema normalmente com o gerenciador de exibição apropriado. (com GUI) Como gerenciador de exibição de nível de execução 3 +.
  • 6 Reinicializar Reinicia o sistema.

Por exemplo, abaixo você pode ver uma lista parcial de processos Linux e suas configurações de nível de execução:

chkconfig --list
acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:off   4:off   5:off   6:off
auditd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
autofs          0:off   1:off   2:on    3:on    4:on    5:on    6:off
avahi-daemon    0:off   1:off   2:off   3:off   4:off   5:off   6:off
avahi-dnsconfd  0:off   1:off   2:off   3:off   4:off   5:off   6:off
.
.
.

informação relacionada