Como executar o comando antes do login do usuário no linux

2

Essa é uma pergunta que eu já vi várias vezes para vários sabores do Linux, então vamos tentar ser exaustivos.
Qual é o método para executar script / comando / programa antes e depois do login do usuário na sessão destop?

    
por Kiwy 20.06.2018 / 12:39

1 resposta

4

Introdução

Para executar um programa em ambiente gráfico antes que um usuário logado em um ambiente gráfico dependa do seu gerenciador de exibição. Um gerenciador de exibição é responsável por fornecer uma interface de login e configurar seu ambiente gráfico, uma vez logado.
os mais importantes são os seguintes:

  • O GDM é o gerenciador de exibição do GNOME.
  • O LightDM é um gerenciador de exibição de desktop, pode usar vários front-ends escritos em qualquer kit de ferramentas.
  • LXDM é o gerenciador de exibição do LXDE, mas independente do ambiente de área de trabalho do LXDE.
  • O SDDM é um gerenciador de exibição moderno para o X11 e o Wayland, com o objetivo de ser rápido, simples e bonito.

Vamos revisar como configurar a execução do comando quando o gerenciador de exibição aparecer antes de qualquer usuário efetuar login e como executar algo quando alguém finalmente estiver logado.

Se você não souber qual deles está em execução, consulte esta pergunta: Há um simples comando linux que me dirá qual é o meu gerenciador de exibição?

IMPORTANTE
Antes de começar, você irá editar o arquivo que, exceto se mencionar, execute o comando como root . Não remova coisas existentes nesses arquivos, exceto se você sabe o que está fazendo e tenha cuidado com o que você colocou nesses arquivos. Isso pode remover sua capacidade de fazer login.

GDM

Cuidado com o GDM, ele executará todo o script como root , um código de erro diferente de 0 poderá limitar sua capacidade de login e o GDM aguardará até que seu script termine de torná-lo irresponsável enquanto o comando for executado. br> Para obter uma explicação completa, leia a documentação .

Antes do login

Se você precisar executar comandos antes de um usuário conectado, poderá editar o arquivo:
/etc/gdm3/Init/Default .
Este arquivo é um script de shell que será executado antes que o gerenciador de exibição seja exibido para o usuário.

Após o login

Se você precisar executar as tarefas depois que um usuário tiver efetuado login, mas antes que sua sessão tenha sido inicializada, edite o arquivo:
/etc/gdm3/PostLogin/Default Se você deseja executar o comando após a sessão de inicialização da sessão (env, ambiente gráfico, login ...) edite o arquivo:
/etc/gdm3/PreSession/Default

LightDM

Eu vou falar sobre lightdm.conf e não sobre /etc/lightdm.conf.d/*.conf. Você pode fazer o que quiser, o importante é conhecer as opções que você pode usar. Tenha cuidado com lightDM, você já poderia ter vários outros scripts começando você deve ler precisamente o seu arquivo de configuração antes de editá-lo. também a ordem em que você coloca esse script pode influenciar a maneira como a sessão é carregada.

Antes do login

O LightDM funciona um pouco diferente dos outros, você colocará opções nos principais arquivos de configuração para indicar o script que será executado.
Edite o arquivo conf lightDM principal:
/etc/lightdm/lightdm.conf
adicione uma linha greeter-setup-script=/my/path/to/script
Este script será executado quando o lightDM mostrar a interface de login.

Após o login

Você pode editar /etc/lightdm/lightdm.conf mais uma vez e adicionar uma linha:
session-setup-script=/script/to/start/script
Isso executará o script como root depois que um usuário tiver efetuado login com êxito.

LXDM

Antes do login

Se você deseja executar o comando antes de qualquer usuário, você pode editar o script de shell:% /etc/lxdm/LoginReady

Após o login

Se você quer executar o comando depois de alguém logado, mas como root, você pode editar o script de shell:
/etc/lxdm/PreLogin
E se você quiser executar o comando como usuário conectado, poderá editar o script:% /etc/lxdm/PostLogin

SSDM

Não foi possível encontrar informações adequadas sobre isso ... Sinta-se à vontade para editar esta parte.

    
por 20.06.2018 / 12:39