2016/08/24 tightVNC 서버 부팅시 자동으로 구동

sudo cat /etc/init.d/tightvncserver      
                                                                
#!/bin/sh                                                                                                                   
# /etc/init.d/tightvncserver                                                                                                
#Set the VNCUSER variable to the name of the user to start tightvncserver                                                   
### BEGIN INIT INFO                                                                                                         
#Provides:      vncserver                                                                                                   
#Required-Start:        networking                                                                                          
#Required-Stop: nonnetworking                                                                                               
#Default-Start:         2 3 4 5                                                                                             
#Default-Stop:  0 1 6                                                                                                       
### END INIT INFO                                                                                                           
                           
VNCUSER='pi'                                                                                                                
case "$1" in                                                                                                                
  start)                                                                                                                    
    su $VNCUSER -c '/usr/bin/tightvncserver :1'                                                                             
    echo "Starting TightVNC server for $VNCUSER"                                                                            
    ;;                                                                                                                      
  stop)                                                                                                                     
    pkill Xtightvnc                                                                                                         
    echo "Tightvncserver stopped"                                                                                           
    ;;                                                                                                                      
  *)                                                                                                                        
    echo "Usage: /etc/init.d/tightvncserver {start|stop}"                                                                   
    exit 1                                                                                                                  
    ;;                                                                                                                      
esac                                                                                                                        
exit 0                       

vncserver 자동으로 켜기 위해서 rc.d 업데이트를 해줘야 한다.
처음에 rc.local에다가 /usr/bin/vncserver 를 추가해줘서 runlevel에서 실행시키려고
했었다. 작동이 안되서 알아보니 vncserver 명령은 실행시 필요한 variable이 있다고한다.
그래서 daemon 실행하듯이 init.d에다가 파일을 하나 만들어서 위에 있는 내용을 작성한다.
###BEGIN INIT INFO는 LSB 태그라고 하는데
apt-get remove insserv를 통해 제거하던지
위에 작성한 것과 같이 필요한 태그들을 적어주던지 하면된다고 한다.

쉘 스크립트를 작성했으면 excutable 권한을 준다.
chmod 755 /etc/init.d/tightvncserver
그리고
update-rc.d tightvncserver default 명령을 통해
부팅시 실행되도록 해주면 된다.

원격접속하는데 오류가 나서 보니
포트포워딩 된 dlink 공유기를 누군가 재부팅했는지 라즈베리파이 ip가 변경되어 있었다.
또 이런일이 있을까봐 dlink 공유기도 원격접속 가능하도록 해놨다.

댓글