मैं उपयोगकर्ता-निर्धारित सत्रों के लिए लाइट-डीएमडी का उपयोग कैसे कर सकता हूं?


22

अगर मैं इसे सही तरीके से नहीं समझ पा रहा हूं, तो लाइटडैम ने जीडीएम को प्रति डिफ़ॉल्ट बदल दिया है। मुझे आश्चर्य है कि अगर यह संभव है कि मैं इसे अपने .xinitrc फ़ाइल में डालूं तो इसे चलाएं ... मुझे "यूनिटी" और "यूनिटी 2 डी" के नीचे एक विकल्प की आवश्यकता है जो कहता है कि "उपयोगकर्ता द्वारा परिभाषित सत्र चलाएं"।

क्या यह संभव है? सबसे आसान बात होनी चाहिए, लेकिन मुझे अब तक कोई सुराग नहीं मिला। मैं इस फ़ाइल में बहुत सी चीजों को निर्यात और परिभाषित करता हूं और चलाता हूं, इसलिए उस पर नियंत्रण रखना मेरे लिए बहुत महत्वपूर्ण है।

मुझे क्या नहीं चाहिए / usr / कुछ / में कस्टम सत्र है, जहां, मैं केवल यह चाहता हूं कि प्रत्येक उपयोगकर्ता के xinitrc (या समान) से सामान चलाएं।

जवाबों:


21

इसके /usr/share/xsessions/custom.desktopसाथ एक नई फ़ाइल बनाएँ :

[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession

अब आपके पास लॉगिन के दौरान एक नया सत्र विकल्प होना चाहिए, Xsession उपयोगकर्ता को लोड करेगा ~/.xinitrc


2
उबंटू केवल ~ / .xsession या शायद ~ / .xsessionrc और ~ / .Xsession को अब (12.04)
guigouz

क्या किसी को X, या केवल लॉगआउट को पुनः आरंभ करने की आवश्यकता है, इसके लिए प्रभावी होना चाहिए?
tshepang

1

ओल्वम का उपयोग करने के लिए:

1) sudo apt-get install olvwmएक कंसोल में टाइप करें

2) इस सत्र बनाएँ:

/usr/share/xsessions/olvwm.desktop
[Desktop Entry]
Name=Open Look
Exec=olvwm
Type=Application

1

एक नई फ़ाइल बनाएं /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। तो वांछित कार्रवाई, अंततः, ले जाया जाएगा, लेकिन थोड़ा अजीब तरीके से।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.