सॉफ़्टवेयर केंद्र से "खरीद के लिए" अनुभाग कैसे निकालें?


35

सॉफ्टवेयर सेंटर में फॉर परचेज प्रोग्राम्स का एक सेक्शन है- नीचे स्क्रीनशॉट-,
जो हर बार जब मैं कुछ इंस्टॉल करना चाहता हूं, तो मेरी घोषणा करता है।

क्या सॉफ़्टवेयर केंद्र से इन कार्यक्रमों को हटाने या छिपाने का कोई तरीका है ?

उत्तरों के लिंक:

के लिए 13.10 और उच्च
के लिए 13.04
के लिए 12.10
के लिए 12.04
के लिए 11.10 और कम
एक टिप्पणी छोड़ या करने के लिए एक मेल भेजने के लिए कृपया jmendeth@gmail.com
अगर यह आप के लिए काम नहीं कर रहा है या आप समस्या हो रही है!

उबंटू सॉफ्टवेयर सेंटर का 'खरीद के लिए' खंड।


13.10 और उच्चतर साधन क्या है?
अविनाश राज

@AvinashRaj उबंटू के सबसे हालिया संस्करण के लिए अभी जैसे 13.10 है, और जल्द ही 14.04 का मानना ​​है कि 14.04 का अल्फा / बीटा जल्द ही बाहर भी है।
अलवर

जवाबों:


17

12.04 के लिए

Pavlos जी उत्तर से व्युत्पन्न और Darmien उत्तर से प्रेरणा ।
अलग संस्करण? सूची में जाएं ।
यदि आप परेशानी में हैं और परिवर्तन वापस करना चाहते हैं तो पोस्ट का अंत देखें।


1. खरीद योग्य ऐप्स पर ध्यान न दें

एक टर्मिनल खोलें ( Ctrl+ Alt+ T) और टाइप करें:

gksu gedit /usr/share/software-center/softwarecenter/db/update.py

और Enter दबाएं। आपको अपने पासवर्ड के लिए संकेत दिया जाएगा।
फिर एक संपादक दिखाई देगा। निम्नलिखित पंक्तियों का पता लगाएँ (संकेत: Ctrl+ Fमदद कर सकता है):

        doc = make_doc_from_parser(parser, cache)
        if not doc:
            LOG.debug("make_doc_from_parser() returned '%s', ignoring" % doc)
            return
        term_generator.set_document(doc)
        name = doc.get_data()

उन पंक्तियों के तुरंत बाद, निम्नलिखित ( रिक्त स्थान सहित! ) चिपकाएँ :

        if doc.get_value(XapianValues.PRICE) not in (""): return

नोट: यदि आप सामान रखना चाहते हैं, जिसमें पैसा खर्च नहीं होता है, लेकिन उसे "खरीदना" है
(जैसे परीक्षण, पत्रिकाएं और अन्य सामग्री), तो उसके ("")साथ बदलें ("0.00", "")

फ़ाइल ( Ctrl+ S) को सहेजें , सॉफ्टवेयर सेंटर खोलें और… वॉइला!
कोई व्यावसायिक कार्यक्रम नहीं हैं!
अब आप संपादक और टर्मिनल को बंद कर सकते हैं।

2. "खरीद के लिए" चैनल निकालें (वैकल्पिक)

मेनू में "खरीद के लिए" आइटम को निकालने के लिए, एक टर्मिनल खोलें और टाइप करें:

gksu gedit /usr/share/software-center/softwarecenter/backend/channel_impl/aptchannels.py

इन पंक्तियों का पता लगाएँ:

        if get_distro().PURCHASE_APP_URL:
            channels.append(for_purchase_channel)

और उन्हें #हर पंक्ति के सामने रखकर अक्षम करें :

        #if get_distro().PURCHASE_APP_URL:
        #    channels.append(for_purchase_channel)

विज्ञापनों के बिना सॉफ़्टवेयर केंद्र को सहेजें और आनंद लें!

 


साइड नोट्स: द फ़ाइलें। कर रहे हैं। पैक।

इसका क्या मतलब है, आप पूछें? इसका मतलब यह है कि,
जब भी आप अपने सॉफ़्टवेयर केंद्र को अपग्रेड करते हैं, परिवर्तन
वापस हो जाएंगे और आपको यह कदम फिर से करना होगा।

संशोधनों को पूर्ववत करें

यदि आप फ़ाइलों की मूल स्थिति को पुनर्स्थापित करना चाहते हैं, तो
एक टर्मिनल खोलें और टाइप करें:

sudo apt-get install --reinstall software-center && exit

दोबारा, आपको अपने पासवर्ड के लिए संकेत दिया जाएगा, इस बार टर्मिनल पर।
इसे टाइप करें और ENTER दबाएँ। जब आप टाइप करते हैं तो कुछ भी नहीं दिखाई देता है, अपने पासवर्ड को छिपाने के लिए चिंता न करें।
समाप्त होने पर टर्मिनल स्वतः बंद हो जाएगा।


2
जैसा कि मैंने दूसरों से कहा है, किसी प्रोग्राम के लिए महत्वपूर्ण कुछ भी संपादित करने से पहले बैकअप बनाना सबसे अच्छा है।
ζ--

1
@ObsessiveFOSS अच्छा बिंदु। लेकिन ध्यान रखें कि: 1) परिवर्तन तुच्छ और पूर्ववत करना आसान है। यह संभावना नहीं है कि लोग कभी खो जाएंगे। : D 2) यह फ़ाइलें पैक की जाती हैं, इसलिए यदि आप कोई गलती करते हैं तो आप पैकेज को फिर से स्थापित कर सकते हैं ।
अल्बा मेंडेज़

@ObsessiveFOSS मैंने वापस करने के निर्देश जोड़ दिए हैं, बस मामले में;)
अल्बा मेंडेज़

12

11.10 और उससे पहले के लिए

आप संपादित कर सकते हैं:

/usr/share/software-center/softwarecenter/backend/channel.py

और निम्नलिखित पंक्तियों पर टिप्पणी करें (या हटाएं):

for_purchase_channel = None

#create a "magic" channel to display items available for purchase                                              `
        for_purchase_query = xapian.Query("AH" + AVAILABLE_FOR_PURCHASE_MAGIC_CHANNEL_NAME)
        for_purchase_channel = SoftwareChannel(self.icons, 
                                             "For Purchase", None, None, 
                                             channel_icon=None,   # FIXME:  need an icon
                                             channel_query=for_purchase_query,
                                             installed_only=installed_only)

if partner_channel is not None:
        #    channels.append(partner_channel)
        #channels.append(for_purchase_channel)

बेशक, आपको यह ध्यान में रखना चाहिए कि परिणामी अपडेट software-centerशायद स्क्रिप्ट को अधिलेखित कर देंगे ...

अधिक जानकारी के लिए इस लिंक की जाँच करें ;-)

नोट: 12.04 के लिए फ़ाइल नाम है /usr/share/software-center/softwarecenter/backend/channel_impl/aptchannels.py। वही चरण लागू होते हैं।


1
12.04 के लिए एक समाधान खोजने के लिए देखभाल? :)
सावस्व राड्विक

1
यदि आप सॉफ़्टवेयर सेंटर को पुराने संस्करण askubuntu.com/questions/95497/… से बदलते हैं तो आप इन चरणों का पालन कर सकते हैं।
मातेओ

12.04 पर, ये चरण "खरीद के लिए" चैनल छिपाएंगे, लेकिन सभी वाणिज्यिक प्रविष्टियां नहीं। उन्हें भी छिपाने के लिए, डारमियन के समाधान की तरह कुछ की आवश्यकता होगी। (लेकिन मैं GUI नहीं तर्क को बदलने का एक तरीका खोजना चाहता हूं )।
अल्बा मेंडेज़

मुझे यह मिला! EVERYWHERE से सभी वाणिज्यिक प्रविष्टियों को छिपाएँ!
अल्बा मेंडेज

@medigeek मेरे उत्तर को देखो । अगर यह काम नहीं करता है, तो मुझे बताओ। मैंने तीन अलग-अलग कंप्यूटरों में इसका परीक्षण किया।
अल्बा मेंडेज

6

मुझे 12.04 के लिए व्यावसायिक परिणाम छिपाने का एक तरीका मिला:

/Usr/share/software-center/softwarecenter/ui/gtk3/models/appstore2.py:

लाइनों के बाद:

def set_from_matches(self, matches):
    """ set the content of the liststore based on a list of
        xapian.MSetItems
    """
    LOG.debug("set_from_matches len(matches)='%s'" % len(matches))

निम्नलिखित पंक्ति जोड़ें:

    matches[:] = [m for m in matches if (m.document.get_value(XapianValues.PRICE) in _FREE_AS_IN_BEER)]

यह केवल वही प्रदर्शित होना चाहिए जो प्रदर्शित किया गया है, लेकिन मैंने इसे अभी तक परीक्षण नहीं किया है, इसलिए अपने जोखिम पर उपयोग करें। और एक विज्ञापन-मुक्त सॉफ़्टवेयर केंद्र का आनंद लें।


महान! यह परीक्षण करने के लिए इंतजार नहीं कर सकता। :)
अल्बा मेंडेज़

यह परीक्षण नहीं किया है, लेकिन करेंगे। कोशिश करने के लिए शुक्रिया!
सावास राड्विक

6

पूर्णता के लिए, यहाँ समाधान है जो मेरे लिए 13.10 में काम करता है:

sudo aptitude install gksu
gksu gedit /usr/share/software-center/softwarecenter/db/update.py

इसे खोजो:

def make_doc(self, cache):
    """Build a Xapian document from the desktop info."""
    doc = xapian.Document()

और इसे जोड़ें (सुनिश्चित करें कि आपके पास TABS का सही इंडेंटेशन है (अजगर को इसकी आवश्यकता है):

if self.has_option_desktop("X-AppInstall-Price"):
    if self.get_desktop("X-AppInstall-Price") > 0: return

BTW यह मेरा पहला अजगर इवर :-) था


+1 अभी सत्यापित नहीं कर सकता, लेकिन TOC में भी जोड़ा गया। धन्यवाद!
अल्बा मेंडेज़

14.04 के लिए काम करता है, लेकिन यह बेहतर होगा अगर इसे यूआई से चालू / बंद किया जा सके। यह समाधान बल्कि स्थायी है। फिर से खरीदारी के लिए ऐप्स कभी न देखें।
व्लातकोब

3

मैंने यह कोशिश की कि यह मेरे लिए काम करे: केवल मुफ़्त (कीमत 0 से अधिक नहीं) आइटम प्रदर्शित किए जाते हैं।

gksu gedit /usr/share/software-center/softwarecenter/db/update.py

इसे खोजो:

def make_doc_from_parser(parser, cache):
    # XXX 2012-01-19 michaeln I'm just pulling this code out from
    # index_app_info_from_parser, but it'd be great to further
    # refactor it - it looks quite scary :-)
    doc = xapian.Document()
    # app name is the data

फिर निम्नलिखित कोड जोड़ें:

if parser.has_option_desktop("X-AppInstall-Price"):
    if parser.get_desktop("X-AppInstall-Price") > 0: return

2

12.10 और बाद के लिए

Jmendeth जवाब से व्युत्पन्न ।
अलग संस्करण? सूची में जाएं ।
यदि आप परेशानी में हैं और परिवर्तन वापस करना चाहते हैं तो पोस्ट का अंत देखें।

यदि यह खुला है तो सॉफ़्टवेयर सेंटर बंद करें।
अब एक टर्मिनल खोलें ( Ctrl+ Alt+ T) और टाइप करें:

gksu gedit /usr/share/software-center/softwarecenter/db/update.py

और Enter दबाएं। आपको अपने पासवर्ड के लिए संकेत दिया जाएगा।
फिर एक संपादक दिखाई देगा। निम्नलिखित पंक्तियों का पता लगाएँ (संकेत: Ctrl+ Fमदद कर सकता है):

        doc = self.make_doc(cache)
        if not doc:
            LOG.debug("%r.index_app_info: returned invalid doc %r, ignoring.",
                      self.__class__.__name__, doc)
            return
        name = doc.get_data()

उन पंक्तियों के तुरंत बाद, निम्नलिखित ( रिक्त स्थान सहित! ) चिपकाएँ :

        if doc.get_value(XapianValues.PRICE) not in (""): return

फ़ाइल ( Ctrl+ S) को सहेजें और संपादक को बंद करें, लेकिन टर्मिनल को नहीं।
अब टर्मिनल में टाइप करें:

gksu gedit /usr/share/software-center/softwarecenter/backend/channel_impl/aptchannels.py

एंटर दबाए। एक संपादक फिर से दिखाई देगा। इन पंक्तियों का पता लगाएँ:

        if get_distro().PURCHASE_APP_URL:
            channels.append(for_purchase_channel)

और उन्हें #हर पंक्ति के सामने रखकर अक्षम करें :

        #if get_distro().PURCHASE_APP_URL:
        #    channels.append(for_purchase_channel)

फ़ाइल को सहेजें, संपादक को बंद करें लेकिन टर्मिनल को नहीं।
टर्मिनल में, टाइप करें:

gksu echo; sudo update-software-center && exit

थोड़ा रुको, टर्मिनल स्वतः समाप्त होने पर बंद हो जाएगा ...
फिर सॉफ़्टवेयर सेंटर खोलें और वॉइला!
कोई व्यावसायिक कार्यक्रम नहीं हैं!

साइड नोट्स: द फ़ाइलें। कर रहे हैं। पैक।

इसका क्या मतलब है, आप पूछें? इसका मतलब यह है कि,
जब भी आप अपने सॉफ़्टवेयर केंद्र को अपग्रेड करते हैं, परिवर्तन
वापस हो जाएंगे और आपको यह कदम फिर से करना होगा।

संशोधनों को पूर्ववत करें

यदि आप फ़ाइलों की मूल स्थिति को पुनर्स्थापित करना चाहते हैं, तो
एक टर्मिनल खोलें और टाइप करें:

gksu echo; sudo apt-get install --reinstall software-center && exit

फिर से, आपको अपने पासवर्ड के लिए संकेत दिया जाएगा।
समाप्त होने पर टर्मिनल स्वतः बंद हो जाएगा।


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

मेरे 12.10 पर परीक्षण करें, अगर सब कुछ तैयार है तो मैं आपके उत्तर को शीर्ष पर जोड़ूंगा और कोई अन्य संशोधन करूंगा।
अल्बा मेंडेज

बस उबंटू के मेरे नए
इंस्टॉलेशन पर

@jmendeth मुझे उस स्क्रिप्ट को लिखने में आपकी सहायता करने में खुशी होगी
Blvdeer

विलंब के लिए खेद है। दुर्भाग्य से, यह मेरे 64-बिट Ubuntu 12.10 पर काम नहीं करता है। मैं देखूंगा कि क्या मैं कुछ बना सकता हूं ...
अल्बा मेंडेज़

-2

आप इसे केवल सभी सॉफ़्टवेयर के बजाय View -> Canonical Maintain Software का चयन करके कर सकते हैं। यह सॉफ़्टवेयर अद्यतनों द्वारा अधिलेखित नहीं होने का लाभ है।

यह कुछ अतिरिक्त वस्तुओं को छिपा सकता है लेकिन कम से कम यह मेरे अनुभव में कष्टप्रद पत्रिकाओं और बिक्री सॉफ़्टवेयर से छुटकारा दिलाता है।


2
तब आप सभी सॉफ्टवेयर का 90% छिपा रहे हैं, केवल सॉफ्टवेयर (वाणिज्यिक या नहीं) जो कि कैनोनिकल का समर्थन करता है। मैं जो करना चाहता हूं, वह केवल प्रॉपर सॉफ्टवेयर को हटा देता हूं ।
अल्बा मेंडेज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.