Estou tentando executar um script automaticamente nas seguintes circunstâncias:
Para conseguir isso e por curiosidade, estou estudando os scripts de inicialização em geral nos diferentes estágios do processo de inicialização. Minha pergunta específica parece exigir muito trabalho, dado que estou entendendo esses processos. Eu estou querendo saber se há uma maneira melhor e simples. Deixe-me explicar como eu entendo as coisas:
A maneira típica de executar algo quando o computador inicializa é usando /etc/init.d
; isso está longe do que eu preciso, já que é executado antes do login;
A maneira típica de executar algo quando o login ocorre, é usando
/etc/profile
ou mais apropriadamente, um script em /etc/profile.d
; isso não é o que eu preciso, porque todo usuário carregará o script que eu quero rodar e não executará por padrão sob um DE.
Uma maneira típica de executar algo quando um usuário específico efetua login em um shell é com ~/.profile
(ou equivalente, dependendo do shell subjacente: ~/.bash_profile
, ~/.bash_login
, ~/.login
, etc). Isso é executado apenas para o usuário específico e é, em princípio, o que eu preciso. O problema é que, como acontece com /etc/profile
. esses scripts não são executados em "logins de sessão" em ambientes de desktop.
Naturalmente, é possível usar os recursos de um ambiente de área de trabalho específico para executar um script. Mas isso não é portátil em todas as distribuições, não é o que eu quero. Por exemplo, no Ubuntu, é possível criar um arquivo .desktop
e colocá-lo em ~/.config/autostart
. Mas assim que alguém quiser experimentar uma distro diferente, a solução é quebrada. Além disso, eu li aqui: link sobre a falta de segurança de executar etc / profile sob DE, para que não é uma ótima solução.
Portanto, parece não haver lugar óbvio para realizar o que eu preciso. As perguntas são:
Tags login init-script