
簡而言之,我的問題是每次使用計算機時都必須運行腳本,因此我嘗試使該過程自動化一些。
我的系統有 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,抱歉沒有提到這一點。
答案1
要在啟動時運行的腳本的正確位置是從 /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.
答案2
您可以將腳本檔案作為啟動應用程式運行(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
在終端機中使用來實現,導航到文件,右鍵單擊並選擇“屬性”,轉到“權限”選項卡,然後選中“允許將文件作為程式執行”。