एक नई फ़ाइल बनाएं /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
।)
क्षमा करें, मैं यहां नया हूं और इसलिए अन्य लोगों के उत्तरों पर टिप्पणी नहीं कर सकता, लेकिन मैं चीजों को स्पष्ट करने के लिए स्वीकृत उत्तर पर टिप्पणी करना चाहूंगा। ऊपर मेरे स्पष्टीकरण के अनुसार, उस उत्तर की विधि के साथ क्या होगा, यह एक तर्क के साथ Xsession
कहा जाएगा lightdm
जो कि (पूर्ण पथ) है Xsession
। तो Xession
चलेंगे और फिर खुद को बुलाएंगे, इस बार बिना किसी तर्क के। दूसरा Xsession
, जिसे बिना किसी तर्क के कहा जाता है, उपयोगकर्ता को निष्पादित करेगा ~/.xsession
। तो वांछित कार्रवाई, अंततः, ले जाया जाएगा, लेकिन थोड़ा अजीब तरीके से।