लॉन्च के माध्यम से पर्यावरण चर सेट करना। OS X Yosemite / El Capitan / macOS Sierra / Mojave में अब कोई काम नहीं करता है?


189

ऐसा लगता है कि launchd.confअब मेरे पर्यावरण चर को लोड नहीं करता है। क्या किसी और ने उस पर ध्यान दिया है?

क्या पर्यावरण चर को स्थायी रूप से सेट करने का एक और उपाय है?


यह काम करता है और आवेदन में खुद को उपलब्ध कराता है, लेकिन टर्मिनल में नहीं
चांग झाओ

जवाबों:


158

इस सामग्री के साथ एक environment.plistफ़ाइल बनाएँ ~/Library/LaunchAgents/:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>my.startup</string>
  <key>ProgramArguments</key>
  <array>
    <string>sh</string>
    <string>-c</string>
    <string>
    launchctl setenv PRODUCTS_PATH /Users/mortimer/Projects/my_products
    launchctl setenv ANDROID_NDK_HOME /Applications/android-ndk
    launchctl setenv PATH $PATH:/Applications/gradle/bin
    </string>

  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

आप ब्लॉक के launchctlअंदर कई कमांड जोड़ सकते हैं <string></string>

plistसिस्टम रिबूट के बाद सक्रिय कर देंगे। आप launchctl load ~/Library/LaunchAgents/environment.plistइसे तुरंत लॉन्च करने के लिए भी उपयोग कर सकते हैं ।

[संपादित करें]

एल कैपिटन में भी यही समाधान काम करता है।

Xcode 7.0+ डिफ़ॉल्ट रूप से पर्यावरण चर का मूल्यांकन नहीं करता है। इस आदेश के साथ पुराना व्यवहार सक्षम किया जा सकता है:

defaults write com.apple.dt.Xcode UseSanitizedBuildSystemEnvironment -bool NO

[संपादित करें]

वहाँ कुछ स्थितियों में जहाँ यह काफी काम नहीं करता है। यदि कंप्यूटर को पुनरारंभ किया गया है और "लॉग इन करते समय विंडो फिर से खोलें" का चयन किया जाता है, तो फिर से खोल दी गई खिड़कियां चर नहीं देख सकती हैं (शायद वे एजेंट को चलाने से पहले खोले जाते हैं)। इसके अलावा, यदि आप ssh के माध्यम से लॉग इन करते हैं, तो चर सेट नहीं किए जाएंगे (इसलिए आपको उन्हें ~ / .bash_profile में सेट करने की आवश्यकता होगी)। अंत में, यह एल कैपिटन और सिएरा पर पेट के लिए काम नहीं करता है। इसे 'लॉन्चर कॉन्फ़िगर उपयोगकर्ता पथ ...' और / etc / पथों के माध्यम से सेट करने की आवश्यकता है।


20
रिबूट करने की आवश्यकता नहीं है! आप "startctl start environment.plist" कर सकते हैं और नए env
वर्जन

1
यह मेरे लिए पैठ चर के साथ काम नहीं करेगा। तो अन्य चर सेट करने के लिए इस दृष्टिकोण के अलावा, मैं अपने ~ / .bash_profile में PATH चर सेट करता हूं। यह अच्छी तरह से हर मामले के लिए काम नहीं कर सकता है, लेकिन अभी तक मुझे कोई समस्या नहीं हुई है।
djule5

6
यह पता लगाया: रिबूट के बिना काम करने के लिए, यह "लॉन्चक्टल लोड एनवायरनमेंट.प्लिस्ट" होना चाहिए , शुरू
डेव हार्टनॉल

2
आह येस। संपूर्ण इंटरनेट (Google UseSanitizedBuildSystemEnvironment) में 9 बार दिखाई देने वाली अस्पष्ट कॉन्फ़िगरेशन सेटिंग जैसा कुछ भी नहीं है ।
ओहद श्नाइडर

2
सिएरा पर भी काम करता है
Shwouchk

64

[ मूल जवाब ]: आप अभी भी उपयोग कर सकते हैं launchctl setenv variablename valueएक चर ताकि द्वारा उठाया जाता है स्थापित करने के लिए सभी (चित्रमय अनुप्रयोगों, डॉक या स्पॉटलाइट के माध्यम से शुरू कर दिया टर्मिनल के माध्यम से शुरू कर दिया उन के अलावा) अनुप्रयोगों।

जाहिर है कि आप हर बार लॉगिन करते समय ऐसा नहीं करना चाहेंगे।

[ संपादित करें ]: इससे बचने के लिए, लॉन्च करें AppleScript Editor, इस तरह एक कमांड दर्ज करें:

do shell script "launchctl setenv variablename value"

(यदि आप कई चर सेट करना चाहते हैं तो कई लाइनों का उपयोग करें)

अब फाइल फॉर्मेट: एप्लीकेशन के रूप में ( + s) सेव करें । अंत में → उपयोगकर्ता और समूहआइटम खोलें और अपना नया एप्लिकेशन जोड़ें।System Settings

[ मूल उत्तर ]: इस जगह के चारों ओर काम करने के लिए आप एक छोटे शेल स्क्रिप्ट में परिभाषित करने के लिए इच्छित सभी चर, फिर MacOS लॉगिन पर एक स्क्रिप्ट को चलाने के तरीके के बारे में इस पिछले उत्तर पर एक नज़र डालें । जब उपयोगकर्ता लॉग इन करता है तो स्क्रिप्ट को आमंत्रित किया जाएगा।

[ संपादित करें ]: न तो समाधान सही है क्योंकि चर केवल उस विशिष्ट उपयोगकर्ता के लिए निर्धारित किए जाएंगे, लेकिन मैं उम्मीद कर रहा हूं / अनुमान लगा रहा हूं कि आप सभी की आवश्यकता हो सकती है।

यदि आपके पास एक से अधिक उपयोगकर्ता हैं, तो आप उनमें से प्रत्येक के लिए मैन्युअल रूप से एक लॉगिन आइटम सेट कर सकते हैं या एक ही शेल स्क्रिप्ट की ओर इशारा करते हुए अपने प्रत्येक स्थानीय लाइब्रेरी / LaunchAgents निर्देशिका में com.user.loginscript.plist की एक प्रति रख सकते हैं

दी गई, दोनों में से कोई भी कार्यविधि /etc/launchd.conf जितनी सुविधाजनक नहीं है

[ आगे संपादित करें ]: नीचे एक उपयोगकर्ता का उल्लेख है कि यह उसके लिए काम नहीं करता था। हालाँकि मैंने कई योसेमाइट मशीनों पर परीक्षण किया है और यह मेरे लिए काम करती है। यदि आपको कोई समस्या हो रही है, तो याद रखें कि प्रभावी होने के लिए आपको अनुप्रयोगों को पुनरारंभ करना होगा। इसके अतिरिक्त अगर आप टर्मिनल में ~ / .profile या ~ / .bash_profile के माध्यम से चर सेट करते हैं, तो वे शेल से शुरू किए गए अनुप्रयोगों के लिए लॉन्चक्ट सेटेनव के माध्यम से सेट की गई चीजों को ओवरराइड करेंगे ।


5
जहां तक ​​मैं बता सकता हूं, इस तकनीक का एक नकारात्मक पहलू यह है कि लॉगिन पर शुरू किए गए किसी भी अन्य अनुप्रयोगों के लिए चर (ओं) को सेट नहीं किया जाएगा। उदाहरण के लिए यदि आप टर्मिनल खोलते हैं, तो चर सेट हो जाएगा, लेकिन यदि आप लॉग ऑन करते हैं और फिर से वापस आते हैं, तो टर्मिनल स्वचालित रूप से पुनः आरंभ होता है, तो चर
अप्रभावित

मैंने इस समाधान की कोशिश की है और यह मेरे लिए भी काम नहीं करता है। लेकिन मैं विशेष रूप से अपने जावा आईडीई (इंटेलीज) से अपेक्षा कर रहा हूं कि वे मेरे मार्ग संशोधनों को उठाएं और ऐसा नहीं है। टर्मिनल से सब कुछ ठीक काम करता है। यह इंटेलीज में एक बग हो सकता है। फिर भी निराशा है कि Apple ने इस कार्यक्षमता को हटा दिया। मैंने Apple को फोन किया और वे बहुत मददगार नहीं थे।
जेसन

यह मेरे लिए काम कर रहा है, लेकिन क्या आप जानते हैं कि सूडो में पर्यावरण चर को जोड़ने के लिए क्या करना है?
एटीनियोनेल

2
यह सामान्य रूप से काम करेगा, हालांकि योसेमाइट (10.10.0 और 10.10.1 कम से कम) में एक बग है जहां $ PATH की स्थापना इस तरह से काम नहीं करती है। सेब बग के बारे में पता है। वर्तमान में (10.10.1 तक) GUI ऐप्स के लिए सिस्टम-वाइड $ PATH सेट करने का कोई ज्ञात तरीका नहीं है।
टीजे लुओमा

3
उपरोक्त वर्णित विधियों में से एक का उपयोग करने के बाद और अपने लैपटॉप को रिबूट करें - सुनिश्चित करें कि आप स्पष्ट रूप से एप्लिकेशन (जैसे iTerm, टर्मिनल, ग्रहण, IDEA या जो भी आप उपयोग कर रहे हैं) को फिर से खोल दें। यदि आप स्पष्ट रूप से उन्हें पुनः आरंभ नहीं करते हैं और यदि रिबूट करते समय OSx चेकबॉक्स को "लॉग इन करते समय विंडोज़ को फिर से शुरू करें" (जो कि डिफ़ॉल्ट है) को चेक किया गया था - वे प्रोग्राम ताज़ा वातावरण चर नहीं पढ़ेंगे।
रण

21

मैक ओएस एक्स 10.10 योसेमाइट पर पर्यावरण चर को 3 फाइलों + 2 कमांड के साथ सेट करना संभव है।

पर्यावरण चर परिभाषा के साथ मुख्य फ़ाइल:

$ ls -la /etc/environment 
-r-xr-xr-x  1 root  wheel  369 Oct 21 04:42 /etc/environment
$ cat /etc/environment
#!/bin/sh

set -e

syslog -s -l warn "Set environment variables with /etc/environment $(whoami) - start"

launchctl setenv JAVA_HOME      /usr/local/jdk1.7
launchctl setenv MAVEN_HOME     /opt/local/share/java/maven3

if [ -x /usr/libexec/path_helper ]; then
    export PATH=""
    eval `/usr/libexec/path_helper -s`
    launchctl setenv PATH $PATH
fi

osascript -e 'tell app "Dock" to quit'

syslog -s -l warn "Set environment variables with /etc/environment $(whoami) - complete"

उपयोगकर्ता अनुप्रयोगों (टर्मिनल, आईडीई, ...) के लिए पर्यावरण चर को लोड करने की सेवा परिभाषा:

$ ls -la /Library/LaunchAgents/environment.user.plist
-rw-------  1 root  wheel  504 Oct 21 04:37 /Library/LaunchAgents/environment.user.plist
$ sudo cat /Library/LaunchAgents/environment.user.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>environment.user</string>
    <key>ProgramArguments</key>
    <array>
            <string>/etc/environment</string>
    </array>
    <key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>WatchPaths</key>
    <array>
        <string>/etc/environment</string>
    </array>
</dict>
</plist>

रूट उपयोगकर्ता अनुप्रयोगों के लिए समान सेवा परिभाषा:

$ ls -la /Library/LaunchDaemons/environment.plist
-rw-------  1 root  wheel  499 Oct 21 04:38 /Library/LaunchDaemons/environment.plist
$ sudo cat /Library/LaunchDaemons/environment.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>environment</string>
    <key>ProgramArguments</key>
    <array>
            <string>/etc/environment</string>
    </array>
    <key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>WatchPaths</key>
    <array>
        <string>/etc/environment</string>
    </array>
</dict>
</plist>

और अंत में हमें इन सेवाओं को पंजीकृत करना चाहिए:

$ launchctl load -w /Library/LaunchAgents/environment.user.plist
$ sudo launchctl load -w /Library/LaunchDaemons/environment.plist

हमें क्या मिलता है:

  1. सिस्टम वातावरण चर घोषित करने के लिए एकमात्र स्थान: / etc / पर्यावरण
  2. / आदि / पर्यावरण फ़ाइल के संशोधन के बाद पर्यावरण चर का तत्काल ऑटो-अपडेट - बस अपने आवेदन को पुनः लोड करें

समस्याएँ / समस्याएँ:

सिस्टम रिबूट के बाद आपके एनवी चर को सही ढंग से अनुप्रयोगों द्वारा लिया गया था :

  • या तो दो बार लॉगिन करें: लॉगिन => लॉगआउट => लॉगिन
  • या मैन्युअल रूप से अनुप्रयोग बंद या फिर से खोलें, जहां env चर लिया जाना चाहिए
  • या "लॉग लॉग करते समय विंडो को फिर से खोलें" सुविधा का उपयोग न करें।

ऐसा ऐप्पल द्वारा लोड की गई सेवाओं के स्पष्ट आदेश से इनकार करने के कारण होता है, इसलिए env वैरिएबल "रोपेन क्वीन" के प्रसंस्करण के साथ समानांतर में पंजीकृत हैं।

लेकिन वास्तव में, मैं अपने सिस्टम को प्रति वर्ष केवल कई बार (बड़े अपडेट पर) रिबूट करता हूं, इसलिए यह कोई बड़ी बात नहीं है।


महान विचार। मैंने इसे आज़माया है और यह अधिकांश पर्यावरण चर (जैसे JAVA_HOME) के लिए काम करता है , लेकिन PATHचर के लिए नहीं ( मेरे प्रश्न को अलग से देखें )।
१०

4
पैठ को / etc / पथ फ़ाइल के साथ सेट किया जाना चाहिए। बस इस फ़ाइल के अंत में अपना कस्टम पथ जोड़ें।
०a

मैं उससे परिचित नहीं हूं launchd, लेकिन क्या उन डेमन को बूट में लोड करना संभव नहीं होगा (यानी लॉगिन से पहले)? आपको उन सभी मुद्दों को दरकिनार करना चाहिए जिनका आप उल्लेख करते हैं।
एगॉन

मुझे ऊपर का दृष्टिकोण बहुत पसंद है लेकिन प्रबंधन करने के लिए एक अजीब मुद्दा है। एक जेनरेट रिबूट के बाद VARNAME मुझे सही मूल्य देता है, लेकिन $ VARNAME कुछ भी नहीं देता है। इसका क्या कारण हो सकता है? मैंने कहा है कि stackoverflow.com/questions/27045137/… के रूप में अच्छी तरह से और उम्मीद है कि यहाँ किसी को भी एक विचार है
ctp

सुनिश्चित करें कि फ़ाइल / / / पर्यावरण की अनुमतियाँ ऊपर वर्णित हैं।
imanuelcostigan

6

से उद्धृत किया गया

Apple Developer Relations 10-Oct-2014 09:12 PM

बहुत विचार-विमर्श के बाद, इंजीनियरिंग ने इस सुविधा को हटा दिया है। /etc/launchd.confसुरक्षा कारणों से फ़ाइल को जानबूझकर हटा दिया गया था। वर्कअराउंड के रूप में, आप launchctl limitबूट के दौरान रूट के रूप में जल्दी से चला सकते हैं , शायद ए से LaunchDaemon। (...)

उपाय:

कोड को /Library/LaunchDaemons/com.apple.launchd.limit.plistbash-script द्वारा डालें :

#!/bin/bash

echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>eicar</string>
        <key>ProgramArguments</key>
        <array>
                <string>/bin/launchctl</string>
                <string>limit</string>
                <string>core</string>
                <string>unlimited</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>ServiceIPC</key>
        <false/>
</dict>
</plist>' | sudo tee /Library/LaunchDaemons/com.apple.launchd.limit.plist

1
क्या आप इसे थोड़ा और समझा सकते हैं? मैं यह नहीं देख सकता कि 'समस्या सुलझाओ' कैसे प्रारंभिक समस्या से संबंधित है!
निक एच 247

ओपी नहीं, लेकिन मुझे लगता है कि यहां पर जिस्ट है: इस प्लिस्ट में डाल दिया /Library/LaunchDaemons, और कमांड launchctlचलाने के लिए कहने के बजाय limit, इसे तर्क के setenvसाथ कमांड PATHऔर एक पथ स्ट्रिंग चलाने के लिए कहें । launchdस्टार्टअप पर इसे स्वचालित रूप से चुनना चाहिए और लगभग तुरंत स्व-संशोधित करना चाहिए।
लैरड नेल्सन

5
Xml को अपूर्ण रूप से कॉपी किया गया है। <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
Doctype

6
@ मोम उस हिस्से का कौन सा हिस्सा वास्तव में एक पर्यावरण चर निर्धारित करता है?
हेयरऑफइनडॉग

3

यहां पुराने व्यवहार को बहाल करने के आदेश दिए गए हैं:

# create a script that calls launchctl iterating through /etc/launchd.conf
echo '#!/bin/sh

while read line || [[ -n $line ]] ; do launchctl $line ; done < /etc/launchd.conf;
' > /usr/local/bin/launchd.conf.sh

# make it executable
chmod +x /usr/local/bin/launchd.conf.sh

# launch the script at startup
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>launchd.conf</string>
  <key>ProgramArguments</key>
  <array>
    <string>sh</string>
    <string>-c</string>
    <string>/usr/local/bin/launchd.conf.sh</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>
' > /Library/LaunchAgents/launchd.conf.plist

अब आप setenv JAVA_HOME /Library/Java/Homeमें जैसे कमांड निर्दिष्ट कर सकते हैं /etc/launchd.conf

एल Capitan पर जाँच की।


2

मेरे लिए क्या काम किया (प्रेरणा से धन्यवाद):

इसे /Library/LaunchDaemons/com.apple.launchd.limit.plist पर रिबूट करें:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  <plist version="1.0">
  <dict>
  <key>Label</key>
  <string>eicar</string>
  <key>ProgramArguments</key>
  <array>
    <string>/bin/launchctl</string>
    <string>limit</string>
    <string>maxfiles</string>
    <string>16384</string>
    <string>16384</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>ServiceIPC</key>
  <false/>
</dict>
</plist>

यदि आपको इसकी आवश्यकता चरण दर चरण है:

  • टर्मिनल लॉन्च करें
  • इसके बाद sudo su टाइप करें और लॉग इन करने के लिए अपना पासवर्ड दर्ज करें
  • टाइप vi /Library/LaunchDaemons/com.apple.launchd.limit.plist
  • जब vi संपादक में, कुंजी प्रेस मैं मोड डालने दर्ज करने के लिए तो ऊपर सटीक कोड सामग्री पेस्ट ( ⌘+v)। यह प्रति प्रक्रिया 16384 फ़ाइलों और 16384 फ़ाइलों की कुल सीमा को बाध्य करेगा
  • अपनी फ़ाइल सहेजें और escतब उपयोग करना छोड़ दें:wq
  • अपने सिस्टम को रिबूट करें, और जांचें कि यह कमांड लॉन्चर सीमा का उपयोग करके काम कर रहा है

मैं आशा करता हूं कि इससे आपको मदद मिली होगी।


10
पर्यावरण चर की स्थापना के साथ इस समाधान का क्या करना है?
HairOfTheDog

2

आप https://github.com/ersiner/osx-env-sync एक कोशिश दे सकते हैं । यह एक ही स्रोत से कमांड लाइन और जीयूआई ऐप दोनों को संभालता है और ओएस एक्स (योसेमाइट) के नवीनतम संस्करण पर काम करता है ।

आप पथ प्रतिस्थापन और अन्य शेल ट्रिक का उपयोग कर सकते हैं क्योंकि आप जो लिखते हैं वह नियमित रूप से बैश स्क्रिप्ट है जो पहले स्थान पर बैश द्वारा खट्टा होना है। कोई प्रतिबंध नहीं .. ( osx-env-सिंक प्रलेखन की जांच करें और आप समझ जाएंगे कि यह कैसे प्राप्त होता है।)

मैंने यहां एक ऐसे ही सवाल का जवाब दिया, जहां आप अधिक पाएंगे।


-3

समाधान के लिए अपने चर जोड़ने के लिए है /etc/profile। फिर सब कुछ उम्मीद के मुताबिक काम करता है! बेशक आप इसे sudo nano / etc / profile के साथ एक रूट उपयोगकर्ता के रूप में करना चाहिए। यदि आप इसे किसी अन्य तरीके से संपादित करते हैं, तो सिस्टम क्षतिग्रस्त / आदि / प्रोफ़ाइल के साथ शिकायत करेगा, भले ही आप अनुमति को रूट में बदल दें।


7
प्रोफ़ाइल में पर्यावरण चर जोड़ना बहुत अधिक हीन है क्योंकि यह केवल शेल प्रक्रियाओं को प्रभावित करता है।
उलोपी

-5

मैंने निम्नलिखित तरीके से ~ / .bash_profile में चर जोड़े। आपके द्वारा पुनरारंभ किए जाने के बाद / लॉग आउट करें और लॉग इन करें

export M2_HOME=/Users/robin/softwares/apache-maven-3.2.3
export ANT_HOME=/Users/robin/softwares/apache-ant-1.9.4
launchctl setenv M2_HOME $M2_HOME
launchctl setenv ANT_HOME $ANT_HOME
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/robin/softwares/apache-maven-3.2.3/bin:/Users/robin/softwares/apache-ant-1.9.4/bin
launchctl setenv PATH $PATH

नोट: बिना पुनरारंभ / लॉग आउट और लॉग इन के आप इन परिवर्तनों का उपयोग करके आवेदन कर सकते हैं;

source ~/.bash_profile

ध्यान दें कि आपको लॉग आउट नहीं करना है और वापस अंदर जाना है। बस स्रोत कमांड का उपयोग करें। स्रोत .bash_profile
माइकल

2
साथ ही, इस पद्धति के साथ समस्या यह है कि आपको अभी भी एक टर्मिनल खोलना होगा, इससे पहले कि पर्यावरण चर उपलब्ध हो जाए। पहले जवाब में क्या करना बेहतर है इसलिए वे एक टर्मिनल खोलने के बिना उपलब्ध हैं।
माइकल

1
यह स्पॉटलाइट के माध्यम से लोड किए गए एप्लिकेशन पर काम नहीं करता है। stackoverflow.com/questions/135688/…
रासिका परेरा

1
बैश कॉन्फिग फाइल्स का उपयोग करना सीमित मदद का है क्योंकि यह मान लेता है कि आपको हमेशा प्रक्रिया के पूर्वज के रूप में बैश मिला है, जो आपके प्रभाव के लिए पर्यावरण की कोशिश कर रहा है। स्पॉटलाइट, खोजक, ईमेक, एक्सकोड, क्रोनोजर, लॉन्च एजेंट, कोई भी आईडीई, स्रोत नियंत्रण ब्राउज़र, आदि आदि सभी पूर्वज के रूप में बैश नहीं होने जा रहे हैं। एकमात्र प्रक्रिया जो लगातार इनको फैला सकती है, वह लॉन्चेड है।
बेन हाइड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.