VLC를 많이 사용하지 않으므로 오른쪽 상단의 사운드 메뉴에서 VLC를 제거하고 싶습니다. 소리 모양이 열리고 다른 음악 플레이어와 함께 VLC가 표시되는 작은 이미지를 찾았습니다.
매우 낮은 해상도의 이미지를 제공하여 죄송합니다.
VLC를 많이 사용하지 않으므로 오른쪽 상단의 사운드 메뉴에서 VLC를 제거하고 싶습니다. 소리 모양이 열리고 다른 음악 플레이어와 함께 VLC가 표시되는 작은 이미지를 찾았습니다.
매우 낮은 해상도의 이미지를 제공하여 죄송합니다.
답변:
VLC DBus 플러그인 이동
sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
열기 dconf-editor
, 제거 vlc.desktop
:
/com/canonical/indicator/sound/interested-media-players
아니면 그냥 터미널을 통해 재설정
dconf reset /com/canonical/indicator/sound/interested-media-players
참고 : 누군가가 사운드 표시기 메뉴 를 수정하여 비활성 플레이어에서 컨트롤을 숨기거나 닫은 후에 컨트롤을 제거 할 수 있습니다. 달리 말하면, 러닝 플레이어는 모든 컨트롤을 가지고 있으며, 닫힌 플레이어는 런처 (컨트롤 버튼 없음)이거나 메뉴에서 완전히 사라집니다.
사운드 메뉴에서 VLC를 제거하는 방법 / 사운드 메뉴에 VLC가 다시 나타나지 않도록하는 방법
사운드 메뉴에서 VLC 제거
GUI 방법
com/canonical/indicator/sound
interested-media-players
) 항목 목록 에서 메뉴에 표시 할 필요가없는 응용 프로그램을 제거하십시오. dconf 편집기를 닫습니다.
명령 줄 방법
현재 메뉴 항목을 읽으려면
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)
실행되는 경우에만 사운드 메뉴에 사용자 정의 응용 프로그램 표시
아래 솔루션은 사운드 메뉴의 위치를 사용하여 한 번에 여러 애플리케이션에 유연하게 사용할 수 있습니다. 사용자는 메뉴에서 영구적 인 위치를 가진 응용 프로그램과 닫은 후 사운드 메뉴에서 제거 할 응용 프로그램을 정의 (및 변경) 할 수 있습니다.
그것이 무엇이며 무엇을 하는가
솔루션은 시작 (로그인)에서 실행되는 스크립트로 존재합니다. 사용자 정의 응용 프로그램을 사운드 메뉴에 표시 할 수 있지만 닫은 후에 사운드 메뉴에서 해당 응용 프로그램을 제거합니다.
스크립트는 데스크탑 파일의 기능에 영향을 미치지 않습니다. 프로세서로드에 영향을주지 않으며 메모리 사용량은 무시할 수 있습니다.
사용하는 방법
아래 스크립트를 빈 파일로 복사하여 다른 이름으로 저장하십시오. 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)
터미널 응용 프로그램을 연 후 다음 명령 중 하나를 복사하여 붙여넣고 실행하십시오. 그런 다음 VLC가 종료 된 후 사운드 표시기가 자동으로 정리됩니다.
소리 표시기 안에 항목을 두지 마십시오.
(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)
사운드 표시기 내에 리듬 박스 항목을 그대로 둡니다.
(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)
변경 사항을 취소합니다.
rm ~/.local/share/applications/vlc.desktop