Execute o script shell na inicialização ou inicialização

Execute o script shell na inicialização ou inicialização

Resumindo, meu problema é que preciso executar um script toda vez que uso meu computador, por isso estou tentando automatizar um pouco o processo.

Meu sistema possui a placa nvidia gt540m vga. O cartão é duplo. Ele tem uma placa de última geração para tarefas exigentes e usa a placa integrada de baixo custo para todo o resto.

No momento, o Ubuntu não suporta este tipo de placa VGA, e alimenta ambos o tempo todo, quando usa apenas o integrado.

Isso resulta em uma vida útil muito baixa da bateria.

Eu sou bastante novo no Ubuntu, então tive que seguir vários tutoriais antes de encontrar um script para resolver o problema.

Baixei uma pasta acpi_call para o diretório /home/anpel, e com os seguintes comandos, mato o cartão:

cd /acpi_call
sudo insmod acpi_call.ko
sudo ./test_off.sh

O próximo passo, como eu tive que executar manualmente os comandos toda vez que inicializei, foi criar um script de shell na minha área de trabalho, que eu executo, ele solicita minha senha e, após fornecê-la, mata meu cartão. O script fica assim:

cd ~/acpi_call
sudo insmod acpi_call.ko
sudo ./test_off.sh
echo VGA card dead
exit

Agora, estou tentando fazer com que meu sistema execute esse script sempre que meu computador inicializar, para não precisar fazer isso manualmente todas as vezes.

Não tenho experiência para mudar nada em meu sistema sem pelo menos alguma orientação, porque acho muito provável que eu estrague tudo e não tenho ideia de como limpar minha bagunça, então realmente não tentei qualquer coisa, mas estou lendo que adicionar meu script ao arquivo /etc/rc.local fará o trabalho.

Isso é verdade ou há algo mais que devo tentar?

---- EDITAR-----

Eu uso o Ubuntu 11.10, desculpe por não mencionar isso.

Responder1

O local correto para scripts que serão executados na inicialização é chamar o script de /etc/rc.local

Os comentários no arquivo resumem:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

Responder2

Você pode executar seu arquivo de script como um aplicativo de inicialização (Sistema - Preferências - Aplicativos de inicialização no Ubuntu 10.04 LTS - não tenho certeza de onde está o equivalente em 11.10).

Por exemplo, para executar o inosyncutilitário na inicialização, adicionei uma entrada em Aplicativos de inicialização com

Name=inosync
Command=/home/toaster/inosync.sh
Comment=Mirror DataDisk to Barracuda_01 

O arquivo de script bash inosync.shdeve estar habilitado para execução. Isso pode ser feito usando sudo nautiluso Terminal, navegando até o arquivo, clicando com o botão direito e selecionando Propriedades, indo até a aba Permissões e marcando "Permitir execução do arquivo como um programa".

informação relacionada