วิธีการเปิดหน้า Web Browser อัตโนมัติบน Debian (ของอุปกรณ์ IOT2050) 

 

เนื่องจาก IOT2050 มี Display Port มาให้ และภายในเป็น Debian Linux เราสามารถต่อจอเข้า Display Port และสร้าง GUI 

หรือเปิด Web Browser บนตัว IOT2050 ได้เลย เพราะฉะนั้นจึงสามารถทำเป็น Local Display ดูสถานะ หรือดู Dashboard ในงานที่ตัวเครื่องรับไหวได้ 

 

ก่อนอื่นเริ่มจากลงโปรแกรมสำหรับ GUI และ Log-in 

 Text Box

โปรแกรมที่ติดตั้งมีดังนี้ 

  • xorgDisplay server 
  • openboxwindow manager 
  • lightdmlog-in 
  • iceweasel Web Browser ของ Mozilla Firefox 

 

หลังจากนั้นจึงทำการสร้าง user ใหม่ สำหรับให้ log-in อัตโนมัติเมื่อเปิดเครื่องและเข้า lightdm ในที่นี้ตั้งชื่อว่า kiosk 

 

Text Box 

ตั้งค่าใน lightdm.conf ให้ log-in user เป็น kiosk และ และไปเชื่อมต่อกับ openbox แก้ไขไฟล์โดยคำสั่ง nano ตามด้านล่างนี้ 

 Text Box

ตั้งค่าที่บรรทัดต่อไปนี้ autologin-user=kiosk และ user-session=openbox และเอา # (comment) ที่ด้านหน้าออก 

 

 

 

หากลอง reboot ดูในขั้ตอนนี้จะพบว่ามีเมาส์ปรากฎขึ้นมา แสดงว่าสามารถ Log-in อัตโนมัติและเข้าใปใน openbox ได้แล้ว 

ต่อมาจึงตั้งค่าให้เปิด Web Browser เมื่อ Startup โดยสร้างโฟลเดอร์ของ openbox ไว้ใน .config ของ user kiosk โดยใช้คำสั่ง 

 Text Box

สร้างไฟล์ autostart ในโฟลเดอร์นี้ ซึ่งไฟล์นี้จะทำงานเมื่อ openbox เปิดขึ้นมา 

 Text Box

ใส่คำสั่งในไฟล์ตามด้านล่างนี้ 

Text Box

บรรทัดที่ 1 เป็นการ copy ไฟล์จาก /home/kiosk/xulstore.json (จะสร้างขึ้นมาในขั้นตอนถัดไป

ไปยัง /home/kiosk/.mozilla/firefox/xxxxxxxx.default-esr/xulstore.json เพื่อให้ Web Browser เปิดแบบ fullscreen

 (xxxxxxxx ตอนที่ติดตั้งแต่ละครั้งจะไม่เหมือนกัน ต้องเข้าไปดูในโฟล์เดอร์ /home/kiosk/.mozilla/firefox ก่อน) 

บรรทัดที่ 2 sleep 30 เป็นคำสั่งให้ delay เป็นเวลา 30 วินาที ก่อนที่จะเปิด Web Browser 

เพราะหน้าเว็บ node-red ที่ต้องการเปิด startup ช้ากว่า (ไม่จำเป็นต้องมี หากหน้าเว็บสามารถเปิดได้ทันที) 

บรรทัดที่ 3 เป็นคำสั่งให้เปิด Web Browser โดยมี URL http://127.0.0.1:1880/ui 

 

หลังจากนั้นจึงแก้ไขไฟล์ /home/kiosk/.mozilla/firefox/xxxxxxxx.default-esr/xulstore.json ด้วย nano 

 Text Box

โดยแก้คำว่า maximized เป็น fullscreen แทน บันทึกไฟล์ และ copy ไฟล์ไปยัง /home/kiosk ไว้ให้ระบบ copy กลับมาตอนเปิดเครื่อง 

หากลอง reboot เครื่องจะพบว่า Web Browser พร้อมหน้าเว็บที่ต้องการได้รันขึ้นมาแบบ fullscreen เรียบร้อยแล้ว 

 

แต่หากเปิดทิ้งไว้ซักพักหนึ่งจะเกิดก่อนพักหน้าจออัตโนมัติ สามารถตั้งค่าให้ไม่มีการพักหน้าจอได้โดยแก้ไขไฟล์ 

/home/kiosk/.config/openbox/autostart และเพิ่มบรรทัดต่อไปนี้เข้าไปตอนเริ่มต้นไฟล์ กดบันทึกและ reboot อีกครั้ง เป็นอันเสร็จสิ้น 

 Text Box

Leave a Reply

Your email address will not be published. Required fields are marked *