Após a atualização para o 16.04, o LTS rc.local não está executando um comando


21

Na versão instalada anterior, kubuntu 15.xx, adicionei uma linha /etc/rc.local- /home/diet/scripts/my-auto-mount-scriptque obviamente se refere a um script que, se estiver em unidades de rede wifi domésticas, deve ser montado.

Isso funcionou perfeitamente no kubuntu 15.xx

Após a atualização, parece que /etc/rc.localestá sendo ignorado na inicialização, porque a execução do comando /etc/rc.localainda parece fazer o truque. A razão pela qual acho que o rc.local está sendo ignorado é porque o script ao qual ele se refere deve produzir logs com êxito, mas também com falha no script, mas não há logs.

Alguém pode me dar algumas dicas sobre como solucionar esse problema?

PS: sim, eu sei que colocar coisas /etc/fstabtambém é uma maneira de montar as unidades, mas quando não estou em casa, odeio poder ver as unidades no golfinho e ter aquelas pequenas cruzes vermelhas porque não estão lá . Dessa forma, quando estou na estrada (é um laptop), as pessoas não conseguem ver o que tenho em casa.


Respostas:


24

O Ubuntu agora está usando o systemd e o rc.local agora é considerado um serviço que está desativado por padrão. Você pode ativar o rc.local digitando o seguinte comando e reiniciando:

sudo systemctl enable rc-local.service

Muito obrigado por reservar um tempo para me fornecer uma solução! Eu também encontrei uma solução que adicionando o script a ./.config/autostart-scripts/ também executa o script na inicialização!
Diet Bos

O comando sysemctl funciona para mim. Observe também que isso é diferente dos scripts do usuário em ~ / .config / autostart-scripts, pois o /etc/rc.local deve ser executado no momento da inicialização, antes que qualquer usuário efetue login. Observe que quaisquer erros no script rc.local podem causar esse problema. parar; scan / var / syslog para rc.local, você acha que não funciona para você.
djb

1
E o systemd não suporta uma "maneira oficial" de executar scripts na inicialização? Como rc.local foi?
Cirelli94

4

apenas mude isso

chmod 755 /etc/init.d/rc.local

nano /etc/rc.local 

mude isso na primeira linha

#!/bin/sh -e

para

#!/bin/bash 

salve e divirta-se!


Perfeito, o combo com a resposta anterior funcionou para mim (16.04)
Yuriy Polezhayev

Esta resposta funcionou para mim, em vez da anterior, porque o Ubuntu 14.04 não possui systemctl
franksands 18/07
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.