
간단히 말해서 내 문제는 컴퓨터를 사용할 때마다 스크립트를 실행해야 하므로 프로세스를 약간 자동화하려고 한다는 것입니다.
내 시스템에는 nvidia gt540m vga 카드가 있습니다. 카드는 듀얼입니다. 까다로운 작업을 위한 고급형 카드가 하나 있고, 그 밖의 모든 작업에는 저가형 온보드 카드를 사용합니다.
현재 Ubuntu는 이러한 유형의 vga 카드를 지원하지 않으며 온보드 카드만 사용할 때 항상 두 카드 모두에 전원을 공급합니다.
이로 인해 배터리 수명이 매우 짧아집니다.
저는 우분투를 처음 접했기 때문에 실제로 문제를 해결하기 위한 스크립트를 찾기 전에 수많은 튜토리얼을 따라야 했습니다.
acpi_call 폴더를 /home/anpel 디렉토리에 다운로드하고 다음 명령을 사용하여 카드를 종료합니다.
cd /acpi_call
sudo insmod acpi_call.ko
sudo ./test_off.sh
다음 단계는 부팅할 때마다 명령을 수동으로 실행해야 했기 때문에 데스크탑에 쉘 스크립트를 만드는 것이었습니다. 실행하면 비밀번호를 묻는 메시지가 표시되고 비밀번호를 제공한 후에는 카드가 종료됩니다. 스크립트는 다음과 같습니다.
cd ~/acpi_call
sudo insmod acpi_call.ko
sudo ./test_off.sh
echo VGA card dead
exit
이제 컴퓨터가 부팅될 때마다 시스템에서 이 스크립트를 실행하도록 하려고 하기 때문에 매번 수동으로 수행할 필요가 없습니다.
나는 최소한의 지침 없이 내 시스템에 어떤 것도 변경할 경험이 없습니다. 왜냐하면 모든 것을 엉망으로 만들 가능성이 높다고 생각하고 엉망진창을 정리하는 방법을 모르기 때문에 실제로 시도하지 않았기 때문입니다. 하지만 /etc/rc.local 파일에 내 스크립트를 추가하면 작업이 완료된다는 내용을 읽었습니다.
그게 사실인가요? 아니면 제가 시도해야 할 다른 것이 있나요?
---- 편집하다 -----
저는 우분투 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
터미널에서 파일을 탐색하고 마우스 오른쪽 버튼을 클릭한 후 속성을 선택하고 권한 탭으로 이동하여 "파일을 프로그램으로 실행 허용"을 선택하여 수행할 수 있습니다 .