http://www.rasplay.org/?p=4854
매번 vncserver 명령어를 입력하지 않고, 부팅과 함께 자동으로 vncserver 가 실행될 수 있도록 라즈베리파이에 자동실행등록 법을 정리 해 봤습니다.
a. /etc/rc.local 환경설정 수정
위 파일 내에 실행 명령어를 추가하여 부팅 시에 실행이 될 수 있도록 설정하는 방법
b. update-rc.d 명령어
별도의 등록 스크립트를 코딩하여, 부팅 시에 등록된 프로그램이 실행 될 수 있도록 설정하는 방법
그럼 예시로 라즈비안 Remote 프로그램 중 하나인 tightvncserver 를 /etc/rc.local 파일 내에 등록하여, 자동실행이 되도록 해 보자.
pi@rasplay ~ $ sudo nano /etc/rc.local
편집기(nano,vi,vim ETC… ) 프로그램을 이용하여, ‘rc.local’ 환경설정 파일을 열면 아래와 같은 내용이 보일 것이다 이 중 추가해 주어야 하는 라인은 ‘fi’ 와 ‘exit 0’ 사이에 본인이 실행하고자 하는 프로그램 실행 명령어를 입력 후, 저장을 하고 재 부팅을 시동하여 테스트를 해 보자.
#!/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.
# Print the IP address
_IP=$(hostname -I) || true
if [ “$_IP” ]; then
printf “My IP address is %sn” “$_IP”
fi
# ADD line :
su pi -c ‘tightvncserver :1’ &
exit 0
pi@rasplay ~ $ sudo reboot
이제 모든 자동등록 절차가 마무리 되었으니, 라즈베리파이를 재 부팅해 정상 작동이 되었는지 확인을 해 보도록 하자.
두번째로 update-rc.c 명령어를 이용해 스크립트를 코드하여 실행하는 방법에 대해 알아보자.
pi@rasplay ~ $ sudo nano /etc/init.d/tightvnc
#!/bin/sh
### BEGIN INIT INFO# Provides: tightvncserver# Required-Start: $local_fs# Required-Stop: $local_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start/stop tightvncserver### END INIT INFO# More details see:# http://www.penguintutor.com/linux/tightvnc### Customize this entry# Set the USER variable to the name of the user to start tightvncserver underexport USER=’pi’### End customization requiredeval cd ~$USERcase “$1” instart)su $USER -c ‘/usr/bin/tightvncserver :1’echo “Starting TightVNC server for $USER “;;stop)pkill Xtightvncecho “Tightvncserver stopped”;;*)echo “Usage: /etc/init.d/tightvncserver {start|stop}”exit 1;;esac
exit 0
pi@rasplay ~ $ sudo chown pi:pi /etc/init.d/tightvncserver pi@rasplay ~ $ sudo chmod 755 /etc/init.d/tightvnc pi@rasplay ~ $ sudo update-rc.d /etc/init.d/tightvnc defaults pi@rasplay ~ $ sudo reboot
#Tip. update-rc.d 서비스 수동실행 명령어
$ sudo /etc/init.d/tightvnc start $ sudo /etc/init.d/tightvnc stop