소프트웨어 센터에서 "구매 용"섹션을 제거하는 방법은 무엇입니까?


35

소프트웨어 센터에는 For Purchase 프로그램 섹션 ( 아래 스크린 샷 참조) 이 있습니다.이 섹션은
무언가를 설치하려고 할 때마다 나를 흥분시킵니다.

소프트웨어 센터에서 이러한 프로그램 을 제거 하거나 숨길 수 있는 방법이 있습니까?

답변 링크 :

들어 13.10 이상
들어 13.04
들어 12.10
들어 12.04
들어 11.10 낮출
코멘트를 남겨주세요하거나 메일을 보내 jmendeth@gmail.com
당신을 위해 작동하지 않거나 문제가있는 경우!

우분투 소프트웨어 센터의 '구매 용'섹션.


13.10 이상의 의미는 무엇입니까?
Avinash Raj

@AvinashRaj 그것은 현재 13.10과 같은 Ubuntu의 최신 버전이며 14.04 곧 14.04의 알파 / 베타도 곧 나올 것이라고 믿습니다.
Alvar

답변:


17

12.04의 경우

에서 파생 Pavlos에서 G. 응답 에서 영감 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

참고 : 당신이 비용을 지불하지만, "구입"해야하지 않는 물건을 유지하려는 경우
(시험, 잡지 및 기타 propietary 물건처럼) 교체 ("")와 함께 ("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)

광고없이 소프트웨어 센터를 저장하고 즐기십시오!

 


참고 사항 : The. 파일. 아르. 포장.

이것이 무엇을 의미합니까? 즉,
Software Center를 업그레이드 할 때마다 변경 사항
이 되돌려지고이 단계를 다시 수행해야합니다.

수정 취소

파일의 원래 상태를 복원하려면
터미널을 열고 다음을 입력하십시오.

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

이번에도 터미널에서 암호를 묻는 메시지가 나타납니다.
입력 한 후 Enter 키를 누릅니다. 입력 할 때 아무 것도 표시되지 않아도 걱정하지 마십시오. 암호를 숨기는 것입니다.
완료되면 터미널이 자동으로 닫힙니다.


2
내가 다른 사람들에게 말했듯이 프로그램에 중요한 것을 편집하기 전에 백업하는 것이 가장 좋습니다.
ζ--

1
@ObsessiveFOSS 좋은 지적. 그러나 다음 사항 에 유의하십시오. 1) 변경 사항은 사소하고 취소하기 쉽습니다. 사람들이 길을 잃을 가능성은 거의 없습니다. : D 2) 이 파일은 패키지로 제공되므로 실수로 패키지를 다시 설치할 수 있습니다 .
Alba Mendez

@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에 대한 솔루션을 찾으십니까? :)
Savvas Radevic 8:19에

1
소프트웨어 센터를 이전 버전 askubuntu.com/questions/95497/…으로 바꾸면 다음 단계를 수행 할 수 있습니다.
Mateo

12.04에서이 단계는 "구매 용"채널을 숨기지 만 모든 상업용 항목은 숨길 수 없습니다. 그것들을 숨기려면 Darmien의 솔루션과 같은 것이 필요합니다. (하지만 GUI가 아닌 논리 를 변경하는 방법을 찾고 싶습니다 ).
Alba Mendez

찾았어요! 모든 곳에서 모든 상업 항목을 숨기십시오!
Alba Mendez

@medigeek 내 대답을 봐 . 작동하지 않으면 알려주십시오. 세 대의 컴퓨터에서 테스트했습니다.
Alba Mendez

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

표시되는 내용 만 변경해야하지만 아직 많이 테스트하지 않았으므로 자신의 책임하에 사용하십시오. 광고없는 소프트웨어 센터를 즐기십시오.


큰! 테스트를 기다릴 수 없습니다. :)
Alba Mendez

그것을 테스트하지는 않았지만 그렇게 할 것입니다. 시도해 주셔서 감사합니다!
Savvas Radevic

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 이것은 내 첫 파이썬 evar입니다 :-)


+1 지금 확인할 수 없지만 TOC에도 추가되었습니다. 감사!
Alba Mendez

14.04에서는 작동하지만 UI에서 켜거나 끌 수 있으면 더 좋습니다. 이 솔루션은 다소 영구적입니다. 다시 구매할 앱을 보지 마십시오.
VlatkoB

3

나는 이것을 시도했는데 그것은 나를 위해 일했다 : 단지 FREE (가격이 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

조금만 기다리면 터미널이 완료되면 자동으로 닫힙니다.
그런 다음 소프트웨어 센터를 열고…
상용 프로그램이 없습니다!

참고 사항 : The. 파일. 아르. 포장.

이것이 무엇을 의미합니까? 즉,
Software Center를 업그레이드 할 때마다 변경 사항
이 되돌려지고이 단계를 다시 수행해야합니다.

수정 취소

파일의 원래 상태를 복원하려면
터미널을 열고 다음을 입력하십시오.

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

다시 한 번, 비밀번호를 묻는 메시지가 나타납니다.
완료되면 터미널이 자동으로 닫힙니다.


+1 기여해 주셔서 감사합니다! 글쎄, 이것은 꽤 강렬 해지 기 때문에 버전에 따라 적절한 수정을하는 Python 스크립트를 만들 것이라고 생각합니다.
Alba Mendez

12.10에서 모든 것이 준비되면 테스트를 맨 위에 연결하고 다른 수정을 해 보겠습니다.
Alba Mendez

방금 Ubuntu 12.10을 새로 설치했을 때
blvdeer

@jmendeth 나는 당신이 그 스크립트를 작성하는 데 도움을 줄 것입니다
blvdeer

지연에 대해 죄송합니다. 불행히도 64 비트 Ubuntu 12.10에서는 작동하지 않습니다. 내가 무언가를 만들 수 있는지 볼게요 ...
Alba Mendez

-2

모든 소프트웨어 대신보기-> 정식 유지 관리 소프트웨어를 선택하면이 작업을 더 간단하게 수행 할 수 있습니다. 소프트웨어 업데이트로 덮어 쓰지 않는 이점이 있습니다.

이것은 일부 추가 항목을 숨길 수 있지만 적어도 성가신 잡지와 내 경험에 따라 판매 소프트웨어를 제거합니다.


2
그런 다음 모든 소프트웨어의 90 %를 숨기고 Canonical이 지원하는 소프트웨어 (상업용인지 아닌지) 만 표시합니다. 내가하고 싶은 것은 독점 소프트웨어 제거하는 입니다.
Alba Mendez
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.