Я не использую 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 / заинтересованных-медиа-плееров
Или просто сбросить через терминал
dconf reset / com / canonical / indicator / sound /hibited-media-плееры
Примечание: Кто-то может изменить меню звукового индикатора, чтобы скрыть элементы управления от неактивного проигрывателя или удалить его после закрытия . Другими словами, у запущенных игроков есть полный контроль, у закрытых - либо только панель запуска (без кнопок управления), либо они полностью исчезают из меню.
Откройте приложение «Терминал», затем скопируйте, вставьте и выполните одну из следующих команд. После этого звуковой индикатор будет автоматически очищен после выхода из 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 заинтересованных-медиа-плееров" / '~ / .local / share / applications / vlc.desktop)
оставьте запись Rhythmbox в звуковом индикаторе:
(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 устанавливает com.canonical.indicator.sound заинтересованы-медиа-плееры \\\ "['\'hythmbox.desktop \' '] \\\" "/' ~ / .local / share / applications / vlc. рабочий стол)
отменить изменения:
rm ~ / .local / share / applications / vlc.desktop
Эта статья о том, как добавить эту функцию, выполняет противоположный сценарий:
Инструменты -> Настройки -> все -> Интерфейс -> Интерфейс управления -> Интерфейс управления D-Bus
Показывать определенные пользователем приложения в звуковом меню только в том случае, если они работают
Приведенное ниже решение можно гибко использовать для нескольких приложений одновременно с положением в звуковом меню. Пользователь может определить (и изменить), какие приложения имеют постоянное положение в меню, а какие должны быть удалены из звукового меню после закрытия.
Что это такое и что оно делает
Решение существует в виде сценарий, который запускается при запуске (логин). Он позволяет отображать определенные пользователем приложения в звуковом меню, но удаляет эти приложения из звукового меню после их закрытия.
Сценарий не влияет на функциональность файлов рабочего стола. Я не заметил никакого влияния на загрузку процессора, использование памяти незначительно.
как использовать
Скопируйте приведенный ниже сценарий в пустой файл, сохраните его как cleanup_soundmenu.py
В начале строки с no_show =
устанавливаются приложения, которые следует удалять из меню после закрытия. Установлены два примера: ['hythmbox ',' vlc ']
. Имена взяты из их файлов рабочего стола, вырезанные из .desktop
.
В строке, начиная с cleanup_interval
, пользователь может определить интервал между проверками очистки. По умолчанию это 10 секунд.
Добавьте следующую строку в Приложения для запуска
(Dash> Приложения для запуска> Добавить):
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 из звукового меню / Как предотвратить повторное появление VLC в звуковом меню.
Удаление VLC из звукового меню
Метод графического интерфейса пользователя
com / canonical / индикатор / звук
заинтересованные-медиаплееры
) удалите приложения, которые вам не нужны / которые вы не хотите отображать в меню. Закройте dconf-editor.
Метод командной строки
Чтобы прочитать текущие пункты меню:
gsettings получить com.canonical.indicator.sound заинтересованных-медиа-плееров
дает следующий результат:
['hythmbox.desktop ',' vlc.рабочий стол ']
Чтобы удалить VLC, удалите vlc.desktop
из списка и установите измененное меню командой:
gsettings set com.canonical.indicator.sound заинтересованных-медиа-плееров "['hythmbox .desktop '] "
Предотвращение возврата VLC в звуковое меню (14.04)
Решение удаляет 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)