ตัวอย่างคำสั่ง
[root@localhost ~]# su - mill
Last login: Thu Aug 14 17:17:25 +07 2025 on pts/0 [mill@localhost ~]$ export DISPLAY=:0
[mill@localhost ~]$ xhost +SI:localuser:root sudo DISPLAY=:0 /home/mill/restart_webviewer.sh
อธิบายทีละคำสั่ง
su - mill
- คำสั่ง
su= switch user (เปลี่ยนผู้ใช้) - เครื่องหมาย
-หมายถึงโหลด environment ของ user นั้นเหมือน login ใหม่ - ตรงนี้คือเปลี่ยนจาก
rootไปเป็น user ชื่อ mill
export DISPLAY=:0
- เป็นการกำหนดค่า environment variable ชื่อ
DISPLAY :0หมายถึง หน้าจอหลัก ของ X server (GUI ของ Linux)- ทำให้โปรแกรม GUI ที่เปิดจาก user
millจะถูกส่งไปแสดงบนจอจริง
xhost +SI:localuser:root
xhostใช้ควบคุมสิทธิ์การเข้าถึง X server (GUI)+SI:localuser:rootหมายถึงอนุญาตให้ userrootสามารถใช้ X server (จอ GUI) ได้- ถ้าไม่ทำขั้นตอนนี้
rootจะเปิดโปรแกรม GUI ไม่ได้ เพราะ X server จะบล็อก
sudo DISPLAY=:0 /home/mill/restart_webviewer.sh
sudo= รันคำสั่งด้วยสิทธิ์rootDISPLAY=:0กำหนดให้ script ที่รัน สามารถแสดงผลบนหน้าจอ GUI ได้/home/mill/restart_webviewer.shคือ script ที่ต้องการรัน (เป็น shell script ที่น่าจะ restart โปรแกรม webviewer)
