Как удалить раздел “For Purchase” из Центра программного обеспечения?

Центр программного обеспечения имеет раздел Для программ Покупки — см. снимок экрана ниже —
который является annonying меня каждый раз, когда я хочу установить что-то.

Там какой-либо путь состоит в том, чтобы удалить или скрыть эти программы от Центра программного обеспечения?

Ссылки на ответы:

Для 13,10 и выше
Для 13,04
Для 12,10
Для 12,04
Для 11,10 и ниже
Оставьте комментарий или отправьте почту в jmendeth@gmail.com
если это не работает на Вас, или Вы испытываете затруднения!

The 'For purchase' section of the Ubuntu Software Center.

35
задан 13 April 2017 в 05:23

7 ответов

Для 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. Те же шаги применяются.

12
ответ дан 23 November 2019 в 00:26

Для 12,04

Полученный на основании ответа Pavlos G. и вдохновения из ответа Darmien.
Другая версия? Перейдите к списку.
Посмотрите конец сообщения, если Вы в беде и хотите вернуться изменения.


1. Проигнорируйте purchasable приложения

Откройте терминал (Ctrl + Высокий звук + 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

Примечание: если Вы хотите сохранить материал, который не стоит денег, но должен быть "куплен"
(как пробные версии, журналы и другой материал propietary), замена ("") с ("0.00", "").

Сохраните файл (Ctrl + S), откройте Software Center и … вуаля!
Нет никаких коммерческих программ!
Можно закрыть редактора и терминал теперь.

2. Удалите "Для покупки" канал (дополнительно)

Чтобы также удалить это "Для приобретает" товар в меню, открывает терминал и тип:

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

Найдите эти строки:

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

И отключите их путем помещения a # перед каждой строкой:

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

Сохраните и наслаждайтесь центром программного обеспечения без рекламы!

 


Сторона отмечает:. файлы. упакованный.

Что это означает, Вы спрашиваете? Это означает это,
каждый раз, когда Вы обновляете свой Центр программного обеспечения, изменения
вернется и необходимо будет сделать, это ступает снова.

Отмените модификации

Если Вы хотите восстановить исходное состояние файлов,
откройте терминал и тип:

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

Снова, Вам предложат Ваш пароль, на этот раз на терминале.
Введите его и нажмите ENTER. Не волнуйтесь, не появляется ли ничто, когда Вы вводите, это должно скрыть Ваш пароль.
Терминал автоматически закроется по окончании.

17
ответ дан 23 November 2019 в 00:26

Я нашел способ скрыть коммерческие результаты для 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
ответ дан 23 November 2019 в 00:26

Для 12,10 и позже

Полученный из jmendeth ответ.
Другая версия? Перейдите к списку.
Посмотрите конец сообщения, если Вы в беде и хотите вернуться изменения.

Закройте Центр программного обеспечения, если это открыто.
Теперь откройте терминал (Ctrl + Высокий звук + 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

НАЖАТЬ ENTER. Редактор появится снова. Найдите эти строки:

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

И отключите их путем помещения a # перед каждой строкой:

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

Сохраните файл, закройте редактора, но не терминал.
В терминале введите:

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

Ожидайте немного, терминал автоматически закроется по окончании...
Затем откройте Software Center и … вуаля!
Нет никаких коммерческих программ!

Сторона отмечает:. файлы. упакованный.

Что это означает, Вы спрашиваете? Это означает это,
каждый раз, когда Вы обновляете свой Центр программного обеспечения, изменения
вернется и необходимо будет сделать, это ступает снова.

Отмените модификации

Если Вы хотите восстановить исходное состояние файлов,
откройте терминал и тип:

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

Снова, Вам предложат Ваш пароль.
Терминал автоматически закроется по окончании.

2
ответ дан 23 November 2019 в 00:26

Можно сделать это проще путем выбора Представления-> Каноническое Сохраняемое программное обеспечение вместо Всего программного обеспечения. Это обладает преимуществом того, чтобы не быть перезаписанным обновлениями программного обеспечения.

Это может скрыть некоторые дополнительные объекты, но по крайней мере это избавляется от раздражающих журналов и для программного обеспечения продаж, по моему опыту.

-2
ответ дан 23 November 2019 в 00:26

Для полноты вот решение, которое работало на меня в 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()

И добавьте, это (удостоверьтесь, что у Вас есть правильное добавление отступа ВКЛАДОК (Python требует этого):

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

BTW это было моим первым Python evar :-)

6
ответ дан 23 November 2019 в 00:26

Я попробовал это это, это работало на меня: только СВОБОДНЫЙ (цена не больше чем 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
3
ответ дан 23 November 2019 в 00:26

Другие вопросы по тегам:

Похожие вопросы: