ฉันต้องการที่จะตรวจสอบซึ่งผู้จัดการเดสก์ทอปฉันกำลังทำงานและฉันพบว่ามีสามตัวแปรสภาพแวดล้อมDESKTOP_SESSION
, XDG_SESSION_DESKTOP
และXDG_CURRENT_DESKTOP
ซึ่งจะช่วยให้ผมทำเช่นนั้น แต่ความแตกต่างระหว่างตัวแปรทั้งสามนี้คืออะไรกันแน่? ขอบคุณล่วงหน้า.
ฉันต้องการที่จะตรวจสอบซึ่งผู้จัดการเดสก์ทอปฉันกำลังทำงานและฉันพบว่ามีสามตัวแปรสภาพแวดล้อมDESKTOP_SESSION
, XDG_SESSION_DESKTOP
และXDG_CURRENT_DESKTOP
ซึ่งจะช่วยให้ผมทำเช่นนั้น แต่ความแตกต่างระหว่างตัวแปรทั้งสามนี้คืออะไรกันแน่? ขอบคุณล่วงหน้า.
คำตอบ:
ฉันไม่แน่ใจว่าเหตุผลที่เป็นทางการคืออะไรเพราะมีตัวแปรที่แตกต่างกันมากที่สุดตัวจัดการหน้าต่างและดิสเพลย์ที่ต่างกันส่วนใหญ่ล้วนมีการกำหนดค่าเฉพาะของตัวเอง
แต่พวกเขาทั้งหมดดูเหมือนกันดังนั้นการใช้งานใด ๆ ควรทำงาน ...
นี่คือสิ่งที่ XFCE ของ Mint มี:
$ echo $DESKTOP_SESSION
xfce
$ echo $XDG_SESSION_DESKTOP
xfce
$ echo $XDG_CURRENT_DESKTOP
XFCE
และนอกจากนี้ยังมี
$ echo $SESSION
xfce
$ echo $MDMSESSION
xfce
$ echo $GDMSESSION
xfce
หรือ (จากenv
):
XDG_MENU_PREFIX=xfce-
UPSTART_JOB=startxfce4
ทางออกที่ดีที่สุดของคุณ (ถ้าคุณมีwmctrl
) อาจรวมกับ grep / cut:
$ wmctrl -m
Name: Xfwm4
Class: xfwm4
PID: 5449
Window manager's "showing the desktop" mode: N/A
นอกจากนี้คุณยังสามารถใช้ Window Manager และ Display Manager ที่แตกต่างกันและการแจกแจงที่แตกต่างกันบางอย่างเก็บข้อมูลในที่ต่าง ๆ ดังนั้นความสับสนจึงเป็นสิ่งที่สำคัญที่สุด ดูคำถามที่เกี่ยวข้องมาก ๆ ของ Q: