Unity 바의 사운드 메뉴에서 VLC 플레이어 제거


11

VLC를 많이 사용하지 않으므로 오른쪽 상단의 사운드 메뉴에서 VLC를 제거하고 싶습니다. 소리 모양이 열리고 다른 음악 플레이어와 함께 VLC가 표시되는 작은 이미지를 찾았습니다.

여기에 이미지 설명을 입력하십시오

매우 낮은 해상도의 이미지를 제공하여 죄송합니다.


전에이 질문을 했으므로 복제본입니다. 이것은 사운드 메뉴에서 VLC를 제거하는 것에 대한 것입니다. 두 답변이 모두 열려 있는지 확실하지 않습니다. askubuntu.com/questions/455940/…
Aibara

Nick, 나는 (영구적으로) 사운드 메뉴로 돌아가는 것을 막기 위해 대답을 편집했습니다.
Jacob Vlijm

vlc를 사용할 때마다 계속 나타납니다. 인터넷 환경 설정을 사용하여 환경 설정에서 사용 중지하는 방법에 대한 인터넷 자습서를보고 내 버전이 너무 새롭다는 것을 알 수 없습니다. 그것의 "D- 버스"
Nick Bailuc

가능한 중복 : askubuntu.com/questions/177652/disable-vlcs-mpris-plugian
Exeleration-G

답변:


14
  1. VLC DBus 플러그인 이동

    sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
    
  2. 열기 dconf-editor, 제거 vlc.desktop:

    /com/canonical/indicator/sound/interested-media-players
    

    아니면 그냥 터미널을 통해 재설정

    dconf reset /com/canonical/indicator/sound/interested-media-players
    

참고 : 누군가가 사운드 표시기 메뉴수정하여 비활성 플레이어에서 컨트롤을 숨기거나 닫은 후에 컨트롤을 제거 할 수 있습니다. 달리 말하면, 러닝 플레이어는 모든 컨트롤을 가지고 있으며, 닫힌 플레이어는 런처 (컨트롤 버튼 없음)이거나 메뉴에서 완전히 사라집니다.


3
이 수정도 잘 작동합니다!
Aibara

6

사운드 메뉴에서 VLC를 제거하는 방법 / 사운드 메뉴에 VLC가 다시 나타나지 않도록하는 방법

사운드 메뉴에서 VLC 제거

GUI 방법

  • dconf 편집기 설치
  • dconf-editor를 열고 다음을 찾아보십시오. com/canonical/indicator/sound

여기에 이미지 설명을 입력하십시오

  • 사운드 메뉴 ( interested-media-players) 항목 목록 에서 메뉴에 표시 할 필요가없는 응용 프로그램을 제거하십시오. dconf 편집기를 닫습니다.

여기에 이미지 설명을 입력하십시오

  • 메뉴에서 VLC가 사라졌습니다.

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

명령 줄 방법

  • 현재 메뉴 항목을 읽으려면

    gsettings get com.canonical.indicator.sound interested-media-players
    

    다음과 같은 출력을 제공합니다.

    ['rhythmbox.desktop', 'vlc.desktop']
    
  • VLC를 제거하려면 vlc.desktop목록에서 제거 하고 다음 명령으로 변경된 메뉴를 설정하십시오.

    gsettings set com.canonical.indicator.sound interested-media-players "['rhythmbox.desktop']"
    

사운드 메뉴에서 VLC가 돌아 가지 않도록 방지 (14.04)

솔루션은 사운드 메뉴에서 VLC를 제거하지만 VLC를 시작하면 VLC가 사운드 메뉴에 다시 나타납니다. 아래 스크립트는이를 방지하지 않지만 VLC가 닫히면 즉시 자동으로 제거합니다.

그것을 사용하려면 :

아래 스크립트를 복사하여 빈 텍스트 vlc파일에 붙여넣고로 저장 하여 실행 가능하게 만드십시오. 그런 다음 복사 vlc.desktop에서 파일을 /usr/share/applications~/.local/share/applications와 함께 (첫 번째) 라인의 시작을 대체 Exec=하여 Exec=/path/to/script/vlc. 로그 아웃했다가 다시 로그인합니다. 데스크톱 파일이 스크립트로 리디렉션되고 스크립트는 VLC를 시작하고 사운드 메뉴에서 VLC를 즉시 중지하고 제거 할 때까지 기다립니다.

#!/usr/bin/python3
import subprocess
import getpass
import time

curruser = getpass.getuser()

def read_currentmenu():
    # read the current launcher contents
    get_menuitems = subprocess.Popen([
        "gsettings", "get", "com.canonical.indicator.sound", "interested-media-players"
        ], stdout=subprocess.PIPE)
    return eval((get_menuitems.communicate()[0].decode("utf-8")))

def set_current_menu(current_list):
    # preparing subprocess command string
    current_list = str(current_list).replace(", ", ",")
    subprocess.Popen([
        "gsettings", "set", "com.canonical.indicator.sound", "interested-media-players",
        current_list,
        ])

subprocess.call(["/usr/bin/vlc"])                    
current_list = read_currentmenu()
for item in current_list:
    if item == "vlc.desktop":
        current_list.remove(item)
set_current_menu(current_list)

다른 응용

이 방법 / 스크립트는 사운드 메뉴의 다른 응용 프로그램에도 사용할 수 있습니다. 다른 응용 프로그램에 따라 스크립트의 마지막 섹션에서 두 줄을 변경해야합니다.

if item == "vlc.desktop":  (change to desktop file of the application)

subprocess.call(["/usr/bin/vlc"]) (change the command to run the application)

불필요한 응용 프로그램을 설치하고 싶지 않기 때문에 터미널 방법을 사용했습니다. 감사합니다, 그것은 즉시 작동
Nick Bailuc

1
동의한다! 필요하지 않은 경우 추가 소프트웨어를 설치하지 않는 것이 좋습니다. 다행 이네요.
Jacob Vlijm

그러나 VLC를 다시 열면 바로 읽 히게됩니다 ...
Aibara

수정 : VLC에서 비디오를 다시 재생하자마자.
Aibara

1
@NickBailuc 나는 시도했다, 당신이 맞아, 나는 이것에 당신에게 돌아올 것이다!
Jacob Vlijm

1

실행되는 경우에만 사운드 메뉴에 사용자 정의 응용 프로그램 표시

아래 솔루션은 사운드 메뉴의 위치를 ​​사용하여 한 번에 여러 애플리케이션에 유연하게 사용할 수 있습니다. 사용자는 메뉴에서 영구적 인 위치를 가진 응용 프로그램과 닫은 후 사운드 메뉴에서 제거 할 응용 프로그램을 정의 (및 변경) 할 수 있습니다.

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

그것이 무엇이며 무엇을 하는가

솔루션은 시작 (로그인)에서 실행되는 스크립트로 존재합니다. 사용자 정의 응용 프로그램을 사운드 메뉴에 표시 할 수 있지만 닫은 후에 사운드 메뉴에서 해당 응용 프로그램을 제거합니다.

스크립트는 데스크탑 파일의 기능에 영향을 미치지 않습니다. 프로세서로드에 영향을주지 않으며 메모리 사용량은 무시할 수 있습니다.

사용하는 방법

  • 아래 스크립트를 빈 파일로 복사하여 다른 이름으로 저장하십시오. cleanup_soundmenu.py

  • 로 시작하는 줄 no_show =에는 응용 프로그램을 설정 한 후 닫은 후 메뉴에서 정리해야합니다. 두 가지 예가 설정 ['rhythmbox', 'vlc']됩니다.. 이름은 데스크톱 파일에서 파생되어에서 제거됩니다 .desktop.

  • 라인에서로 시작하여 cleanup_interval사용자는 정리 점검 간격을 정의 할 수 있습니다. 기본적으로 10 초입니다.

  • Startup Applications(Dash> Startup Applications> Add)에 다음 줄을 추가하십시오.

    python3 /path/to/cleanup_soundmenu.py
    

다음에 로그인하면 정의 된 응용 프로그램이 실행 중이 아닌 경우 사운드 메뉴에서 정리됩니다.

스크립트

#!/usr/bin/env python3

import subprocess
import time
import getpass

no_show = ['rhythmbox', 'vlc'] # add names here, to set apps not to show
cleanup_interval = 10 # cleanup interval (in seconds)

curruser = getpass.getuser()

def createlist_runningprocs():
    processesb = subprocess.Popen(
        ["ps", "-u", curruser],
        stdout=subprocess.PIPE)
    process_listb = (processesb.communicate()[0].decode("utf-8")).split("\n")
    return process_listb

def read_soundmenu():
    # read the current launcher contents
    get_menuitems = subprocess.Popen([
        "gsettings", "get",
        "com.canonical.indicator.sound",
        "interested-media-players"
        ], stdout=subprocess.PIPE)
    try:
        return eval(get_menuitems.communicate()[0].decode("utf-8"))
    except SyntaxError:
        return []

def set_soundmenu(new_list):
    # set the launcher contents
    subprocess.Popen([
        "gsettings", "set",
        "com.canonical.indicator.sound",
        "interested-media-players",
        str(new_list)])

def check_ifactionneeded():
    snd_items = read_soundmenu()
    procs = createlist_runningprocs()
    remove = [item+".desktop" for item in no_show if not item in str(procs)]
    if len(remove) != 0:
        for item in remove:
            try:
                snd_items.remove(item)
            except ValueError:
                pass
        return snd_items
    else:
        pass

while 1 != 0:
    new_list = check_ifactionneeded()
    if new_list != None:
        set_soundmenu(new_list)
    time.sleep(cleanup_interval)

예, 작동하지만 세션 당 한 번 또는 두 번 발생할 수있는 이벤트에 대해 10 초마다 검사를 실행하면 매우 비효율적입니다.
Lilley

@Lilley는 gsettings에서 값을 얻는 것이 매우 가볍고 시스템이 모든 종류의 루프를 지속적으로 실행한다는 사실을 알고 있어야합니다.
Jacob Vlijm

1

우분투 14.04 간단한 솔루션 (하나의 명령, sudo, 스크립트 없음).

터미널 응용 프로그램을 연 후 다음 명령 중 하나를 복사하여 붙여넣고 실행하십시오. 그런 다음 VLC가 종료 된 후 사운드 표시기가 자동으로 정리됩니다.

  1. 소리 표시기 안에 항목을 두지 마십시오.

    (mkdir -p ~/.local/share/applications);(cp /usr/share/applications/vlc.desktop ~/.local/share/applications);(sed -i 's/Exec=\/usr\/bin\/vlc --started-from-file %U/Exec=sh -c "\/usr\/bin\/vlc --started-from-file %U; gsettings reset com.canonical.indicator.sound interested-media-players"/' ~/.local/share/applications/vlc.desktop)
    
  2. 사운드 표시기 내에 리듬 박스 항목을 그대로 둡니다.

    (mkdir -p ~/.local/share/applications);(cp /usr/share/applications/vlc.desktop ~/.local/share/applications);(sed -i 's/Exec=\/usr\/bin\/vlc --started-from-file %U/Exec=sh -c "\/usr\/bin\/vlc --started-from-file %U; gsettings set com.canonical.indicator.sound interested-media-players \\\"['\'rhythmbox.desktop\'']\\\""/' ~/.local/share/applications/vlc.desktop)
    
  3. 변경 사항을 취소합니다.

    rm ~/.local/share/applications/vlc.desktop
    

0

이 기능을 추가하는 방법에 대한 기사 는 반대 시나리오를 수행합니다.

도구-> 환경 설정-> 모두-> 인터페이스-> 제어 인터페이스-> D- 버스 제어 인터페이스


3
이 옵션은 더 이상 VLC에 없습니다.
Aibara

그것은 나에게 존재, 아마 나는 오래된 버전을 가지고 ..
Hedwig
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.