สร้างไฟล์ใหม่/user/share/xsessions/default.desktop
(ชื่อขึ้นอยู่กับคุณ แต่ต้องมี.desktop
คำต่อท้าย):
[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=
ตอนนี้เมื่อคุณเลือกเซสชั่นนี้lightdm
และเข้าสู่ระบบ~/.xsession
ไฟล์ของคุณถ้ามีจะถูกดำเนินการ
โปรดทราบว่าไฟล์ของผู้ใช้ที่ถูกประหารคือ~/.xsession
และไม่ใช่~/.xinitrc
ซึ่งถูกกล่าวถึงในคำถาม ( ~/.xinitrc
ใช้เมื่อเริ่มเซสชัน X โดยใช้startx
สคริปต์จากบรรทัดคำสั่ง)
คำอธิบายบางอย่าง: Name
รายการเป็นสิ่งที่lightdm
จะแสดงสำหรับเซสชั่นนี้ Exec
รายการเป็นสิ่งที่สำคัญและมันควรจะเป็นชื่อของโปรแกรมที่เริ่มต้นเซสชั่นที่เกิดขึ้นจริง เมื่อคุณเข้าสู่ระบบให้lightdm
เรียกใช้/etc/X11/Xsession
สคริปต์ส่งผ่านค่าของExec
อาร์กิวเมนต์เป็นและXsession
ในที่สุดก็จะรันโปรแกรมนี้ (ตัวอย่างเช่นมันอาจเป็นการstartxfce4
เริ่มxfce4
เซสชัน) หากExec
รายการเป็นสตริงพิเศษdefault
จากนั้นXsession
จะดำเนินการ~/.xsession
ไฟล์ของผู้ใช้ ( Xsession
จะดำเนินการ~/.xsession
หากถูกเรียกโดยไม่มี Aruments)
ขออภัยฉันใหม่ที่นี่และด้วยเหตุนี้ไม่สามารถแสดงความคิดเห็นในคำตอบของคนอื่น แต่ฉันต้องการแสดงความคิดเห็นในคำตอบที่ยอมรับเพื่อให้สิ่งที่ชัดเจน ตามคำอธิบายของฉันข้างต้นสิ่งที่จะเกิดขึ้นกับวิธีการคำตอบที่ว่าXsession
จะเรียกว่าโดยlightdm
ที่มีการโต้แย้งซึ่งเป็น Xsession
(เส้นทางที่เต็มไปด้วย) ดังนั้นXession
จะเรียกใช้แล้วเรียกตัวเองในครั้งนี้โดยไม่มีข้อโต้แย้ง ที่สองถูกเรียกว่ามีการขัดแย้งใดจะดำเนินการของผู้ใช้Xsession
~/.xsession
ดังนั้นการกระทำที่ต้องการในที่สุดจะถูกนำมาใช้ แต่ในทางที่น่าอึดอัดใจเล็กน้อย