Alt + F2 (रन एप्लिकेशन) कस्टम कमांड के लिए काम नहीं करता है


12

Android विकास को गति देने के लिए, मैंने ~/.bashrcकुछ रास्तों को जोड़ने के लिए अपना संपादन किया है PATH:

export PATH=${PATH}:/opt/android-sdk/tools:/opt/android-sdk/platform-tools

यह कमांड लाइन से ठीक काम करता है (मैं सिर्फ टाइप कर सकता हूं androidऔर, मैं जहां भी हूं, एंड्रॉइड एसडीके और एवीडी मैनेजर केवल ठीक शुरू कर देंगे।

हालाँकि, यदि मैं संवाद (रन ​​एप्लिकेशन) androidमें टाइप करने की कोशिश करता हूं, तो Alt+F2यह निम्नलिखित त्रुटि देता है:

स्थान नहीं खोल सका 'फ़ाइल: /// होम / फेलिक्स / एंड्रॉइड'

फ़ाइल '/ home / felix / android' बताने में त्रुटि: ऐसी कोई फ़ाइल या निर्देशिका नहीं

ऐसा क्यों है? PATHरन एप्लिकेशन डायलॉग क्या उपयोग करता है?

जवाबों:


11

मुझे लगता है कि bashrcसूक्ति द्वारा पढ़ा नहीं जाता है, और यह क्यों होना चाहिए, क्योंकि यह एक विन्यास फाइल है bash

में अपना रास्ता परिभाषित करता हूँ ~/.profile। इस फ़ाइल को निश्चित रूप से सूक्ति और XFCE वातावरण द्वारा पढ़ा जाना चाहिए और दूसरों द्वारा भी। (लेकिन यह केवल लॉगिन पर पढ़ा जाता है, इसलिए आपको प्रभावी होने के लिए किसी भी बदलाव में लॉग आउट करना होगा!)


मैंने PATH=बयान को स्थानांतरित कर दिया ~/.profileऔर यह Alt + F2 और एक टर्मिनल दोनों में काम करता है। धन्यवाद।
फेलिक्स

मेरे मामले में, मैं यह नहीं पता लगा सका कि लॉगिन सत्र के साथ शुरू करने के लिए एक्स सत्र कैसे बनाया जाए ताकि यह पढ़ा ~/.profileजाए, इसलिए मुझे / बिन / डैश को इंगित करने के लिए / बिन / श को बदलना पड़ा
एलियास

1
अरे, यह Gnome 3.30.1 बोल रहा है, और PATH की स्थापना ~/.profileअब काम नहीं करता है। क्या इस पर कोई अपडेट है?
इगा-लिटो

2

~/.bashrc~/.profileडिफ़ॉल्ट रूप से शामिल है । ~/binनिर्देशिका में जुड़ने PATHभी डिफ़ॉल्ट रूप से। ~/binनिर्देशिका बनाएं और ln -sउन एप्लिकेशनों को जोड़ें, जिन्हें आप उपयोग करने का इरादा रखते हैं, या संशोधित करते हैं ~/.bashrc

उल्लिखित फ़ाइलों की डिफ़ॉल्ट सामग्री में पाया जा सकता है /etc/skel- नए खाते और उनके घर निर्देशिकाओं का निर्माण करते समय।


1
हाँ, अगर .profileएक द्वारा निष्पादित किया जा रहा है bash! $BASH_VERSIONपरिभाषित होने के लिए सशर्त जांच , जो गनोम नहीं करेगा। और वैसे, स्थिति को हटाने से कुछ डेस्कटॉप वातावरणों के साथ समस्या हो जाएगी, जैसे कि एलएक्सडीई।
कार्स्टन थिएल

0

लिनक्स टकसाल (दालचीनी 2.8.8) के साथ मेरे पास एक ही मुद्दा था, और कोई तरीका नहीं था कि मैं इसे सामान्य सुधारों के साथ काम कर पाऊं (एक .profile, बदलते Xsessionशेबंग का उपयोग करके /bin/sh -l)।

मुद्दा यह है कि /bin/sh, जो आमतौर पर एक लॉगिन शेल (यदि विकल्प दिया गया हो ) को /bin/dashपढ़ने के लिए एक सिंबल है ।~/.profile-l

आप इसे स्ट्रेस से देख सकते हैं:

$ strace -e open dash
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
$ ^D
+++ exited with 0 +++
$ strace -e open dash -l
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
open("/etc/profile", O_RDONLY)          = 3
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=12260, si_status=0, si_utime=0, si_stime=0} ---
open("/etc/profile.d/Z97-byobu.sh", O_RDONLY) = 3
open("/etc/profile.d/bash_completion.sh", O_RDONLY) = 3
open("/etc/profile.d/vte.sh", O_RDONLY) = 3
open("/home/elias/.profile", O_RDONLY)  = 3
$ ^D
+++ exited with 0 +++

मैं पता नहीं लगा सका कि कौन सी स्क्रिप्ट को बदलने की कोशिश की गई (/ / 11 / और / आदि / mdm के तहत उनमें से एक गुच्छा), लेकिन कोई किस्मत नहीं।

इसलिए मैं तौलिया फेंक दिया और बदल /bin/shकरने के लिए बात करने के लिए /bin/bashके बजाय /bin/dashऔर अब यह काम कर रहा है। :)

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