Criando scripts

3

Estou seguindo o conselho da LessWatts para diminuir o consumo de bateria com os seguintes comandos:

mount -o remount,noatime /
hdparm -B 1 -S 12 /dev/sda
echo 3000 > /proc/sys/vm/dirty_writeback_centisecs
iwconfig wlan0 power on
echo 10 > /sys/module/snd_hda_intel/parameters/power_save

A pergunta é: como configurá-los para iniciar automaticamente com o início do sistema?

    
por Venem 26.02.2013 / 17:10

1 resposta

7

Acredito que você pode usar o /etc/rc.local para um script de inicialização raiz.

Primeiro, copie todos os comandos em um arquivo de texto e, em seguida, anexe esta linha no topo do arquivo:

#!/bin/bash

salve-o em algum lugar, talvez o diretório de sua casa. (/home/user/battery-script.sh)

Em seguida, torne-o executável, no terminal:

$ chmod +x /home/user/battery-script.sh

Agora no terminal:

$ gksudo gedit /etc/rc.local

Agora, antes da linha exit 0 , escreva o caminho para o seu script. (/home/user/battery-script.sh) Certifique-se de que exit 0 é depois de todo o resto, senão ele sairá antes de executar os comandos.

Agora, apenas para ter certeza de quando o script é executado, você provavelmente desejará adicionar um comando xmessage para que uma mensagem seja exibida quando for executada.

xmessage -center "Battery script run in /etc/rc.local"

verifique se está antes do exit 0 .

Agora, reinicie para testar para garantir que ele seja executado na inicialização e, em seguida, você poderá remover a linha xmessage se ela for satisfatória.

Se isso não funcionar por algum motivo, você pode voltar ao gerenciador de início automático do GNOME. Isso envolve a edição do arquivo sudoers para permitir acesso root ao seu script sem uma senha. Vamos editar as permissões e propriedade do arquivo para não criar uma falha de segurança.

Primeiro, mova o script inteiro para a pasta / bin /:

$ sudo mv battery-script.sh /bin/

defina a propriedade de raiz e as permissões que impedem que um usuário comum insira código malicioso para ser executado como root:

$ sudo chown root /bin/battery-script.sh
$ sudo chgrp root /bin/battery-script.sh
$ sudo chmod 555 /bin/battery-script.sh

Agora, é hora de editar o arquivo sudoers:

$ gksudo gedit /etc/sudoers

Vá para o final e adicione essa linha. Substitua $ USER pelo seu nome de usuário

$USER    ALL = NOPASSWD:/bin/battery-script.sh

Agora você pode executar o script sem uma senha ao usar o sudo.

Em seguida, abra Aplicativos de inicialização, clique em adicionar. Coloque qualquer coisa sob o nome, e sob o comando colocar:

sudo /bin/battery-script.sh

É isso! Seu script será executado como root quando você inicializar, você pode adicionar uma linha no arquivo battery-script.sh echo > /home/user/it_works.txt (substitua por username) e esse arquivo será criado na próxima inicialização para que você possa ter certeza de que está funcionando, ou como mencionado anteriormente, você pode usar o xmessage.

    
por Matt 26.02.2013 / 17:50