it-swarm.com.de

Wie entferne ich den Abschnitt "Zum Kauf" aus dem Software Center?

Das Software-Center enthält einen Abschnitt mit zum Kaufen von Programmen (siehe Abbildung unten).
was mich jedes Mal nervt, wenn ich etwas installieren möchte.

Gibt es eine Möglichkeit, diese Programme aus dem Software Center zu entfernen oder zu verbergen ? ?

Links zu Antworten:

Für 13.10 und höher
Für 13.04
Für 12.10
Für 12.04
Für 11.10 und niedriger
Bitte hinterlasse einen Kommentar oder sende eine Mail an [email protected]
wenn es bei dir nicht funktioniert oder du Probleme hast!

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

35
Alba Mendez

Für den 12.04

Abgeleitet von Antwort von Pavlos G. und Inspiration von Antwort von Darmien .
Andere Version? Gehen Sie zu die Liste .
Lesen Sie das Ende des Beitrags, wenn Sie in Schwierigkeiten sind und die Änderungen rückgängig machen möchten.


1. Ignorieren Sie die käuflichen Apps

Öffnen Sie ein Terminal (Ctrl + Alt + T) und Typ:

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

Und drücken Sie die Eingabetaste. Sie werden aufgefordert, Ihr Passwort einzugeben.
Dann erscheint ein Editor. Suchen Sie die folgenden Zeilen (Hinweis: Ctrl + F kann helfen):

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

Fügen Sie unmittelbar nach diesen Zeilen Folgendes ein ( einschließlich der Leerzeichen! ):

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

Hinweis: wenn Sie Dinge behalten möchten, die kein Geld kosten, sondern "gekauft" werden müssen
Ersetzen Sie ("") durch ("0.00", "").

Speicher die Datei (Ctrl + S), öffne das Software Center und… voila!
Es gibt keine kommerziellen Programme!
Sie können den Editor und das Terminal jetzt schließen.

2. Entfernen Sie den Kanal "Zum Kauf" (optional)

Öffnen Sie ein Terminal und geben Sie Folgendes ein, um den Menüeintrag "Zum Kauf" ebenfalls zu entfernen:

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

Suchen Sie diese Zeilen:

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

Und deaktivieren Sie sie, indem Sie vor jede Zeile einen # setzen:

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

Speichern und genießen Sie ein Software-Center ohne Werbung!


Randnotizen: Die. Dateien. sind. verpackt.

Was heißt das, fragst du? Das bedeutet, dass,
Wenn Sie Ihr Software Center aktualisieren, werden die Änderungen übernommen
wird zurückgesetzt und Sie müssen diese Schritte erneut ausführen.

Machen Sie die Änderungen rückgängig

Wenn Sie den ursprünglichen Zustand der Dateien wiederherstellen möchten,
öffne ein Terminal und tippe:

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

Sie werden erneut zur Eingabe Ihres Passworts aufgefordert, diesmal auf dem Terminal.
Geben Sie es ein und drücken Sie die [EINGABETASTE]. Machen Sie sich keine Sorgen, wenn bei der Eingabe nichts angezeigt wird, sondern verbergen Sie Ihr Kennwort.
Das Terminal wird automatisch geschlossen, wenn Sie fertig sind.

17
Alba Mendez

Für 11.10 und früher

Sie können bearbeiten:

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

und die folgenden Zeilen auskommentieren (oder löschen):

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)

Natürlich sollten Sie bedenken, dass nachfolgende Aktualisierungen von software-center das Skript wahrscheinlich überschreiben werden ...

Check out this link für mehr Details ;-)

Hinweis: Für 12.04 lautet der Dateiname /usr/share/software-center/softwarecenter/backend/channel_impl/aptchannels.py. Die gleichen Schritte gelten.

12
Pavlos G.

Ich habe einen Weg gefunden, kommerzielle Ergebnisse für 12.04 zu verbergen:

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

Nach den Zeilen:

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

Fügen Sie die folgende Zeile hinzu:

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

Es sollte nur das ändern, was angezeigt wird, aber ich habe es noch nicht viel getestet, also verwenden Sie es auf Ihr eigenes Risiko. Und genießen Sie ein werbefreies Software-Center.

6
Damien

Der Vollständigkeit halber ist hier die Lösung, die in 13.10 für mich funktioniert hat:

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

Finde das:

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

Und fügen Sie dies hinzu (stellen Sie sicher, dass Sie die richtige Einrückung von TABS haben (Python benötigt dies):

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

Übrigens war dies mein erster python evar :-)

6
Lennart Rolland

Ich habe es versucht, es hat bei mir funktioniert: nur KOSTENLOS (Preis nicht mehr als 0) Artikel werden angezeigt.

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

Finde das:

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

Fügen Sie dann den folgenden Code hinzu:

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

Für 12.10 und später

Abgeleitet von jmendethanswer .
Andere Version? Gehen Sie zu die Liste .
Lesen Sie das Ende des Beitrags, wenn Sie in Schwierigkeiten sind und die Änderungen rückgängig machen möchten.

Schließen Sie das Software Center, falls es geöffnet ist.
Öffnen Sie jetzt ein Terminal (Ctrl + Alt + T) und Typ:

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

Und drücken Sie die Eingabetaste. Sie werden aufgefordert, Ihr Passwort einzugeben.
Dann erscheint ein Editor. Suchen Sie die folgenden Zeilen (Hinweis: Ctrl + F kann helfen):

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

Fügen Sie unmittelbar nach diesen Zeilen Folgendes ein ( einschließlich der Leerzeichen! ):

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

Speicher die Datei (Ctrl + S) und schließen Sie den Editor, nicht aber das Terminal.
Tippen Sie nun das Terminal ein:

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

Drücken Sie Enter. Ein Editor wird erneut angezeigt. Suchen Sie diese Zeilen:

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

Und deaktivieren Sie sie, indem Sie vor jede Zeile einen # setzen:

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

Speichern Sie die Datei, schließen Sie den Editor, aber nicht das Terminal.
Geben Sie im Terminal Folgendes ein:

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

Warten Sie etwas, das Terminal wird automatisch geschlossen, wenn Sie fertig sind ...
Dann öffne das Software Center und… voila!
Es gibt keine kommerziellen Programme!

Randnotizen: Die. Dateien. sind. verpackt.

Was heißt das, fragst du? Das bedeutet, dass,
Wenn Sie Ihr Software Center aktualisieren, werden die Änderungen übernommen
wird zurückgesetzt und Sie müssen diese Schritte erneut ausführen.

Machen Sie die Änderungen rückgängig

Wenn Sie den ursprünglichen Zustand der Dateien wiederherstellen möchten,
öffne ein Terminal und tippe:

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

Wieder werden Sie aufgefordert, Ihr Passwort einzugeben.
Das Terminal wird automatisch geschlossen, wenn Sie fertig sind.

2
blvdeer