ความแตกต่างระหว่าง DESKTOP_SESSION, XDG_SESSION_DESKTOP และ XDG_CURRENT_DESKTOP คืออะไร


9

ฉันต้องการที่จะตรวจสอบซึ่งผู้จัดการเดสก์ทอปฉันกำลังทำงานและฉันพบว่ามีสามตัวแปรสภาพแวดล้อมDESKTOP_SESSION, XDG_SESSION_DESKTOPและXDG_CURRENT_DESKTOPซึ่งจะช่วยให้ผมทำเช่นนั้น แต่ความแตกต่างระหว่างตัวแปรทั้งสามนี้คืออะไรกันแน่? ขอบคุณล่วงหน้า.

คำตอบ:


2

ฉันไม่แน่ใจว่าเหตุผลที่เป็นทางการคืออะไรเพราะมีตัวแปรที่แตกต่างกันมากที่สุดตัวจัดการหน้าต่างและดิสเพลย์ที่ต่างกันส่วนใหญ่ล้วนมีการกำหนดค่าเฉพาะของตัวเอง

แต่พวกเขาทั้งหมดดูเหมือนกันดังนั้นการใช้งานใด ๆ ควรทำงาน ...

นี่คือสิ่งที่ 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:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.