在启动或启动时运行shell脚本

简而言之,我的问题是每次我使用计算机时都必须运行一个脚本,所以我试图让这个过程自动化一点。

我的系统有nvidia gt540m vga卡。 这张卡是双重的。 它有一个高端卡用于要求苛刻的任务,它使用低端板载卡用于其他一切。

Ubuntu目前不支持这种类型的vga卡,并且只在使用板载卡时,它始终为它们供电。

这导致电池寿命非常短。

我对ubuntu很新,所以在实际找到解决问题的脚本之前,我必须遵循大量的教程。

我将一个acpi_call文件夹下载到目录/ home / anpel,并使用以下命令,我杀了卡:

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

下一步,因为我每次启动时都必须手动运行命令,就是在我的桌面上创建一个shell脚本,我运行它,它会提示我输入密码,然后提供它后,它会杀死我的卡。 脚本如下所示:

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

现在,我每次计算机启动时都会尝试让系统运行此脚本,因此我不必每次都手动执行此操作。

如果没有至少一些指导,我没有经验可以改变我的系统,因为我认为我很可能会搞砸一切,我不知道如何清理我的混乱,所以我没有真正尝试过什么,但我读到将我的脚本添加到/etc/rc.local文件将完成工作。

这是真的还是还有其他我必须尝试的东西?

—-编辑—–

我使用ubuntu 11.10,抱歉没有提到。

您可以将脚本文件作为启动应用程序运行(系统 – 首选项 – Ubuntu 10.04 LTS中的启动应用程序 – 不确定11.10中等效项的位置)。

例如,要在启动时运行inosync实用程序,我在启动应用程序中添加了一个条目

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

必须启用bash脚本文件inosync.sh才能执行。 这可以使用终端中的sudo nautilus ,导航到文件,右键单击并选择“属性”,转到“权限”选项卡,然后选中“允许将文件作为程序执行”来实现。

要在启动时运行的脚本的正确位置是从/etc/rc.local调用脚本

文件中的评论总结如下:

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