สร้างไฟล์ใหม่/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ดังนั้นการกระทำที่ต้องการในที่สุดจะถูกนำมาใช้ แต่ในทางที่น่าอึดอัดใจเล็กน้อย