Interação com /etc/rc.local

0

É comumente saber que, para algum script que está sendo executado após o login, é necessário escrever o caminho para o script em /etc/rc.local

Meu Raspberry Pi (OS - Raspbian Jessie) inicializa para o modo prompt e muitas mensagens são impressas, então, quando obtive o controle via linha de comando, tenho muitas linhas no meu monitor. Eu quero limpá-lo, como eu corro

clear

no prompt. Eu adicionei esta linha ao /etc/rc.local mas não tem efeito. Como posso limpar todas as linhas automaticamente após a inicialização? E por que, às vezes, os scripts não funcionam, mesmo que tenham sido adicionados ao /etc/rc.local , qual é a solução alternativa simples nesse caso?

    
por John 20.07.2017 / 09:33

1 resposta

3

It is commonly known that for some script being executed after logging in, one must write path to the script in /etc/rc.local.

Não, isso é falso e não é comumente conhecido. Além do fato de que /etc/rc.local é um mecanismo duplo de compatibilidade com versões anteriores para um sistema de bootstrap que foi substituído duas vezes, ou até três vezes, na maioria dos sistemas operacionais atuais, esse deve realmente ser esquecido; há também o detalhe de que /etc/rc.local não é executado após o login. /etc/rc.local nem sequer é executado conectado a um terminal com mecanismos de compatibilidade retroativa de alguns sistemas operacionais.

O que é executado após o login da TUI variar de acordo com o shell que você está usando e em qual modo você está usando. Os shells Bourne Again e Z fornecem muitos scripts de perfil, variando de acordo com os modos de compatibilidade que são invocados. Os shells Korn e Debian Almquist source /etc/profile e $HOME/.profile . Para as conchas C, é /etc/csh.login , $HOME/.login , et al ..

Mas, embora você possa colocar um clear em algum lugar lá, eles não são exatamente o que você deseja; porque isso não limpa o terminal antes de exibir o prompt de login, deixando-o com um terminal limpo que tem o prompt de login no topo pronto para você fazer o login.

Ironicamente, o mundo quer que você limpe sua tela e se esforça bastante para forçá-lo a fazê-lo. Seu sistema passou por algum tempo para desativar tudo isso. Para iniciantes: Você deve ter usado opções não padrão para parar, por exemplo, mingetty de limpar o terminal antes de emitir o prompt de login, que é seu comportamento padrão. Você deve ter desativado as configurações do systemd que redefinem e desalocam os dispositivos de terminal para serviços de logon do terminal também.

Assim, o caminho mais fácil para o que você deseja é ativar pelo menos um deles novamente. Retire a opção --noclear para mingetty . Use TTYReset=yes . ☺

Leitura adicional

por 20.07.2017 / 12:39