Comment supprimer la section «Pour achat» du Software Center?

35

Le Centre de logiciel comporte une section de programmes d'achat (voir la capture d'écran ci-dessous),

qui me rend chaque fois que je veux installer quelque chose.

Existe-t-il un moyen de supprimer ou de masquer ces programmes du Centre de logiciel?

Links to answers:

For 13.10 and higher
For 13.04
For 12.10
For 12.04
For 11.10 and lower
Please leave a comment or send a mail to [email protected]
if it's not working for you or you're having trouble!

    
posée Alba Mendez 10.06.2011 - 10:06
la source

7 réponses

17

Pour 12.04

Dérivé de réponse de Pavlos G. et d'inspiration de Réponse de Darmien .
Version différente? Accédez à la liste .
Consultez la fin du message si vous avez des problèmes et souhaitez annuler les modifications.

1. Ignorer les applications achetables

Ouvrez un terminal ( Ctrl + Alt + T ) et tapez:

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

Et appuyez sur Entrée. Vous serez invité à entrer votre mot de passe.
Ensuite, un éditeur apparaîtra. Recherchez les lignes suivantes (indice: Ctrl + F peut aider):

        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()

Immédiatement après ces lignes, collez le texte suivant ( en incluant les espaces! ):

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

Remarque: si vous souhaitez conserver des éléments qui ne coûtent rien, mais doivent être "achetés"

(comme les essais, les magazines et autres objets personnels), remplacez ("") par ("0.00", "") .

Enregistrez le fichier ( Ctrl + S ), ouvrez le Centre logiciel et… voila!
Il n'y a pas de programmes commerciaux!
Vous pouvez maintenant fermer l'éditeur et le terminal.

2. Supprimer le canal "à l'achat" (facultatif)

Pour supprimer également cet élément "à acheter" du menu, ouvrez un terminal et tapez:

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

Localisez ces lignes:

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

Et désactivez-les en mettant un # devant chaque ligne:

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

Enregistrez et profitez d'un centre logiciel sans publicité!

Notes annexes: Le. des dossiers. sont. emballé.

Qu'est-ce que cela signifie, demandez-vous? Cela signifie que,
chaque fois que vous mettez à niveau votre centre de logiciels, les modifications
sera annulé et vous devrez refaire cette procédure.

Annuler les modifications

Si vous souhaitez restaurer l'état d'origine des fichiers,
ouvrez un terminal et tapez:

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

Encore une fois, votre mot de passe vous sera demandé, cette fois sur le terminal.
Tapez-le et appuyez sur ENTRÉE. Ne vous inquiétez pas si rien ne s'affiche lorsque vous tapez, c'est pour cacher votre mot de passe.
Le terminal se ferme automatiquement lorsque vous avez terminé.

    
réponse donnée Alba Mendez 21.07.2012 - 13:05
la source
12

Pour 11.10 et les versions antérieures

Vous pouvez modifier:

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

et commentez (ou supprimez) les lignes suivantes:

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)

Bien sûr, vous devriez garder à l’esprit que les mises à jour ultérieures apportées à software-center écraseront probablement le script ...

Découvrez ce lien pour plus de détails; -)

Remarque: pour 12.04, le nom du fichier est /usr/share/software-center/softwarecenter/backend/channel_impl/aptchannels.py . Les mêmes étapes s'appliquent.

    
réponse donnée Pavlos G. 10.06.2011 - 10:29
la source
6

J'ai trouvé un moyen de masquer les résultats commerciaux de 12.04:

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

Après les lignes:

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))

Ajoutez la ligne suivante:

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

Cela ne devrait changer que ce qui est affiché, mais je ne l'ai pas encore beaucoup testé, utilisez-le à vos risques et périls. Et profitez d'un centre logiciel sans publicité.

    
réponse donnée Damien 15.05.2012 - 11:44
la source
6

Pour être complet, voici la solution qui a fonctionné pour moi en 13.10:

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

Trouvez ceci:

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

Et ajoutez ceci (assurez-vous que vous avez le bon retrait des onglets (python le requiert):

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

BTW c'était mon premier evar de python: -)

    
réponse donnée Lennart Rolland 12.01.2014 - 02:42
la source
3

J'ai essayé cela a fonctionné pour moi: seuls les éléments GRATUITS (prix ne dépassant pas 0) sont affichés.

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

Trouvez ceci:

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

Ajoutez ensuite le code suivant:

if parser.has_option_desktop("X-AppInstall-Price"):
    if parser.get_desktop("X-AppInstall-Price") > 0: return
    
réponse donnée deputt 19.11.2013 - 02:11
la source
2

Pour 12.10 et les versions ultérieures

Dérivé de jmendeth réponse .
Version différente? Accédez à la liste .
Consultez la fin du message si vous avez des problèmes et souhaitez annuler les modifications.

Fermez le Centre de logiciels s'il est ouvert.
Ouvrez maintenant un terminal ( Ctrl + Alt + T ) et tapez:

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

Et appuyez sur Entrée. Vous serez invité à entrer votre mot de passe.
Ensuite, un éditeur apparaîtra. Recherchez les lignes suivantes (indice: Ctrl + F peut aider):

        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()

Immédiatement après ces lignes, collez le texte suivant ( en incluant les espaces! ):

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

Enregistrez le fichier ( Ctrl + S ) et fermez l'éditeur, mais pas le terminal.
Maintenant, tapez le terminal:

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

Appuyez sur ENTER. Un éditeur apparaîtra à nouveau. Localisez ces lignes:

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

Et désactivez-les en mettant un # devant chaque ligne:

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

Enregistrez le fichier, fermez l'éditeur mais pas le terminal.
Dans le terminal, tapez:

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

Attendez un peu, le terminal se fermera automatiquement à la fin ...
Ouvrez ensuite le centre de logiciels et… voila!
Il n'y a pas de programmes commerciaux!

Notes annexes: Le. des dossiers. sont. emballé.

Qu'est-ce que cela signifie, demandez-vous? Cela signifie que,
chaque fois que vous mettez à niveau votre centre de logiciels, les modifications
sera annulé et vous devrez refaire cette procédure.

Annuler les modifications

Si vous souhaitez restaurer l'état d'origine des fichiers,
ouvrez un terminal et tapez:

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

Encore une fois, votre mot de passe vous sera demandé.
Le terminal se ferme automatiquement lorsque vous avez terminé.

    
réponse donnée blvdeer 10.01.2013 - 17:13
la source
-2

Vous pouvez le faire plus simplement en sélectionnant Afficher - > Logiciel mis à jour par Canonical au lieu de Tous les logiciels. Cela a l'avantage de ne pas être écrasé par les mises à jour logicielles.

Cela cache peut-être quelques éléments supplémentaires, mais au moins, selon mon expérience, cela élimine les magazines ennuyeux et les logiciels de vente.

    
réponse donnée user1691562 17.08.2013 - 22:40
la source

Lire d'autres questions sur les étiquettes