Script específico do usuário no login independente do manipulador de login

2

Estou tentando executar um script automaticamente nas seguintes circunstâncias:

  1. Um usuário específico faz login.
  2. Independentemente de como o usuário está efetuando login: seja através do shell, de uma sessão do ambiente de área de trabalho ou de outra coisa.

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:

  1. dado que os usuários são comuns a todos os formulários de login, existe algo em comum entre o login do shell e o DE. Onde / o que é esse script / comando?
  2. Se a resposta para 1 não é nada, gostaria de perguntar: uma vez que parece óbvio que gostaríamos de um lugar / script onde possamos executar tarefas que sejam independentes do front-end de login, por que não existe?
por nixahn 29.11.2014 / 20:07

0 respostas