मैं लिनक्स पर चित्रमय लॉगिन के लिए पर्यावरण चर कैसे सेट कर सकता हूं?


15

मैं लिनक्स पर अपने चित्रमय लॉगिन के लिए मनमाने ढंग से पर्यावरण चर सेट करने का एक तरीका खोज रहा हूँ। मैं टर्मिनल के भीतर एक टर्मिनल शुरू करने और पर्यावरण चर निर्यात करने के बारे में बात नहीं कर रहा हूं, क्योंकि वे चर केवल उस एक टर्मिनल के भीतर मौजूद हैं। मैं जानना चाहता हूं कि एक पर्यावरण चर कैसे सेट किया जाए जो मेरे ग्राफिकल सत्र में शुरू किए गए सभी कार्यक्रमों पर लागू होगा।

दूसरे शब्दों में, Xorg किसके समकक्ष है ~/.bash_login?

जवाबों:


10

आप उन्हें हमेशा अंदर रख सकते हैं .profile, इसलिए उन्हें किसी भी लॉगिन के लिए आवेदन करना चाहिए।

समस्याएँ तब होती हैं, यदि कोई .bash_loginमौजूद है: तो उस स्थिति में, बैश पढ़ा नहीं जाएगा .profile

यदि आप चाहते हैं कि आपके वैरिएबल .profileदोनों को बैश में और अन्य लॉगिन के लिए लागू करें, तो उपयोग न करें .bash_login! .bashrcइसके बजाय बैश विशिष्ट चर रखें ।

या वैकल्पिक रूप से, से शामिल .profileहैं.bash_login


धन्यवाद, .profileकाम किया।
रयान सी। थॉम्पसन

1
इसके अलावा, .profile वास्तव में अच्छा है क्योंकि मैं इसमें जो भी बैश कोड डालना चाहता हूं, डाल सकता हूं। इसलिए मैं मौजूदा पर्यावरण चरों में जोड़ता हूं, और अन्य चीजें पूरी तरह से करता हूं।
रयान सी। थॉम्पसन

1
ऐसा लगता है कि केडीई के लिए आपको इसे लगाने ~/.kde/env/और इसे समाप्त करने की आवश्यकता है .shstartkdeमैनपेज देखें ।
रायन सी। थॉम्पसन

2
दरअसल, यह थोड़ा अधिक जटिल लगता है। यह आपकी पसंद वितरण, डेस्कटॉप वातावरण और यहां तक ​​कि आपके लॉगिन शेल पर भी निर्भर करता है। Ubuntu 10.04 पर सूक्ति के लिए, आपको अपनी सेटअप स्क्रिप्ट डालनी होगी ~/.gnomerc, जैसा कि दिखाया गया है। /etc/X11/Xsession.d/55gnome-session_gnomercकेडीई जो भी आपके शेल खोल रहा है, उसके लिए प्रोफ़ाइल स्क्रिप्ट पढ़ता है। अगर SHELL=bash, तो यह पढ़ता है ~/.profile। अगर SHELL=zsh, तो यह पढ़ता है ~/.zprofile। मुझे नहीं पता कि यह अन्य गोले के लिए क्या करता है।
रयान सी। थॉम्पसन

4

मेरा .profileपर्यावरण सेट चर से अधिक है, इसलिए मैंने पर्यावरण सेटिंग कार्यों को एक .setenvफ़ाइल में विभाजित किया है जो केवल पर्यावरण सेट करता है। डेबियन पर X11 के लिए वातावरण सेट करने के लिए, मैंने .xsessionrcअपने घर में इसे जोड़ा :

. ~/.setenv

वह फ़ाइल जो खट्टी .xsessionrcहोने का कारण है /etc/X11/Xsession.d/40x11-common_xsessionrc

अपने वातावरण को सेट करने के लिए बैश करने वाली फ़ाइलों का उपयोग करने से मुझे वह नहीं मिला जो मैं चाहता हूं। ज़रूर, अगर मैंने X11 में बैश शेल शुरू किया, तो मुझे वह माहौल मिलेगा जो मैं चाहता था। हालाँकि, मुझे अपना PATH सेट करने की आवश्यकता है ताकि मेरा डेस्कटॉप वातावरण मेरे इच्छित सॉफ़्टवेयर को चला सके। उदाहरण के लिए, मैं अक्सर फ़ायरफ़ॉक्स के कस्टम संस्करणों का उपयोग करता हूं, सामान्य रास्तों के बाहर स्थापित। मैं चाहता हूं कि मेरा डेस्कटॉप वातावरण डिफ़ॉल्ट रास्तों पर जो भी मिल सकता है उसका उपयोग करने के बजाय उचित संस्करण शुरू करें। ऐसा करने के लिए, डेस्कटॉप वातावरण शुरू होने से पहले पैट को सेट किया जाना चाहिए।


0

Xorg में एक ही नहीं है, क्योंकि यह आपके प्रोग्राम शुरू नहीं करता है - यह वह होगा जो प्रदर्शन प्रबंधक (gdm, xdm, xinit, startx, आदि) या सत्र प्रबंधक (gnome-session, KDE, आदि) आप उपयोग करते हैं , क्योंकि वे आपके डेस्कटॉप सत्र प्रक्रियाओं के माता-पिता हैं। दुर्भाग्य से, वहाँ विभिन्न स्टार्टअप स्क्रिप्ट / dotfiles के साथ उन लोगों की एक किस्म है, इसलिए कोई एक आकार-फिट-सभी जवाब नहीं है। (X के क्लाइंट / सर्वर मॉडल के तहत, X सर्वर क्लाइंट के समान मशीन पर भी नहीं हो सकता है, और यह अक्सर आपके बजाय रूट के रूप में चल रहा है, इसलिए वातावरण चर जैसी सेटिंग्स के लिए गलत जगह है।)


मुझे पता है कि Xorg खुद वही नहीं है जो मैं देखना चाहता हूं। मैं सिर्फ यह जानना चाहता हूं कि मेरे X सत्र में अपने पर्यावरण चर कैसे सेट करें।
रयान सी। थॉम्पसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.