क्या लॉगिन स्क्रीन टॉप-पैनल में आइकन जोड़ना संभव है?


10

क्या लॉगिन स्क्रीन टॉप-पैनल में आइकन (डिफॉल्ट के अलावा) को जोड़ना संभव है?

यहाँ छवि विवरण दर्ज करें

यदि हाँ, तो कौन से एप्लिकेशन आइकन डिफॉल्ट ( ऑनबोर्ड, साउंड, नेटवर्क-मैनेजर, आदि ) के अलावा लॉगिन स्क्रीन टॉप पैनल में जोड़े जाएंगे । और मैं इसे कैसे जोड़ूं?

मैं Ubuntu 13.10 चला रहा हूं


इसका lightdm लॉगिन मैनेजर है, इसलिए आपको इसकी फाइलों को /usr/shareसीधे संपादित करना होगा । मुझे लगता है कि एक lightdm कस्टमाइज़र था जिसने इसे और पृष्ठभूमि को बदलने की अनुमति दी थी, लेकिन मुझे नहीं लगता कि यह अभी भी कोई काम करता है ..
Wilf

1
क्या मुझे यह वॉलपेपर मिल सकता है?

@Utkarsh i ने Google चित्र खोज से उपरोक्त चित्र डाउनलोड किया।
अविनाश राज

जवाबों:


14

मैं 12.04 पर हूं, लेकिन यह 13.10 पर भी काम करेगा।

हां, एकता-अभिवादन के लिए संकेतक बदलना संभव है। हम सेटिंग्स को संशोधित करने के लिए GSettings का उपयोग कर सकते हैं, लेकिन क्योंकि एकता-अभिवादन केवल lightdm उपयोगकर्ता द्वारा चलाया जाता है, (इसलिए यह सेटिंग किसी और को प्रभावित नहीं करती है) केवल एक .overrideफ़ाइल लिखना आसान है ।

1. डिफ़ॉल्ट संकेतक जांचें

आप अपने डिफॉल्ट इंडिकेटर्स को देख सकते हैं dconf-editorया /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xmlफाइल को इंट कर सकते हैं । बाद की फ़ाइल में आपको इसके समान एक कुंजी दिखाई देगी:

 <key name="indicators" type="as">
  <default>['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application']</default>
  <summary>Which indicators to load</summary>
</key>

, वे मेरे लिए चूक हैं। अपने पहले की जाँच करें।

13.10 पर यह कुंजी इस तरह दिखती है:

<key name="indicators" type="as">
  <default>['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application']</default>
  <summary>Which indicators to load</summary>
</key>

२। उपलब्ध संकेतकों की जाँच करें

आप अपने उपलब्ध संकेतकों को /usr/lib/indicators3/7/निर्देशिका में, या /usr/share/unity/indicators/निर्देशिका में देख सकते हैं।

3. एक ओवरराइड फ़ाइल लिखें

बस इसी तरह की सामग्री के साथ एक फ़ाइल लिखें और इसे सहेजें /usr/share/glib-2.0/schemas/myoverride.gschema.override

12.04 के लिए

[com.canonical.unity-greeter]
indicators=['ug-keyboard', 'ug-accessibility', 'session', 'datetime', 'power', 'soundmenu', 'application', 'messaging']

13.10 के लिए

[com.canonical.unity-greeter]
indicators=['ug-accessibility', 'com.canonical.indicator.keyboard', 'com.canonical.indicator.session', 'com.canonical.indicator.datetime', 'com.canonical.indicator.power', 'com.canonical.indicator.sound', 'application', 'messages']

12.04 संस्करण में मैंने संदेशवाहक सूचक को 12.04 की डिफ़ॉल्ट सूची में जोड़ा । 13.10 संस्करण में मैंने संदेश सूचक को डिफ़ॉल्ट सूची 13.10 में जोड़ा । मैंने बस उन्हें STEP 1 में दिखाई गई डिफ़ॉल्ट सूची में जोड़ा है , आप भी ऐसा कर सकते हैं या यदि आप उन्हें लॉगिन स्क्रीन पर दिखाना नहीं चाहते हैं तो कुछ डिफ़ॉल्ट संकेतकों को हटा दें। (प्रेषितों के लिए बाहर देखें।) महत्वपूर्ण : 12.04 पर आपको सूची में 'बदसूरत-कीबोर्ड' और 'सत्र' संकेतक रखना होगा , इसलिए यदि आप उन्हें डिफ़ॉल्ट लाइन में रखते हैं, तो उन्हें हटा दें, या लाइटपैड अटक जाएगा। एक अंतहीन लूप में। ( यहाँ की तरह )

ओवरराइड फ़ाइल में नामकरण परंपराएँ:/usr/lib/indicators3/7/ निर्देशिका में फ़ाइलों के लिए फ़ाइल नाम की पूर्ववर्ती "लिबास" और समाप्ति ".so" महत्वपूर्ण नहीं हैं, इसलिए libmessaging.so नामक एक फ़ाइल के लिए हम 'libmessaging .so', 'libmessaging' या का उपयोग कर सकते हैं। 'संदेश'। /usr/share/unity/indicators/निर्देशिका में फ़ाइलों के लिए फ़ाइल नाम की पूर्ववर्ती "com.canonical.indicator।" महत्वपूर्ण नहीं है, इसलिए "com.canonical.indicator.blu ब्लूटूथ" फ़ाइल के लिए हम 'com.canonical.indicator.bluaxy' या बस "ब्लूटूथ" का उपयोग कर सकते हैं।

4. बैकअप (बस मामले में)

/usr/share/glib-2.0/schemas/gschemas.compiledफ़ाइल का बैकअप बनाएँ ।

5. संकलन

आखिरकार यह चला

sudo glib-compile-schemas /usr/share/glib-2.0/schemas

6. परिणामों की जाँच करें

इसके बाद लॉगआउट करने की कोशिश करें और देखें कि क्या यह काम करता है। या यदि आप एक टर्मिनल से कोशिश करते हैं तो आप बिना लॉग-आउट किए भी लॉगिन-स्क्रीन का एक परीक्षण कर सकते हैं:

lightdm --test-mode

या

unity-greeter --test-mode 

मेरे लिए 12.04 पर मैसेजिंग इंडिकेटर ने काम किया, मेरा प्रिंटरमेनू इंडिकेटर नहीं। 13.10 पर मैंने मैसेज इंडिकेटर के साथ परीक्षण किया और यह दिखाई नहीं दिया, लेकिन न तो एरोस उत्पन्न हुआ, इसलिए मैंने अनुमान लगाया कि यह डिजाइन द्वारा है जो कि ग्रीयर-स्क्रीन पर दिखाई नहीं दे रहा है, क्योंकि यह ज्यादातर बेकार है। इसलिए मैंने /usr/share/unity/indicators/com.canonical.indicator.messagesफ़ाइल की जाँच की और यह पुष्टि की कि इसमें [Desktop_greeter] खंड नहीं है, जैसे सत्र संकेतक है। इसलिए यदि आप लॉगिन स्क्रीन पर दिखाने के लिए संदेश संकेतक (या [डेस्कटॉप_ग्रेचर] अनुभाग के बिना कोई अन्य संकेतक) नहीं करते हैं (भले ही यह वहां बेकार हो), तो आपको /usr/share/unity/indicators/निर्देशिका में इसकी फ़ाइल को भी संपादित करना होगा , और उस फ़ाइल में [डेस्कटॉप] सेक्शन की एक प्रति बनाएँ और कॉपी को [desktop_greeter] सेक्शन का नाम दें। उदाहरण के लिए संदेश सूचक के लिए मैं इस फ़ाइल के साथ समाप्त हुआ /usr/share/unity/indicators/com.canonical.indicator.messages:

[Indicator Service]
Name=indicator-messages
ObjectPath=/com/canonical/indicator/messages
Position=50

[desktop]
ObjectPath=/com/canonical/indicator/messages/desktop

[phone]
ObjectPath=/com/canonical/indicator/messages/phone

[desktop_greeter]
ObjectPath=/com/canonical/indicator/messages/desktop

फ़ाइल में यह परिवर्तन करने के बाद, संदेश सूचक ने 13.10 के लिए लॉगिन स्क्रीन पर भी दिखाया।

कुछ बुरा हो जाता है और प्रवेश स्क्रीन ऊपर नहीं आती है, सिर्फ एक आभासी कंसोल के लिए स्विच CTRL+ ALT+ F1और अपने बैकअप बहाल gschemas.compiledफ़ाइल। या अपनी myoverride.gschema.overrideफाइल को हटा दें और sudo glib-compile-schemas /usr/share/glib-2.0/schemasफिर से चलाएं । यदि lighdtm एक अंतहीन लूप में फंसता है, और आप वर्चुअल कंसोल पर नहीं जा सकते हैं, तो बस ALT+ PrtSc+ Eमैजिक की कॉम्बो दबाएं, इससे लाइटमैड मार जाएगा और इसके बाद आप वर्चुअल कंसोल पर स्विच कर सकते हैं और मरम्मत कर सकते हैं।

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

इन सभी के लिए स्रोत? मैंने कोड में देखा: लिंक और लिंक


क्या आप यह कहना चाहते हैं कि libmessaging.soफ़ाइल मिल जाए तो /usr/lib/indicators3/7निर्देशिका में एक पेस्ट कॉपी करें , क्या मैं सही हूं?
अविनाश राज

@AvinashRaj नहीं, मेरा मतलब था कि यह संभव है कि संकेतक के लिए एकता-अभिवादन करने वाली निर्देशिका संस्करणों द्वारा भिन्न हो। स्रोत कोड से मैं केवल प्राप्त कर सकता हूं, कि 2 निर्देशिकाएं हैं जहां संकेतक के लिए एकता-अभिवादन खोजता है। /usr/share/unity/indicatorsसंस्करणों प्रति एक ही दिखता है, लेकिन /usr/lib/indicators3/7निर्देशक संस्करण से अलग हो सकता है। तो मेरा मतलब है कि इंस्टॉल किए गए डिफॉल्ट इंडिकेटर्स की खोज करना, जहां वे संग्रहीत हैं, वहां देखें और बस उस डायरेक्टरी में देखें कि क्या इंडिकेटर्स उपलब्ध हैं, फिर आप सूची में उनके नामों का उपयोग कर सकते हैं।
बाज़


@AvinashRaj आप उन 2 निर्देशिकाओं से सभी संकेतक आज़मा सकते हैं। यदि आप usr/lib/...निर्देशिका से एक का उपयोग करते हैं , तो नामकरण परंपराओं को जो मैंने ऊपर लिखा है, syncindicatorवही पर्याप्त है, लेकिन आप इसका उपयोग libsyncindicator.soभी कर सकते हैं । अन्य निर्देशिका के लिए आप फ़ाइल के पूरे नाम का उपयोग कर सकते हैं, या आप com.canonical.indicator.अनुभाग को छोड़ सकते हैं । तो आपके मामले में ओवरराइड फ़ाइल में एक वैध लाइन कुछ इस तरह होगी:indicators=['libsyncindicator.so', 'printersmenu', 'libapplication', 'com.canonical.indicator.sound', 'messages']
बाज़

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