라즈베리파이를 켤때 자동으로 vnc 서버가 돌아가게 데몬을 등록하는 것 입니다.
이렇게 하지 않으면 재부팅 했을 경우 ssh 로 접속해서 매번 vncserver 를 실행시켜 줘야합니다.
그렇다고 이게 그렇게 나쁜 방법은 아닙니다. 필요한 서비스를 그때 그때 실행해주고 다 쓰고 나면 죽여주고...
그러나 편하고자 한다면 리소스도 써먹어가면서 보안상 문제가 생길 수 도 있지만 미리 돌려주는 것도 좋겠지요???? 알아서 결정하시면 됩니다.
일단 부팅때 vnc 서버가 돌아가게 하는 스크립트를 만들어 줍니다. 여전히 http://kocoafab.cc/tutorial/view/314 를 참고로 작성중입니다.
ssh 로 접속을 하고 복붙을 한줄씩 해주면 됩니다. 아니면 직접 타이핑 해주시든지..
1. 스크립트 파일 생성하기 (여기서는 nano 에디터를 쓰는데 vi 에디터가 편한 분은 vi 를 쓰셔도 됩니다)
sudo nano /etc/init.d/tightvncserver
2. nano 에디터에서 스크립트 파일 내용 입력하기 (요거는 1줄만 복사하지말고 내용을 끝까지 복사해서 한방에 붙여넣어도 됩니다)
#! /bin/sh
# /etc/init.d/vncboot
USER=root
HOME=/root
export USER HOME
case "$1" in
start)
echo "Starting VNC Server"
#Insert your favoured settings for a VNC session
/usr/bin/vncserver :1 -geometry 1280×800 -depth 16 -pixelformat rgb565
;;
stop)
echo "Stopping VNC Server"
/usr/bin/vncserver -kill :1
;;
*)
echo "Usage: /etc/init.d/vncboot {start|stop}"
exit 1
;;
esac
exit 0
3. 저장하고 나오기 : Ctrl+x 누르고 Y
위 2번 항목에서 원글 링크 내용과 다른 부분이 있습니다.
하나는 " 표시 입니다. 원글은 " 가 특수문자로 되어 있어서 복사해 붙여넣으면 나중에 스크립트오류가 뜨더군요.
다른 하나는 스크린 번호를 0 에서 1로 바꿨습니다.
내용에 보면 :1 이라고 된 것이 2군데 보입니다. :0 은 라즈베리파이의 hdmi 모니터로 나가는 화면이라서 따로 가상화면을 만들어 :1 에 뿌리도록 합니다.
:0 으로 했을 경우 vnc 서버를 부팅시 돌리는 스크립트가 꼬일 경우 귀찮은 문제가 생기기 때문에 저는 :1 로 하는 것이 좋더군요.
4. 스크립트를 실행권한 주고 등록하기 (2번째 명령에서 경고가 뜨는데.. 그냥 무시했습니다)
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
5. local.rc 파일 수정하기
sudo nano /etc/rc.local
해서 아래에서 2번째 줄에
su pi -c vncserver
추가 해줍니다.
Ctrl+x 누르고 저장한다 Y 누르고 나옵니다.
이제 라즈베리파이를 리부팅 해보면 됩니다.
콘솔창에서 sudo reboot 이라고 해줘도 리부팅 시킬 수 있습니다.
|