Ejecute el script de shell al iniciar o arrancar

Ejecute el script de shell al iniciar o arrancar

En pocas palabras, mi problema es que tengo que ejecutar un script cada vez que uso mi computadora, así que estoy tratando de automatizar un poco el proceso.

Mi sistema tiene la tarjeta vga nvidia gt540m. La tarjeta es dual. Tiene una tarjeta de gama alta para tareas exigentes y utiliza la tarjeta integrada de gama baja para todo lo demás.

Ubuntu en este momento no admite este tipo de tarjeta vga y las alimenta a ambas en todo momento, cuando solo se usa la integrada.

Esto da como resultado una vida útil de la batería muy baja.

Soy bastante nuevo en Ubuntu, así que tuve que seguir un montón de tutoriales antes de encontrar un script para resolver el problema.

Descargué una carpeta acpi_call al directorio /home/anpel, y con los siguientes comandos, cierro la tarjeta:

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

El siguiente paso, dado que tenía que ejecutar manualmente los comandos cada vez que arrancaba, fue crear un script de shell en mi escritorio, que ejecuto, me solicita mi contraseña y, después de proporcionarla, mata mi tarjeta. El guión se ve así:

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

Ahora, estoy tratando de hacer que mi sistema ejecute este script cada vez que arranca mi computadora, para no tener que hacerlo manualmente cada vez.

No tengo la experiencia para cambiar nada en mi sistema sin al menos alguna orientación, porque creo que es muy probable que arruine todo y no tengo idea de cómo limpiar mi desorden, así que realmente no lo he intentado. cualquier cosa, pero estoy leyendo que agregar mi script al archivo /etc/rc.local hará el trabajo.

¿Es eso cierto o hay algo más que tengo que probar?

---- EDITAR -----

Yo uso ubuntu 11.10, perdón por no mencionarlo.

Respuesta1

El lugar correcto para los scripts que se ejecutarán en el arranque es llamar al script desde /etc/rc.local

Los comentarios en el archivo lo resumen:

#!/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.

Respuesta2

Puede ejecutar su archivo de secuencia de comandos como una aplicación de inicio (Sistema - Preferencias - Aplicaciones de inicio en Ubuntu 10.04 LTS; no estoy seguro de dónde está el equivalente en 11.10).

Por ejemplo, para ejecutar la inosyncutilidad al iniciar, agregué una entrada en Aplicaciones de inicio con

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

El archivo de script bash inosync.shdebe estar habilitado para ejecutarse. Esto se puede lograr usando sudo nautilusen Terminal, navegando hasta el archivo, haciendo clic derecho y seleccionando Propiedades, yendo a la pestaña Permisos y marcando "Permitir ejecutar el archivo como un programa".

información relacionada