
Kurz gesagt besteht mein Problem darin, dass ich bei jeder Verwendung meines Computers ein Skript ausführen muss. Deshalb versuche ich, den Vorgang ein wenig zu automatisieren.
Mein System hat die Nvidia GT540M VGA-Karte. Die Karte ist dual. Es hat eine High-End-Karte für anspruchsvolle Aufgaben und verwendet die Low-End-Onboard-Karte für alles andere.
Ubuntu unterstützt diesen Typ von VGA-Karte derzeit nicht und versorgt beide ständig mit Strom, wenn nur die integrierte Karte verwendet wird.
Dies führt zu einer sehr geringen Batterielebensdauer.
Ich bin ziemlich neu bei Ubuntu, also musste ich jede Menge Tutorials durcharbeiten, bevor ich tatsächlich ein Skript zur Lösung des Problems gefunden habe.
Ich habe einen acpi_call-Ordner in das Verzeichnis /home/anpel heruntergeladen und mit den folgenden Befehlen habe ich die Karte zerstört:
cd /acpi_call
sudo insmod acpi_call.ko
sudo ./test_off.sh
Da ich die Befehle bei jedem Booten manuell ausführen musste, bestand der nächste Schritt darin, ein Shell-Skript auf meinem Desktop zu erstellen. Ich führe es aus, es fordert mich zur Eingabe meines Passworts auf und löscht nach der Eingabe meine Karte. Das Skript sieht folgendermaßen aus:
cd ~/acpi_call
sudo insmod acpi_call.ko
sudo ./test_off.sh
echo VGA card dead
exit
Jetzt versuche ich, mein System dazu zu bringen, dieses Skript bei jedem Booten meines Computers auszuführen, sodass ich es nicht jedes Mal manuell tun muss.
Ich habe nicht die Erfahrung, ohne zumindest eine gewisse Anleitung irgendetwas an meinem System zu ändern, weil ich denke, dass die Wahrscheinlichkeit sehr hoch ist, dass ich alles durcheinanderbringe, und ich habe keine Ahnung, wie ich das Chaos wieder beseitigen soll. Ich habe also noch nichts wirklich versucht, aber ich habe gelesen, dass das Hinzufügen meines Skripts zur Datei /etc/rc.local die Arbeit erledigen soll.
Stimmt das oder muss ich noch etwas anderes versuchen?
---- BEARBEITEN -----
Ich verwende Ubuntu 11.10. Tut mir leid, dass ich das nicht erwähnt habe.
Antwort1
Der richtige Ort für Skripte, die beim Booten ausgeführt werden sollen, ist der Aufruf des Skripts aus /etc/rc.local
Die Kommentare in der Datei fassen es zusammen:
#!/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.
Antwort2
Sie könnten Ihre Skriptdatei als Startanwendung ausführen (System – Einstellungen – Startanwendungen in Ubuntu 10.04 LTS – nicht sicher, wo das Äquivalent in 11.10 ist).
Um das Dienstprogramm beispielsweise inosync
beim Booten auszuführen, habe ich einen Eintrag in Startanwendungen mit hinzugefügt
Name=inosync
Command=/home/toaster/inosync.sh
Comment=Mirror DataDisk to Barracuda_01
Die Ausführung der Bash-Skriptdatei inosync.sh
muss aktiviert sein. Dies erreichen Sie, indem Sie sudo nautilus
im Terminal zur Datei navigieren, mit der rechten Maustaste klicken und Eigenschaften auswählen, zur Registerkarte Berechtigungen gehen und „Ausführen der Datei als Programm zulassen“ aktivieren.