Ubuntu에서 부팅할 때에 자동으로 무엇인가를 실행하고 싶은 경우에는 어떻게 해야할까?
과거 DOS 시절에는 AUTOEXEC.BAT (일명: 오토익스큐트 배치파일?! ^^) 파일에 명령어를 입력했었는데...


Ubuntu(리눅스)에서 일반적으로 부팅 時에 무언가를 실행하기 위해서는,
실행을 위한 스크립트 파일들을 /etc/init.d/ 경로 밑에 넣어 놓고
runlevel에 따라 실행할 스크립트 파일을 등록을 해주는 방식을 취한다.

(제가 잘못알고 있다면, 친절하게 설명을 해주시길 바래요 ㅠㅠ)

Ubuntu에서 runlevel에 따라 등록된 내역을 확인 하기 위해서는 /etc/rc0.d/ , /etc/rc1.d/ , /etc/rc2.d/ ... 를 살펴보면 된다.


유저가 원하는 무엇인가를 자동 실행으로 등록하기 위해서는
/etc/init.d/ 경로 밑에 실행을 하기 위한 Script 파일을 만들어 놓고 [ chmod +x 스크립트 ] 명령으로 실행가능토록 해놓고
[ sudo update-rc.d 스크립트 defaults ] 명령을 실행하면 등록이 되어 이후 부팅 時 자동으로 실행을 시킬 수 있다.



이러한 과정이 번거로운 경우 일반적으로 많이 사용하는 것이 /etc/rc.local 파일을 이용하는 것이다.
runlevel과 무관하게 rc.d 실행을 모두 마친 후 수행이 된다는 점을 이용하는 것이다.

사용 방법은 간단하다.

/etc/rc.local 파일을 편집해서 실행하고픈 내용을 적어주면 된다.

이 때 주의할 점은,
/etc/rc.local 실행 권한이 root 라는 점이다.
혹시 특정 사용자 권한이 필요하다면 [ su -사용자 -c 실행파일 ]과 같이 명시해주면 된다.


그리고, 마지막으로 또 하나~!!
/etc/rc.local 파일에 실행파일을 적어줬는데 정상적으로 실행이 되지 않을 때가 있다.

이 때 체크 포인트 !!!
   - 일반적으로 환경 변수 셋팅이 되어 있지 않기 때문에 PATH는 절대 경로를 사용해야 한다.
   - /etc/rc.local 은 [ -e ] 옵션이 되어있다. 즉, 에러 발생하면 그냥 바로 종료다. 번거로우면 [ -e ] 옵션을 지우는... ^^



자동 실행과 관련하여 마지막 사항은... X-Window 프로그램들이다.
X-Window 프로그램을 위와 같이 명시하면 제대로 실행되지 않는 경우가 대부분이다.
문제는 실행 타이밍~ X-Window 관련된 것들이 전부 실행이 된 이후 실행이 되어야 하는데,
그 전에 실행을 하니... 에러....

X-Window 관련 프로그램의 자동 실행은 X-Window의 메뉴들을 보면 시작프로그램 등록하는 다이얼로그가 있다.
그것을 이용하자~!!


반응형

+ Recent posts