“Satın Alma” bölümü Yazılım Merkezinden nasıl kaldırılır?


35

Yazılım Merkezinde, bir şeyler yüklemek istediğimde beni çağıran “Satın Alma Programları” (aşağıdaki ekran görüntüsüne bakın) bölümü yer almaktadır
.

Bu programları Yazılım Merkezi'nden kaldırmanın veya gizlemenin bir yolu var mı ?

Cevaplara bağlantılar:

İçin 13.10 ve üzeri
İçin 13.04
İçin 12.10
İçin 12.04
İçin 11.10 ve alt
Yorum bırakmak Lütfen ya bir mail göndermek jmendeth@gmail.com
sizin için çalışmayan veya sorun yaşıyorsanız!

Ubuntu Yazılım Merkezinin 'Satın almak için' bölümü.


13.10 ve üstü ne demektir?
Avinash Raj

@AvinashRaj Ubuntu'nun şu anki 13.10 gibi en yeni sürümü için ve yakında 14.04, 14.04'ün alfa / beta'sunun da yakında tükendiğine inanıyor.
Alvar

Yanıtlar:


17

12.04 için

Pavlos G. cevabından türetilmiş ve Darmien cevabından ilham alınmıştır .
Farklı sürüm? Listeye git .
Eğer sorun yaşıyorsanız ve değişiklikleri geri almak istiyorsanız, gönderinin sonuna bakın.


1. Satın alınabilir uygulamaları yoksay

Bir terminal açın ( Ctrl+ Alt+ T) ve şunu yazın:

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

Ve Enter tuşuna basın. Şifreniz istenir.
Sonra bir editör görünecektir. Aşağıdaki satırları bulun (ipucu: Ctrl+ Fyardımcı olabilir):

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

Bu satırlardan hemen sonra, aşağıdakileri yapıştırın ( boşluklar dahil! ):

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

Not: Eğer para mal oldu ama "satın alınan" zorundadır beğenmediği şeyleri tutmak istiyorsanız
(denemeler, dergi ve diğer propietary şeyler gibi), yerini ("")ile ("0.00", "").

Dosyayı kaydedin ( Ctrl+ S), Yazılım Merkezini açın ve… işte!
Ticari program yok!
Düzenleyiciyi ve terminali şimdi kapatabilirsiniz.

2. "Satın almak için" kanalını çıkarın (isteğe bağlı)

Ayrıca menüdeki "Satın almak için" öğesini kaldırmak için bir terminal açın ve şunu yazın:

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

Bu çizgileri bulun:

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

Ve #her satırın önüne koyarak onları devre dışı bırakın :

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

Reklamsız bir yazılım merkezini kaydedin ve tadını çıkarın!

 


Yan notlar: Dosyalar. vardır. paketlenmiş.

Bu ne anlama geliyor? Bu
, Yazılım Merkezinizi ne zaman güncellediğinizde değişikliklerin
geri alınacağı ve bu adımları tekrar yapmanız gerekeceği anlamına gelir .

Değişiklikleri geri al

Dosyaların orijinal durumunu geri yüklemek istiyorsanız,
bir terminal açın ve şunu yazın:

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

Yine, bu sefer terminalde şifreniz istenecektir.
Bunu yazın ve ENTER tuşuna basın. Yazarken hiçbir şey görünmezse endişelenmeyin, şifrenizi gizlemek.
İşlem bittiğinde terminal otomatik olarak kapanacaktır.


2
Başkalarına söylediğim gibi, program için kritik olan herhangi bir şeyi düzenlemeden önce bir yedekleme yapmak en iyisidir.
Aug--

1
@ÖzleyiciFOSS iyi nokta. Ancak şunu unutmayın: 1) Değişiklikler önemsiz ve geri alınması kolaydır. İnsanların kaybolması pek olası değildir. : D 2) Bu dosyalar paketlenmiştir, bu nedenle bir hata yaparsanız paketi yeniden yükleyebilirsiniz .
Alba Mendez

@ObsessiveFOSS Sadece durumda, geri dönmek için talimatlar ekledim;)
Alba Mendez

12

11.10 ve öncesi için

Düzenleyebilirsiniz:

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

ve aşağıdaki satırları yorumlayın (veya silin):

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)

Elbette, software-centeryapılacak güncellemelerin muhtemelen komut dosyasının üzerine yazacağını unutmayın .

Şuna bak linki daha fazla ayrıntı için ;-)

Not: 12.04 için dosya adı /usr/share/software-center/softwarecenter/backend/channel_impl/aptchannels.py. Aynı adımlar geçerlidir.


1
12.04 için bir çözüm bulmak ister misiniz? :)
Savvas Radevic,

1
Yazılım merkezini eski bir sürümle değiştirirseniz askubuntu.com/questions/95497/… bu adımları takip edebilirsiniz.
Mateo

12.04'te, bu adımlar "Satın almak için" kanalını gizler ancak tüm ticari girişleri gizlemez. Bunları da gizlemek için Darmien'in çözümü gibi bir şeye ihtiyaç var. (Ama ben GUI değil mantığı değiştirmek için bir yol bulmak istiyorum ).
Alba Mendez,

Buldum! HER YERDE TÜM ticari girişleri gizle!
Alba Mendez,

En @medigeek bakış Cevabıma . İşe yaramazsa, söyle bana. Üç farklı bilgisayarda test ettim.
Alba Mendez,

6

12.04 için ticari sonuçları gizlemenin bir yolunu buldum:

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

Satırlardan sonra:

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

Aşağıdaki satırı ekleyin:

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

Sadece görüntülenenleri değiştirmeli, ancak henüz çok fazla test etmedim, bu yüzden kendi risklerinizde kullanın. Ve reklamsız bir yazılım merkezinin keyfini çıkarın.


Harika! Test etmek için sabırsızlanıyorum. :)
Alba Mendez

Test etmedim ama yapacağım. Denediğin için teşekkürler!
Savvas Radevic

6

Tamamlanması için, işte benim için 13.10'da işe yarayan çözüm:

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

Bunu bul:

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

Bunu da ekleyin (TABS'nin doğru girintisine sahip olduğunuzdan emin olun (python bunu gerektirir):

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

Btw bu benim ilk python evar oldu :-)


+1 Şu anda doğrulanamıyor, ancak aynı zamanda TOK'ya eklendi. Teşekkürler!
Alba Mendez

14.04 için çalışıyor, ancak UI'den açılıp kapatılması daha iyi olurdu. Bu çözüm oldukça kalıcı. Bir daha asla satın alınacak uygulamaları görmeyin.
VlatkoB

3

Bunu benim için çalıştı: Sadece BEDAVA (fiyat 0'dan fazla değil) ürün görüntüleniyor.

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

Bunu bul:

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

Sonra aşağıdaki kodu ekleyin:

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

2

12.10 ve sonrası için

Jmendeth cevabından türetilmiştir .
Farklı sürüm? Listeye git .
Eğer sorun yaşıyorsanız ve değişiklikleri geri almak istiyorsanız, gönderinin sonuna bakın.

Açıksa, Yazılım Merkezini kapatın.
Şimdi bir terminal açın ( Ctrl+ Alt+ T) ve şunu yazın:

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

Ve Enter tuşuna basın. Şifreniz istenir.
Sonra bir editör görünecektir. Aşağıdaki satırları bulun (ipucu: Ctrl+ Fyardımcı olabilir):

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

Bu satırlardan hemen sonra, aşağıdakileri yapıştırın ( boşluklar dahil! ):

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

Dosyayı kaydedin ( Ctrl+ S) ve editörü kapatın, ancak terminali değil.
Şimdi terminali yazınız:

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

Enter tuşuna basın. Bir editör tekrar belirecek. Bu çizgileri bulun:

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

Ve #her satırın önüne koyarak onları devre dışı bırakın :

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

Dosyayı kaydedin, editörü kapatın ancak terminali değil.
Terminalde şunu yazın:

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

Biraz bekleyin, terminal bittiğinde terminal otomatik olarak kapanacaktır ...
Ardından Yazılım Merkezini açın ve… işte!
Ticari program yok!

Yan notlar: Dosyalar. vardır. paketlenmiş.

Bu ne anlama geliyor? Bu
, Yazılım Merkezinizi ne zaman güncellediğinizde değişikliklerin
geri alınacağı ve bu adımları tekrar yapmanız gerekeceği anlamına gelir .

Değişiklikleri geri al

Dosyaların orijinal durumunu geri yüklemek istiyorsanız,
bir terminal açın ve şunu yazın:

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

Yine, şifreniz istenecektir.
İşlem bittiğinde terminal otomatik olarak kapanacaktır.


+1 Katkınız için teşekkürler! Eh, bu oldukça yoğunlaşıyor, sanırım sürümüne bağlı olarak uygun bir düzeltme yapan bir Python senaryosu hazırlayacağım.
Alba Mendez

12.10'umda test yapacağım, eğer her şey hazırsa, cevabınızı tepeye bağlayacağım ve başka herhangi bir değişiklik yapacağım.
Alba Mendez

Ubuntu
12.10'daki

@jmendeth Bu senaryoyu yazmanıza yardım etmeyi seveceğim
blvdeer

Gecikme için özür dilerim. Ne yazık ki, 64 bit Ubuntu 12.10'umda çalışmıyor. Bakalım bir şeyler yapabilir miyim ...
Alba Mendez

-2

Bunu, Tüm Yazılımlar yerine Görünüm -> Kanonik Bakım Yazılımı seçerek daha kolay yapabilirsiniz. Bunun, yazılım güncellemelerinin üzerine yazılmaması avantajına sahiptir.

Bu, bazı ek öğeleri gizleyebilir, ancak en azından benim deneyimimden rahatsız edici dergilerden ve satılık yazılımlardan kurtulur.


2
O zaman, sadece Canonical'ın desteklediği yazılımı (ticari veya değil) gösteren, tüm yazılımların% 90'ını gizliyorsunuz. Yapmak istediğim sadece özel yazılımı kaldırmak .
Alba Mendez,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.