'2014/03/31 글 목록 :: Horizontal Grays S2

라즈베리파이를 모니터 없이 x11vnc를 이용하여 원격접속으로 사용하기


요거 하려고 뒤적이다보니 모니터 없이 사용하는 것을 Headless Mode 라고들 하더군 ㅋ 그래서 제목을 저따위로 달아봄


라즈베리파이에 모니터 + 키보드 + 마우스 따로 할당에서 쓸 공간도 없고, 또 추후 내가 하보려고 하는것 역시 라즈베리파이가 본체만으로 동작해야 하므로


x11vnc 설정이 필요했다.


그 설정은 다음과 같음


sudo apt-get install xvfb x11vnc daemon                    //xvfb, x11vnc, daemon 설치

sudo x11vnc -storepasswd /etc/x11vnc.pass            //x11vnc의 비밀번호를 /etc/x11vnc.pass에 저장



lightdm.conf 파일은 아래와 같이 수정 (내려가다보면 SeatDefaults 가 있슴)

sudo nano /etc/lightdm/lightdm.conf                            //lightdm.conf 편집


[SeatDefaults]

xserver-command=/etc/X11/xinit/xserverrc


/etc/X11/xinit/xserverrc 편집

sudo nano /etc/X11/xinit/xserverrc


#!/bin/sh

#exec /usr/bin/X -nolisten tcp "$@"

exec Xvfb :0 -screen 0 1280x768x16


자동시작을 위한 스크립트 생성 및 등록


sudo nano /etc/init.d/vnc_x11


아래내용 복사해서 붙여넣어 자동시작을 위한 스크립트 작성 완료

 #!/bin/sh

#

# /etc/init.d/vnc

#

### BEGIN INIT INFO

# Provides:          x11vnc

# Required-Start:    lightdm

# Should-Start:

# Required-Stop:

# Should-Stop:

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: X11 VNC Server

# Description:       Start or stop vnc server

### END INIT INFO


#INIT SCRIPT VARIABLES

SERVICE=$(basename $0)

PIDFILE="/var/run/${SERVICE}.pid"

BIN="/usr/bin/x11vnc "

#AUTH=`ps wwaux | grep '/X.*-auth' | grep -v grep | sed -e 's/^.*-auth *//' -e 's/ .*$//' | head -n 1`

AUTH="/var/run/lightdm/root/:0"

OPT="-xkb -auth ${AUTH} -rfbauth /etc/x11vnc.pass -forever -rfbport 5900 -o /var/log/x11vnc.log -loop"

CMD=${BIN}${OPT}


. /lib/lsb/init-functions


case "$1" in

    start)

echo -n "Starting ${SERVICE}..."

#/sbin/startproc ${CMD}

daemon -X "${CMD}"

sleep 2s

;;

stop)

echo -n "Stopping ${SERVICE}..."

PID=`ps -ef | grep x11vnc | grep -v grep | awk '{print $2}'`

kill -9 ${PID}

sleep 2s

;;

restart|force-reload)

echo -n "Stopping ${SERVICE}..."

PID=`ps -ef | grep x11vnc | grep -v grep | awk '{print $2}'`

kill -9 ${PID}

sleep 2s

echo -n "Starting ${SERVICE}..."

daemon -X "${CMD}"

sleep 2s

;;

    *)

    echo -e "Usage: ${SERVICE} {start | stop}"

    exit 1

    ;;

esac



vnc_x11의 권한 변경

sudo chmod 755 vnc_x11


부팅할 때 자동으로 시작하도록 등록

sudo update-rc.d -f vnc_x11 defaults 92


reboot


하면 아래 그림과 같이 잘 된다. 다만 모니터를 연결해보면 모니터에 연결된 화면은 아무것도 안나옴 커서만 딸랑 하나 나옴





(참고 : http://www.mls-software.com/rasppi.html)



+ Recent posts