JavaScript required
We’re sorry, but Coda doesn’t work properly without JavaScript enabled.
Skip to content
Gallery
บันทึกการทำ
Systems
Application
Network
Life Style
More
Share
Explore
Systems
แชร์หน้าจอ Linux Terminal ให้ผู้ใช้ได้เห็น
Chookiat J
Last edited 214 days ago by System Writer
จากงานเบื้องหลังหลายอย่าง ที่ผู้ใช้ระบบไม่อาจจะรู้จะเห็น จึงเกิดคำถามว่า จะทำอย่างไรให้ผู้ใช้ระบบ สามารถเห็นความคืบหน้าได้
หลังจาก
ปรึกษา ChatGPT
เรื่องจะทำอย่างไร ที่จะแชร์ Linux Terminal ที่เป็นการ monitor กระบวนการทำงาน ให้ผู้ใช้สามารถดูได้จาก web browser ทั่วไป ก็ได้พบเครื่องมือที่ชื่อ
tmux
และ tmate แต่พบว่า tmate นั้นจะเป็นการแชร์ออก Internet ซึ่งไม่น่าจะเหมาะสมกับเรื่องข้อมูล การทำแชร์ภายในค่อนข้างจะยุ่งยาก จึงค้นหาบน Internet ได้พบกับเครื่องมือที่ชื่อว่า
GoTTY
จึงได้ทดลองทำอยู่ก็พบว่า “ใช่เลย” เป็นสิ่งที่ต้องการตอบโจทย์ตรง และง่าย
สภาพแวดล้อม
Debian 12 bookworm
ติดตั้ง
ตัว tmux นั้นมี APT package สำหรับติดตั้งจาก debian repo จึงสามารถทำการติดตั้งได้ทันทีด้วยคำสั่ง apt install
sudo apt update
sudo apt install -y tmux
ส่วนตัว GoTTY นั้น สามารถ download ตัว binary ได้จาก github repo ตามลิงค์ใน release ตัวที่ใช้ล่าสุด ณ เวลาเขียนบทความนี้เป็น version 1.0.1
https://github.com/yudai/gotty/releases
wget https://github.com/yudai/gotty/releases/download/v1.0.1/gotty_linux_amd64.tar.gz
tar xzvf gotty_linux_amd64.tar.gz
ตัวอย่างการใช้งาน
รายละเอียดการใช้งาน tmux นั้น สามารถหาดูการสนอได้จาก Youtube หรือหาอ่านได้จากใน wiki บน github repo หรือ Internet ณ ที่นี่จะตัวอย่างการใช้งานที่ต้องการเท่านั้น
tmux ทำงานเป็น background process หรือ session ซึ่งเมื่อออกจาก ssh แล้ว ก็ยังทำงานอยู่ โดยเริ่มจากสร้าง session ใหม่ตั้งชื่อว่า monitoring และทำการแบ่งหน้าจอตามต้องการ
tmux new-session -s monitoring -d ## สร้าง tmux session ใหม่ตั้งชื่อว่า monitoring
tmux split-window -h -t monitoring ## แบ่งหน้าจอซ้าย-ขวา
tmux send-keys -t monitoring:0.0 "watch -n 5 ls -lht /srv/v3/input" C-m ## จอซ้ายให้ ls ไฟล์จาก /srv/v3/input
tmux send-keys -t monitoring:0.1 "watch -n 5 ls -lht /srv/v3/output" C-m ## จอขวาให้ ls ไฟล์จาก /srv/v3/output
tmux detach -s monitoring
เมื่อทำการสร้าง tmux หน้าจอต่างๆ เป็นที่เรียบร้อย ก็ถึงหน้าที่ของ gotty ที่จะทำหน้าเวปไว้ให้ผู้ใช้สามารถเข้าไปดูผ่าน web browser
gotty -p 8088 tmux attach-session -t monitoring ## กำหนดให้เข้าเวปที่ port 8088
จากนั้นให้ลองเข้าด้วย URL
http://ipaddress:8088
หน้าจอ tmux
อ้างอิง
https://github.com/tmux/tmux/wiki
https://github.com/yudai/gotty
https://chat.openai.com/c/cb655edf-33d2-4eb2-89a7-5588e0fe369e
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
Ctrl
P
) instead.