मैं गनोम विंडो मैनेजर में एप्लिकेशन कैसे जोड़ सकता हूं?


50

गनोम ऑन-बोर्ड प्रलेखन केवल उन चीजों को शामिल करता है जो कोई भी आसानी से अनुमान लगा सकता है। मेरे पास एक आवेदन है कि मैं केवल कमांड लाइन से शुरू कर सकता हूं। ऐसा नहीं है कि मैं एक टर्मिनल का उपयोग कर रहा हूं लेकिन ...

वैसे भी, मैं गनोम WM को कमांड (और अधिमानतः एक अच्छा लोगो) कैसे जोड़ूं?


यदि आप राइट क्लिक करते हैं, तो आपको "संपादन मेनू" आइटम मिलेगा?
slm

नहीं, कोई राइट क्लिक मेनू बिल्कुल नहीं।
मार्ट

1
GNOME एक डेस्कटॉप वातावरण है , न कि एक विंडो मैनेजर । GNOME 2.x में विंडो मैनेजर को मेटासिटी कहा जाता है और GNOME3 एक कंपोजिटिंग विंडो मैनेजर का उपयोग करता है जिसे Mutter
थॉमस Nyman

जवाबों:


89

में सूक्ति और अन्य freedesktop.org जैसे -compliant डेस्कटॉप वातावरण, केडीई और एकता , आवेदन के माध्यम से डेस्कटॉप के मेनू या डेस्कटॉप खोल में जुड़ जाते हैं डेस्कटॉप प्रविष्टियों , साथ पाठ फ़ाइलों में परिभाषित .desktop(के रूप में भेजा विस्तार डेस्कटॉप फ़ाइलें )। डेस्कटॉप वातावरण उपलब्ध डेस्कटॉप प्रविष्टियों से निकाली गई संयुक्त जानकारी से एक उपयोगकर्ता के लिए मेनू का निर्माण करता है।

डेस्कटॉप फ़ाइलें दो स्थानों में बनाई जा सकती हैं:

  • /usr/share/applications/ सिस्टम में हर उपयोगकर्ता के लिए उपलब्ध डेस्कटॉप प्रविष्टियों के लिए
  • ~/.local/share/applications/ एकल उपयोगकर्ता के लिए उपलब्ध डेस्कटॉप प्रविष्टियों के लिए

काम करने के लिए नए जोड़े गए एप्लिकेशन के लिए आपको GNOME को पुनरारंभ करना पड़ सकता है।

प्रति सम्मेलन में, डेस्कटॉप फ़ाइलों में उनके नाम के स्थान या अंतर्राष्ट्रीय वर्ण शामिल नहीं होने चाहिए।

प्रत्येक डेस्कटॉप फ़ाइल समूहों में विभाजित है , प्रत्येक वर्ग कोष्ठक ( []) में समूह हेडर के साथ शुरू होता है । प्रत्येक अनुभाग में एक समान चिह्न ( ) द्वारा अलग किए गए कई कुंजी , मान जोड़े होते हैं =

नीचे डेस्कटॉप फ़ाइल का एक नमूना है:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Application Name
Comment=Application description
Icon=/path/to/icon.xpm
Exec=/path/to/application/executable
Terminal=false
Categories=Tags;Describing;Application

व्याख्या

  • [Desktop Entry]Desktop Entryसमूह हैडर एक डेस्कटॉप प्रविष्टि के रूप में फ़ाइल की पहचान
  • Type प्रविष्टि का प्रकार, मान्य मान हैं Application, LinkऔरDirectory
  • Encodingवर्ण एन्कोडिंग डेस्कटॉप फ़ाइल
  • Name मेनू या लॉन्चर में दिखाई देने वाला अनुप्रयोग नाम
  • Comment टूलटिप में प्रयुक्त एप्लिकेशन का विवरण
  • Icon मेनू या लॉन्चर में एप्लिकेशन के लिए दिखाया गया आइकन
  • Exec वह कमांड जिसका उपयोग शेल से एप्लिकेशन को शुरू करने के लिए किया जाता है।
  • Terminal क्या अनुप्रयोग को टर्मिनल में चलाया जाना चाहिए, मान्य मान हैं trueया नहींfalse
  • Categories सेमी-कोलोन ( ;) मेनू श्रेणियों की अलग सूची जिसमें प्रविष्टि दिखाई जानी चाहिए

Execकुंजी में कमांड लाइन के तर्क निम्नलिखित चर के साथ दर्शाए जा सकते हैं:

  • %f एक एकल फ़ाइल नाम।
  • %F कई फ़ाइल नाम।
  • %u एक एकल URL।
  • %U कई यूआरएल।
  • %d एक निर्देशिका। %fकिसी फ़ाइल का पता लगाने के लिए संयोजन के रूप में उपयोग किया जाता है ।
  • %D कई निर्देशिका। %Fफ़ाइलों का पता लगाने के लिए संयोजन के रूप में उपयोग किया जाता है ।
  • %n एक पथ के बिना एक फ़ाइल नाम।
  • %N पथ के बिना कई फ़ाइल नाम।
  • %k डेस्कटॉप फ़ाइल के स्थान का एक URI या स्थानीय फ़ाइल नाम।
  • %v डिवाइस प्रविष्टि का नाम।

ध्यान दें कि ~या $HOMEडेस्कटॉप संस्करण के भीतर पर्यावरण चर का विस्तार नहीं किया जाता है, इसलिए संदर्भित किसी भी निष्पादनयोग्य को या तो $PATHअपने पूर्ण पथ के माध्यम से या संदर्भित होना चाहिए ।

एक पूर्ण डेस्कटॉप प्रविष्टि विशिष्टता पर उपलब्ध है सूक्ति देव केंद्र

लिपियों को लॉन्च करें

यदि लॉन्च किए जाने वाले एप्लिकेशन को लागू करने से पहले किए जाने वाले कुछ चरणों की आवश्यकता होती है, तो आप एक शेल स्क्रिप्ट बना सकते हैं जो एप्लिकेशन लॉन्च करता है, और शेल स्क्रिप्ट में डेस्कटॉप प्रविष्टि को इंगित करता है। मान लीजिए कि एक एप्लिकेशन को एक निश्चित वर्तमान कार्यशील निर्देशिका से चलाने की आवश्यकता है। लॉन्च स्क्रिप्ट को एक उपयुक्त स्थान पर बनाएँ ( ~/bin/उदाहरण के लिए)। स्क्रिप्ट कुछ इस तरह दिख सकती है:

#!/bin/bash
pushd "/path/to/application/directory"
./application "$@"
popd

स्क्रिप्ट के लिए निष्पादन योग्य बिट सेट करें:

$ chmod +x ~/bin/launch-application

फिर Execलॉन्च स्क्रिप्ट की डेस्कटॉप प्रविष्टि में कुंजी इंगित करें :

Exec=/home/user/bin/launch-application

मैंने ऐसा किया, मैं एप्लिकेशन के तहत आइकन देख सकता हूं, लेकिन जब मैं क्लिक करता हूं तो ऐप शुरू नहीं होता है, कर्सर केवल कुछ सेकंड के लिए लोडिंग प्रतीक में बदल जाता है। कोई त्रुटि संदेश नहीं।
मार्ट

@ स्मार्ट आप हमें बता सकते हैं कि आप किस एप्लिकेशन के लिए लॉन्चर जोड़ने का प्रयास कर रहे हैं?
थॉमस निमन

1
एफटीएल - एक इंडी गेम जो मैंने वेब पर कहीं खरीदा है। कंसोल काम से शुरू।
मार्ट

1
@mart <path>/.FTLनामक एक छुपी हुई फ़ाइल की ओर इशारा करता है .FTL, जो कि वैसी नहीं है ./FTL, जो FTLवर्तमान निर्देशिका में नामक फ़ाइल की ओर इशारा करती है । आप शुरू करने के लिए कोशिश कर सकते हैं FTLके माध्यम से /full/path/path/to/FTLएक टर्मिनल में अगर आप किसी भी meaningfull त्रुटि आउटपुट प्राप्त देखने के लिए। उदाहरण के लिए, यदि वर्तमान कार्यशील निर्देशिका में पुस्तकालयों के लिए निष्पादन योग्य खोज करता है, यदि आप एक लांचर स्क्रिप्ट जो की तर्ज पर कुछ करता है हो सकता है pushd <path>; ./FTL; popdऔर बात Execकरने के बजाय लांचर स्क्रिप्ट के डेस्कटॉप फ़ाइल में विनिर्देशक।
थॉमस निमन

1
सुधार: यह निर्देशिका के अंदर से काम करता है
मार्ट

12

थॉमस नीमन का बहुत अच्छा जवाब।

सूक्ति gnome-desktop-item-edit* .desktop फ़ाइलें बनाने में सहायता करने वाले गुई उपकरण के साथ आता है । हमें इसे कमांड लाइन से उपयोग करने की आवश्यकता है, या इसके लिए एक डेस्कटॉप फ़ाइल बनाएं।

से Gnome Application बनाने के निर्देश दिए gnome-desktop-item-edit

  1. टर्मिनल विंडो खोलें और निम्न कमांड टाइप करें:

    gnome-desktop-item-edit -create-new / home / [आपका उपयोगकर्ता नाम] /। स्थानीय / शेयर

  2. खोली गई विंडो में निम्नलिखित भरें: यहाँ छवि विवरण दर्ज करें

    Name: Gnome Applicaiton

    Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications

    अलग आइकन चुनने के लिए आइकन पर क्लिक करें।

  3. विंडो बंद करने के लिए ओके पर क्लिक करें

  4. टर्मिनल विंडो बंद करें

परीक्षण नव उत्पन्न Gnome Application

  1. खुला पानी का छींटा
  2. एप्लिकेशन टाइप करें
  3. आपको Gnome Applicationपहले प्रवेश किया हुआ देखना चाहिए
  4. इसका चयन करें
  5. एक और एप्लिकेशन बनाएं

यह वास्तव में अच्छी तरह से काम करता है, धन्यवाद। क्या नया एप्लिकेशन दिखाई देने वाले मेनू को बदलने का कोई तरीका है? मेरा आवेदन में दिखाई
दिया-

0

थॉमस निमन और डूडी बॉय के पिछले उत्तर बहुत अच्छे और विस्तृत हैं। मैं यह पोस्ट कर रहा हूं क्योंकि मुझे किसी अन्य पोस्ट में मेरे संदेह का जवाब नहीं मिला और मुझे git मुद्दों में खोजना पड़ा।

जब मैंने थॉमस निमन जैसे कदमों का अनुसरण किया, तो मैंने सुझाव दिया कि मैं अपने प्रोग्राम के लिए ऐप मेनू में प्रदर्शित करने में सक्षम हूं। यहां समस्या यह है कि मैं डैश को साइड बार के रूप में डॉक का उपयोग करता हूं और मैं आइकन को अन्य आइकन की तरह पसंदीदा के रूप में पिन नहीं कर सकता। खोज करने के बाद मैंने पाया कि आपको फ़ाइल StartupWMClass=ApplicationNameमें लाइन जोड़ने की आवश्यकता है .desktop। उसके बाद डैश टू डॉक में आइकन पर राइट क्लिक करके पसंदीदा में जोड़ने का विकल्प दिखाई देगा।

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