क्या हो रहा है
इस तरह की समस्याएं एकता के अनुप्रयोग मिलान ढांचे से संबंधित हैं। तकनीकी विवरण को सरल बनाने के लिए, प्रोग्राम विंडो और एप्लिकेशन उबंटू में दो अलग-अलग चीजें हैं। उबंटू को यह अनुमान लगाने की आवश्यकता है कि कौन सी एप्लिकेशन किसी विशेष विंडो का मालिक है। और कभी-कभी वह अनुमान विफल हो जाता है, और लांचर में एक प्रश्न चिह्न दिखाई देता है।
इसके कारण विफलता हो सकती है:
- BAMF में एक बग (ऊपर उल्लिखित एप्लीकेशन मैचिंग फ्रेमवर्क)।
- एक दोषपूर्ण अनुप्रयोग विवरण (उर्फ '.desktop' फ़ाइल)।
- सभी में किसी भी आवेदन विवरण की कमी। विंडोज़ लॉन्च करने वाले अधिकारियों के पास स्वाभाविक रूप से यह मेटाडेटा नहीं है।
प्रश्न (KeePass2) में दिखाया गया आवेदन एक प्रकार की 1 समस्या से ग्रस्त है जिसे उपयुक्त बग ट्रैकर को सूचित किया गया है ।
समस्याओं के उदाहरण
नीचे दिए गए उदाहरण तकनीकी हैं, उन प्रोग्रामर के उद्देश्य से हैं जो उबंटू लांचर में अपने स्वयं के अनुप्रयोग को ठीक से प्रदर्शित करना चाहते हैं।
समस्या 3 - कोई आवेदन विवरण नहीं
एक आवेदन के लिए एकता के साथ एकीकृत करने के लिए - यह कहना है, डैश में खोजा जा सकता है और लांचर में रखा गया है - यह एक डेस्कटॉप प्रविष्टि की आवश्यकता है। इस तरह की प्रविष्टियों को रखा गया है /usr/share/applications/
, /usr/local/share/applications/
और $HOME/.local/share/applications/
(बाद के दो क्रमशः तीसरे पक्ष के सॉफ़्टवेयर, सिस्टम-वाइड और उपयोगकर्ता-केवल) के लिए हैं। वे एक .desktop
विस्तार के साथ समाप्त होते हैं और इस मूल प्रारूप का पालन करते हैं:
[Desktop Entry]
Type=Application
Name=My Application's Name
Icon=/file/path/of/my/icon
Exec=/file/path/of/my/executable
यह प्रविष्टि Exec
निष्पादन योग्य कहकर एक कार्यक्रम शुरू करती है । जब भी वह कार्यक्रम एक विंडो या संवाद प्रदर्शित करता है, तो एकता यह ध्यान देगी कि इसका निष्पादन योग्य इस एप्लिकेशन विवरण के लिए "संबंधित" है, और दिए गए Name
और Icon
लॉन्चर में उपयोग करें ।
यह एक नंगेपन का उदाहरण है। औपचारिक विनिर्देश कई उन्नत सुविधाओं को शामिल किया गया।
समस्या 2 - दोषपूर्ण अनुप्रयोग विवरण
आइए मान लें कि my_app.desktop
एक मान्य एप्लिकेशन निर्देशिका में मौजूद है, लेकिन:
/file/path/of/my/icon
फ़ाइल सिस्टम में मौजूद नहीं है।
/file/path/of/my/icon
एक छवि नहीं है।
- प्रविष्टि कुछ गलत सिंटैक्स या अमान्य टैग का उपयोग करती है।
उपरोक्त किसी भी मामले में, उबंटू लॉन्चर में एप्लिकेशन विंडो को ठीक से सूचीबद्ध करने में असमर्थ होगा।
समस्या 1 - BAMF में एक बग
उबंटू 11.10 के रूप में, BAMF में कई बग हैं जो सही एप्लिकेशन मिलान को रोकता है। सामान्य (अस्थायी) नुकसान में शामिल हैं:
Exec
पथ एक किया जा रहा प्रतीकात्मक कड़ी एक नियमित रूप से फ़ाइल के बजाय
- निष्पादन योग्य एक स्क्रिप्ट जो मुख्य निष्पादन योग्य लॉन्च करता है।
इन मामलों में, प्रोग्रामर के पास वर्कअराउंड का उपयोग करने के अलावा कोई विकल्प नहीं होता है, जैसे कि प्रतीकात्मक लिंक को हटाने, या सीधे निष्पादन योग्य से जोड़ना। इनमें से किसी को भी डेस्कटॉप प्रविष्टि विनिर्देश द्वारा आवश्यक नहीं है।