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


15

मेरे सिस्टम पर, SDL का उपयोग करने वाले ऐप्स के लिए, मुझे एक पर्यावरण चर सेट करना होगा:

export SDL_AUDIODRIVER=alsa

ठीक से काम करने के लिए ध्वनि प्राप्त करना। मैं अपना GNOME सत्र कैसे सेट करूं ताकि यह चर सभी अनुप्रयोगों के लिए मौजूद हो (इसलिए यदि मैं Nautilus के माध्यम से कोई एप्लिकेशन चलाता हूं, या DBGL का उपयोग करता हूं , तो एप्लिकेशन ठीक से काम करते हैं)?

संपादित करें:

कॉन्फ़िगरेशन फ़ाइलें जो मैंने सेट की हैं (और प्रत्येक के बाद मेरी मशीन रीसेट करें) कोई फायदा नहीं हुआ:

  • .xsession
  • .xsessionrc
  • .gnomerc
  • .bash_profile
  • .profile<- यह सामान्य स्थिति में काम करता है, लेकिन तब नहीं जब आपका डिस्ट्रो वैरिएबल कहीं और सेट कर रहा हो।
  • /etc/profile

क्या आप सुनिश्चित हैं कि इसके लिए एक पर्यावरण चर होना चाहिए? ऐसा लगता है कि यह किसी अन्य प्रकार की सेटिंग हो सकती है। क्या आपने सिस्टम साउंड सेटिंग्स एप्लेट के आसपास खोदा है?
codeLes

यह वास्तव में करता है। यह एसडीएल ने बताया कि किस बैकेंड का उपयोग करना है। मैं चाहता हूं कि यह सिर्फ एक कॉन्फ़िगरेशन फ़ाइल का उपयोग करे, लेकिन एसडीएल पर्यावरण के चर के अपने व्यवहार के उपयोग के लिए काफी अनुकूल है।
बर्नार्ड

क्या आपने इसे देखा है: modarchive.org/forums/index.php?topic=1879.0
codeLes

1
खैर, यह SDL को फिर से शुरू करने या एक पर्यावरण चर स्थापित करने के बीच एक विकल्प है। मुझे लगता है कि मैं सही चुनाव कर रहा हूं। : p यह काम करता है (यानी, शेल में, यह काम करता है) यह केवल गनोम को मिलने वाले कांटे का मुद्दा है, जो कि इस समस्या से जुड़े शेल के लिए शुरू नहीं होने वाले ऐप्स के लिए वैरिएबल का प्रचार करना है। आपकी निरंतर मदद के लिए धन्यवाद।
बर्नार्ड

क्या इस में distro है ?! (मैं मानता हूं कि जीडीएम के लिए विन्यास का पालन करना वास्तव में कठिन है, इसलिए मेरा पहला विचार, "सिर्फ / etc / gdm में देखो / और स्क्रिप्ट पढ़ें" बहुत दर्द होता है।) यहाँ, .profile बस ठीक काम करने लगता है। (डेबियन / परीक्षण)
एंडर्स यूरेनियस

जवाबों:


6

यह हो सकता है कि SDL_AUDIODRIVER चर कहीं न कहीं परेशान हो रहा है। स्टार्टअप स्क्रिप्ट से संबंधित चीजों के साथ समस्याओं के लिए उपयोग की जाने वाली एक रणनीति मुझे डिबग इको स्टेटमेंट में डालनी है जो किसी फ़ाइल को बना / हटाकर सक्षम / अक्षम करने के लिए सरल है। आप जोड़कर शुरू कर सकते हैं

debug_msg() {
        test -f $HOME/.debug && echo "$@" 1>&2
}

debug_msg "running ~/.bashrc ($0), SDL_AUDIODRIVER = '$SDL_AUDIODRIVER'"

.bashrc, .bash_profile, .profile और / etc / प्रोफाइल को देखने के लिए कि उसका क्या मूल्य है और यदि / जहाँ वह बदल रहा है।


मम्म, यही मेरा वर्तमान विचार भी है। यह 'पल्स' के लिए सेट है, और जिसे OpenSUSE द्वारा कहीं सेट किया जाना चाहिए । घर आने पर मैं कुछ जासूसी का काम करूँगा।
बर्नार्ड

6

https://help.ubuntu.com/community/EnvironmentVariables चार स्थानों के बारे में बात करता है जहां हम पर्यावरण चर सेट कर सकते हैं:

  • ~/.pam_environment- [...] यह एक स्क्रिप्ट फ़ाइल नहीं है, बल्कि असाइनमेंट एक्सप्रेशंस, प्रति पंक्ति एक है। […] चर को आरंभ करने के लिए पुनः लॉगिन की आवश्यकता होती है। [...]
  • ~/.profile - यह पर्यावरण चर असाइनमेंट रखने के लिए शायद सबसे अच्छी फ़ाइल है, क्योंकि यह स्टार्ट-अप प्रक्रिया डेस्कटॉप सत्र के दौरान डिस्प्लेमैनगर द्वारा स्वचालित रूप से निष्पादित होने के साथ-साथ लॉगिन शेल द्वारा जब एक लॉग-इन टेक्स्टुअल कंसोल से स्वचालित रूप से निष्पादित होता है।
  • ~/.bash_profileया ~/.bash_login- यदि इनमें से कोई एक फ़ाइल मौजूद है, तो इसे तब लॉगिन करें जब "लॉगिन / शेल के रूप में शुरू किया जाता है" तब "~ / .profile"। (बैश को "~ / .bash_profile" से "~ / .bash_login") पसंद करेंगे। हालाँकि, ये फ़ाइलें डिफ़ॉल्ट रूप से ग्राफ़िकल सत्र को प्रभावित नहीं करेंगी।
  • ~/.bashrc- जिस तरह से Ubuntu वर्तमान में डिफ़ॉल्ट रूप से विभिन्न स्क्रिप्ट फ़ाइलों को सेट करता है, यह चर सेट करने के लिए सबसे आसान स्थान हो सकता है। डिफ़ॉल्ट कॉन्फ़िगरेशन लगभग गारंटी देता है कि इस फ़ाइल को बैश के प्रत्येक और हर आह्वान के साथ-साथ लॉग इन करते समय निष्पादित किया जाएगा। चित्रमय वातावरण में। हालाँकि, प्रदर्शन-वार यह सबसे अच्छी बात नहीं हो सकती है क्योंकि यह कई बार मानों को अनावश्यक रूप से सेट कर देगा।

http://userbase.kde.org/Session_Environment_Variables/en KDE के लिए इस स्थान का सुझाव देता है:

केडीई किसी भी स्क्रिप्ट को निष्पादित करेगा जो $HOME/.kde/envउसके फ़ाइलनाम में समाप्त होता है .sh, और यह उनके द्वारा निर्धारित सभी पर्यावरण चर बनाए रखेगा। यह महत्वपूर्ण है कि आप जो भी चर सेट करना चाहते हैं, उसे भी निर्यात किया जाना चाहिए।

https://help.ubuntu.com/community/ComposeKey#XIM संशोधन ~/.gnomercया सुझाव देता है ~/.Xsession


1

.gnomercअपने $ घर में एक फ़ाइल बनाएं जो एक शेल स्क्रिप्ट है ( जैसे.bashrc ) जो आपके इच्छित सभी चर सेट करता है।


यह दुर्भाग्य से मेरे लिए काम नहीं कर रहा है।
बर्नार्ड

क्या आपने गनोम-टर्मिनल खोलने की कोशिश की है और पुष्टि की है कि यह एनवी में दिखाई नहीं देता है?
माइक मैकक्विड

1
@ माइक: यह मेरे .bashrc में है, इसलिए यह दिखाई देगा, लेकिन यह गलत होगा। Emacs और M-x getenvपुष्टि करता है कि GUI ऐप्स के लिए इसे ओवरराइड नहीं किया जा रहा है।
बर्नार्ड

0

क्या आपने पर्यावरण चर int .profile या / etc / प्रोफाइल बनाने की कोशिश की है ?

यह काम करना चाहिए और पहले से मौजूद होना चाहिए। प्रति टर्मिनल सत्र के अनुसार .bashrc के विपरीत , ये आपके सत्र के लिए लॉगिन पर आरंभ किए जाते हैं।


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