मैं अपने एप्लिकेशन को अधिक सुविधाजनक तरीके से कैसे शुरू कर सकता हूं?


9

मैं उबंटू में नया हूं। मेरे पास एक एप्लिकेशन है जिसे मैं निम्नलिखित तरीके से खोलता हूं। मैं कंसोल में टाइप करता हूं:

cd ~/MyDirectory
./myapp +some arguments

मैं कैसे समाधान पा सकता हूं, इसलिए मैं हर बार इन कमांडों को कंसोल में टाइप किए बिना अपना एप्लिकेशन लॉन्च कर सकता हूं? मैं एक स्क्रिप्ट के बारे में सोच रहा हूं, जैसे कि बैट-स्क्रिप्ट या खिड़कियों में .lnk।

इसी तरह के अन्य प्रश्नों में मुझे कोई हल नहीं मिला क्योंकि स्क्रिप्टिंग का केवल कुछ उल्लेख और चर्चा थी। मुझे नहीं लगा कि मैं अन्य प्रश्नों में "cd" कमांड का उपयोग कैसे कर सकता हूं, और यह प्रश्न मेरे द्वारा सुझाए गए अन्य लोगों की नकल नहीं है।


@steeldriver, नहीं, मुझे इस सवाल का हल नहीं मिला। स्क्रिप्ट के माध्यम से सीडी कमांड और रनिंग ऐप के बारे में कुछ भी नहीं है।
निक

# 1 क्या आप चाहते हैं कि समाधान एक आइकन हो जिसे आप अपने डेस्कटॉप पर क्लिक कर सकते हैं, या यह कुछ ऐसा होगा जिसकी आपको आवश्यकता है / कमांड प्रॉम्प्ट से चलाना चाहते हैं? # 2 तर्क कितनी बार बदलेगा?
रॉनजॉन

बातचीत (इस मामले में सुरक्षित रूप से) मानती है कि एक डेस्कटॉप है। अक्सर स्क्रिप्टिंग की दुनिया में बहुत कुछ नहीं होगा।
mckenzm

जवाबों:


21

एक स्क्रिप्ट काफी ओवरकिल है।

जैसे .desktop फ़ाइल का उपयोग करें:

[Desktop Entry]
Exec=/bin/bash -c "cd ~/MyDirectory && myapp some_arguments"
Name=Some App
Type=Application
  • इसे इस रूप में सहेजें some_app.desktop
  • इसे निष्पादन योग्य और डबल क्लिक करें

एनबी

सवाल यह है कि इसे अपनी निर्देशिका से चलाने की आवश्यकता है या नहीं। यदि नहीं, तो कमांड और भी सरल हो सकती है:

Exec='/home/MyUserName/MyDirectory/myapp' some_arguments

2
वास्तव में धन्यवाद। .desktopफ़ाइल इस कार्य के लिए पर्याप्त है।
निक

2
@ ओलो अगर ओपी एक समाधान के लिए पूछता है, जो उसकी समस्या के लिए सबसे इष्टतम नहीं है, लेकिन वह एक बेहतर मौजूद नहीं है, तो आप उसे उसकी समस्या के लिए बेहतर समाधान दे सकते हैं यदि आप एक जानते हैं। यदि आपको यह नहीं दिखाई देता है कि आप इस बात को याद कर रहे हैं कि यहाँ क्या उत्तर होना चाहिए।
जैकब व्लिजम

1
@dessert संपादन के लिए धन्यवाद। हमें रिक्त स्थान के साथ रास्तों से निपटना पड़ सकता है :)
याकूब Vlijm

1
आप ./myapp …सिर्फ myapp …इसलिए लिखना चाह सकते हैं क्योंकि वर्तमान निर्देशिका, .डिफ़ॉल्ट रूप से पथ परिवर्तन का हिस्सा नहीं है
पर्लडक

1
अगर आपको लगता है कि मौजूदा पर्याप्त नहीं हैं, तो कृपया अपना जवाब जोड़ने के लिए स्वतंत्र महसूस करें।
फाबबी

13

निम्नलिखित सामग्री के साथ एक फ़ाइल बनाएँ:

#!/bin/bash
cd ~/MyDirectory
./myapp +some arguments

फिर इसे निष्पादन योग्य बनाएं:

chmod u+x scriptname

अब आप इस स्क्रिप्ट को इस तरह कह सकते हैं: /pathtoscript/scriptname

आप इसे v010dya के उत्तर के साथ जोड़ सकते हैं , और इस स्क्रिप्ट को किसी भी bin$ PATH में डाल सकते हैं , इसलिए दोनों कॉलिंग विधियां संभव हैं: शेल में किसी भी निर्देशिका प्रकार में scriptnameया नीचे बताए गए डेस्कटॉप शॉर्टकट का उपयोग करें। बस /pathtoscriptस्क्रिप्ट के वास्तविक स्थान में परिवर्तन करें।

स्क्रिप्ट का एक शॉर्टकट बनाएं, इसे अंदर रखें ~/.local/share/applications/और इसे निम्न सामग्री के साथ somename.desktop की तरह नाम दें:

[Desktop Entry]
Version=1.0
Name=Script
Comment=
Keywords=Script
Exec=/pathtoscript/scriptname
Terminal=false
X-MultipleArgs=true
Type=Application
Icon=preferences-system
Categories=GTK;Development;
StartupNotify=false

फिर यह एप्लिकेशन सूची में दिखाई देगा


1
आपका जवाब काम कर रहा है, धन्यवाद। लेकिन वास्तव में क्षमा करें, स्क्रिप्ट बहुत कठिन है, मुझे इसके बारे में पता नहीं था। और मेरा उत्तर समसामयिक रूप से स्क्रिप्ट में था, लेकिन समाधान के किसी भी तरीके को खोजने में नहीं। मैं आपको +1 करूंगा।
निक

1

हालाँकि आपको पहले से ही एक समाधान मिल गया है जिस पर आप डबल क्लिक कर सकते हैं, एक समाधान है जो कमांड लाइन से चलने के लिए इसे अधिक तुच्छ बनाता है:

चरण 1 - एक स्क्रिप्ट लिखें

यह पहले से ही द्वारा कवर किया जाता एक जवाब की LeonidMew , मैं इसे यहाँ कॉपी जाएगा:

#!/bin/bash
cd ~/MyDirectory
./myapp +some arguments

और फिर

chmod u+x scriptname

चरण 2 - निष्पादित करना आसान बनाएं

आपको एक निर्देशिका ~/binबनाने और कमांड के लिए बैश सर्च करने की आवश्यकता है । इसलिए टर्मिनल में हम लिखते हैं:

mkdir ~/bin
mv scriptname ~/bin
vim ~/.profile

यहाँ मैं टर्मिनल में सब कुछ कर रहा हूँ, आप निश्चित रूप dirसे अपनी होम डायरेक्टरी में एक डायरेक्टरी बना सकते हैं और अपनी स्क्रिप्ट को ग्राफिकल टूल्स के माध्यम से वहाँ ले जा सकते हैं, जिनसे आप सहज हैं। इसके अलावा, मैं एक संपादक के रूप में विम का उपयोग कर रहा हूं , लेकिन शुरुआती लोगों के लिए उपयोग करना थोड़ा मुश्किल है, मैं आपको सीखने की सलाह दूंगा, लेकिन आप .profileअपने घर की निर्देशिका के अंदर संपादन करने के लिए एक अलग संपादक (यहां तक ​​कि चित्रमय) का उपयोग कर सकते हैं , ध्यान दें कि यह फ़ाइल डिफ़ॉल्ट रूप से छिपा हुआ है।

आपको उस फ़ाइल के अंत में निम्नलिखित जोड़ना होगा

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

यदि आप vim का उपयोग कर रहे हैं तो आप iटेक्स्ट जोड़ना शुरू करने के लिए प्रेस करते हैं, और फिर Escएंडिंग को जोड़ना चाहते हैं। उसके बाद आप :wqफ़ाइल लिखने और बाहर निकलने के लिए इनपुट करें। या, जैसा कि मैंने पहले ही कहा है, अधिक सरल संपादक का उपयोग करें।

चरण 3 - आनंद लें

अब, इससे कोई फर्क नहीं पड़ेगा कि आप किस निर्देशिका में हैं, आप हमेशा टाइप scriptnameऔर प्रेस कर सकते हैं Enter। आप अन्य स्क्रिप्ट और एप्लिकेशन भी रख सकते हैं जिन्हें आप निष्पादन योग्य बनाना चाहते हैं ~/bin


1
आपने लिखा है कि कैसे वीआईएम से बाहर निकलें, +1 जस्ट किडिंग, अच्छा जवाब। आपका समाधान उपयोगी है। अभी भी .desktop फ़ाइल बनाना, ऐप्स सूची या मेनू से स्क्रिप्ट चलाना (DE पर निर्भर करता है) संभव है। पैचिंग के बाद .profile लॉगआउट / लॉगिन की आवश्यकता है। इसके अलावा, घर को नोइसेक विकल्प के साथ रखा जा सकता है, इस मामले में इसकी स्क्रिप्ट / usr / स्थानीय / बिन / (सुडोकू का उपयोग करके) में डालने की आवश्यकता है।
लियोनिदमेव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.