ถ้าใครเพิ่งเคยเล่น RPi (ขอย่อให้เขียนสั้นๆ จาก Raspberry Pi) มันเป็นคอมพิวเตอร์จิ๋วราคาถูก แต่ความถูกก็มาพร้อมกับปัญหาคือ มันไม่มีคีบอร์ดและไม่มีจอ กลายเป็นความยากของผู้เริ่มต้นแบบผมที่ไม่มีตังจะซื้อหน้าจอที่ใช้ต่อ HDMI กับตัว RPi ผมก็เลยกะว่าจะ Remote จากโน้ตบุคที่ใช้อยู่นี่แหละง่ายดี
เขียนไว้เป็น log เผื่อมีคนเริ่มต้นแล้วเจอปัญหาแบบผมครับ มาเริ่มกันเลย
วิธี Remote เข้า Raspberry Pi ด้วย Tightvncserver
ปกติแล้ว เราสามารถ remote เข้า RPi ด้วยการ SSH เข้าไปก็ได้ แต่ แบบนั้นมันเป็น command line นี่นา เราอยากเห็นหน้าจอ desktop จริงๆของ RPi มันน่าจะดีกว่านะ
สิ่งที่เราต้องเตรียม
1) เราต้องรู้ IP ของ RPi ตัวที่จะ Remote
2) RPi ตัวนั้นต้องต่อ internet ได้ เพราะเราจะโหลด tight vncserver มาลงที่ RPi
3) เราต้องเตรียมลงโปรแกรม VNC viewer เพื่อ remote ดู RPi
------------(1)------------
ขั้นแรก เราเข้า RPi ด้วยวิธีการ SSH ไปก่อน (มันคือการ remote เข้าไปโหมดหน้าจอดำๆ ไว้พิมพ์ command line) เพื่อไปติดตั้งตัว Tight VNC Server ใน RPi
ใช้คำสั่ง
sudo apt-get install tightvncserver
เจ้า RPi จะเริ่มโหลดแพคเกจโปรแกรมจากอินเตอร์เน็ตมา install ใน RPi ของเรา รอมันจนลงโปรแกรมเสร็จครับ ต่อมาก็เป็นขั้นตอนการ set Password ครั้งแรกเพื่อ login ตอน Remote เข้า RPi
ใช้คำสั่ง
tightvncserver
โปรแกรมจะให้เรากำหนด Password และให้ verify Password ซ้ำอีกที ตอนท้ายมันจะถามว่าให้ดูเป็นโหมด Read-only ไหม ให้เราตอบ โนววว : n
ปล. Password ตั้งได้แค่ 8 ตัวอักษร จำไว้ให้ดีละ
เอาละ เสร็จจากเจ้า RPi เรามาติดตั้งตัว VNC client ในโน้ตบุคของเรากันเป็นลำดับถัดมา เราสามารถ Download โปรแกรม Ultra VNC Viewer จากที่นี่ เป็นฟรีแวร์ครับ ติดตั้งไม่ยากครับ กด next อย่างเดียว และเมื่อติดตั้งเสร็จจะได้โปรแกรมหน้าตาแบบนี้
ขั้นตอนนี้เราก็จะใส่ IP ของ RPi ที่จะ Remote ลงไป ต่อท้ายด้วยตัวย่อ :Port ครับ เช่น เครื่อง RPi ของผม มี IP เป็น 192.168.25.45 ผมก็จะใส่ข้อมูลในช่อง VNC server เป็น 192.168.25.45:1 ซึ่ง :1 ย่อมาจาก พอร์ต 5901 ของ VNC server (จริงๆ เราเซ็ตค่าความกว้างของหน้าจอที่เรา remote ได้ด้วย ลองไปตามหาอ่านจาก blog คนอื่นๆดูนะครับ)
ใส่ Password ที่ตั้งไว้ครับ
Remote ได้สำเร็จ !!!
แต่เดี๋ยว!! ทุกครั้งที่เรา Shutdown เจ้า RPi ของเรา ตัวโปรแกรม tightvncserver จะถูกปิดไป เราจึงต้องพิมพ์คำสั่งเริ่มโปรแกรม tightvncserver ใน RPi ใหม่ก่อนทุกครั้งก่อนจะ Remote เข้า RPi ได้ นั่นเป็นความยุ่งยาก เราจึงจะมาสร้าง script ให้ tightvncserver มัน start ตัวเองด้วยทุกครั้งเมื่อเปิดเครื่อง RPi
ขั้นตอนการสร้าง script (ใช้ command line mode นะครับ ผ่าน SSH ก็ได้ )
1) สร้าง ไฟล์ script โดยใช้คำสั่งนี้
คำสั่ง
sudo nano /etc/init.d/tightvncserver
ปล. nano เป็นคำสั่งเปิดไฟล์ text editor จากคำสั่งนี้ก็คือเราจะสร้างไฟล์ชื่อ tightvncserver ในโฟลเดอร์ /etc/init.d
หลังจากนั้นให้ copy code นี้ไปวางบนไฟล์ script
#!/bin/shจะได้หน้าตาดังรูป
# /etc/init.d/tightvncserver
# Set the VNCUSER variable to the name of the user to start tightvncserver under
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
จากนั้นให้เรากด ctrl+X และกด Y เพื่อ save ไฟล์ครับ
และใช้คำสั่งต่อไปนี้เพื่อสั่งให้ script ทำงานเมื่อ boot เจ้า RPi
sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
เสร็จขั้นตอนนี้ ก็ลอง reboot RPi สักที เพื่อทดสอบ tightvncserver script ว่าใช้งานได้รึเปล่า
หวังว่าบทความนี้จะเป็นประโยชน์แก่คนที่เพิ่งเริ่มต้น(แบบผม) นะครับ ใจจริงคืออยากเขียนบทความไว้กันลืมวิธีการทำด้วย :) ขอให้สนุกกับการเล่น RPi ครับ
ได้รับความรู้มากคะ ขอบคุณคะ
ตอบลบไม่สามารถพิมพ์อะไรได้เลยในขั้นตอนตั้ง password เป็นที่อะไรครับ
ตอบลบ