ตัวอย่างคำสั่ง
[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
= รันคำสั่งด้วยสิทธิ์root
DISPLAY=:0
กำหนดให้ script ที่รัน สามารถแสดงผลบนหน้าจอ GUI ได้/home/mill/restart_webviewer.sh
คือ script ที่ต้องการรัน (เป็น shell script ที่น่าจะ restart โปรแกรม webviewer)