.Xinitrc, .xsession और .xsessionrc के बीच अंतर


55

मुझे तीन कॉन्फ़िगरेशन फ़ाइलें मिलीं।

  1. .xinitrc
  2. .xsession
  3. .xsessionrc

मुझे पता है कि पहला उपयोग करने के लिए है startxऔर दूसरा और तीसरा प्रदर्शन प्रबंधक का उपयोग करते समय किया जाता है। लेकिन अंतिम दो में क्या अंतर है?

जवाबों:


64

~/.xinitrcद्वारा निष्पादित किया जाता है xinit, जो आमतौर पर के माध्यम से आह्वान किया जाता है startx। इस कार्यक्रम को लॉग इन करने के बाद निष्पादित किया जाता है: पहले आप एक पाठ कंसोल पर लॉग इन करते हैं, फिर आप GUI के साथ शुरू करते हैं startx। भूमिका .xinitrcजीयूआई सत्र की शुरुआत करना है, आमतौर पर कुछ जीयूआई-संबंधित सेटिंग्स जैसे कि कुंजी बाइंडिंग (साथ xmodmapया xkbcomp), एक्स संसाधन (साथ xrdb), आदि, और एक सत्र प्रबंधक या एक विंडो प्रबंधक लॉन्च करने के लिए () संभवतः डेस्कटॉप वातावरण के भाग के रूप में)।

~/.xsessionजब आप ग्राफ़िकल मोड (एक डिस्प्ले मैनेजर पर ) में लॉग इन करते हैं और डिस्प्ले मैनेजर "कस्टम" सत्र प्रकार को लागू करता है। (ऐतिहासिक प्रदर्शन प्रबंधक xdm के साथ, .xsessionहमेशा निष्पादित किया जाता है, लेकिन आधुनिक प्रदर्शन प्रबंधकों के साथ जो उपयोगकर्ता को सत्र प्रकार का विकल्प देते हैं, आपको आमतौर पर .xsessionचलाने के लिए "कस्टम" चुनने की आवश्यकता होती है ।) इसकी भूमिका लॉगिन-टाइम पैरामीटर सेट करने के लिए है। (जैसे पर्यावरण चर) और जीयूआई सत्र शुरू करने के लिए। एक ठेठ .xsessionहै

#!/bin/sh
. ~/.profile
. ~/.xinitrc

~/.xsessionrcजीयूआई लॉगिन पर एक्स स्टार्टअप स्क्रिप्ट के द्वारा डेबियन (और डेरिवेटिव्स जैसे उबंटू, लिनक्स मिंट, आदि) पर सभी सत्र प्रकारों के लिए और (मुझे लगता है) सभी डिस्प्ले मैनेजरों द्वारा निष्पादित किया जाता है। startxयदि उपयोगकर्ता के पास ऐसा नहीं है तो भी इसे निष्पादित किया जाता है .xinitrc, क्योंकि उस स्थिति startxमें उसी सत्र स्टार्टअप स्क्रिप्ट पर वापस आती है जो GUI लॉगिन के लिए उपयोग की जाती है। इसे संसाधनों को लोड करने के बाद अपेक्षाकृत जल्दी निष्पादित किया जाता है, लेकिन किसी भी कार्यक्रम जैसे कि प्रमुख एजेंट, डी-बस डेमॉन आदि को शुरू करने से पहले, यह आमतौर पर चर को सेट करता है जो बाद की स्टार्टअप स्क्रिप्ट द्वारा उपयोग किया जा सकता है। इसका कोई आधिकारिक दस्तावेज नहीं है, जिसे मैं जानता हूं, आपको यह देखने के लिए स्रोत में खुदाई करनी होगी कि क्या काम करता है।

.xinitrcऔर .xsessionX11 विंडो सिस्टम की ऐतिहासिक विशेषताएं हैं, इसलिए उन्हें उपलब्ध होना चाहिए और सभी यूनिक्स प्रणालियों पर समान व्यवहार होना चाहिए। दूसरी ओर, .xsessionrcएक डेबियन सुविधा है और डिबियन पर आधारित नहीं होने वाले वितरणों के पास यह तब तक नहीं है जब तक कि उन्होंने कुछ समान लागू नहीं किया हो।

.xprofileके समान है .xsessionrc, लेकिन यह GDM (GNOME डिस्प्ले मैनेजर) के सत्र स्टार्टअप स्क्रिप्ट का हिस्सा है, इसलिए यह केवल तभी पढ़ा जाता है जब आप GDM के साथ लॉग इन करते हैं।


5

एक अन्य चर्चा के अनुसार, startx + ~ / .xsession और नहीं ~ / .xinitrc, कम कार्यक्षमता (xfce4, sid) में परिणाम

सबसे पहले: वैश्विक पर्यावरण चर .xsessionrcरखने के लिए है । जोर मेरा है।

दूसरी बात: 40x11-common_xsessionrcमें /etc/X11/Xsession.dसे पहले प्राप्त किया जाता है 50x11-common_determine-startup। तो .xsessionrcपहले पढ़ा जाता है .xsessionऔर कोई भी पर्यावरण चर सेट कमांड द्वारा संचालित अनुप्रयोगों के लिए उपलब्ध हो जाएगा .xsession

आगे की पढाई:

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