Запретить VLC всегда отображаться в звуковом индикаторе [дубликат]

Я не использую VLC так часто, чтобы иметь его там, поэтому я хотел бы удалите его из звукового меню в правом верхнем углу. Я нашел небольшое изображение, чтобы показать, как это выглядит (звуковое меню открыто и показывает VLC вместе с другими музыкальными проигрывателями).

enter image description here

Извините за предоставленное изображение с очень низким разрешением.

11
задан 20 May 2014 в 07:35

5 ответов

  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 / заинтересованных-медиа-плееров
     

    Или просто сбросить через терминал

     dconf reset / com / canonical / indicator / sound /hibited-media-плееры
     

Примечание: Кто-то может изменить меню звукового индикатора, чтобы скрыть элементы управления от неактивного проигрывателя или удалить его после закрытия . Другими словами, у запущенных игроков есть полный контроль, у закрытых - либо только панель запуска (без кнопок управления), либо они полностью исчезают из меню.

14
ответ дан 5 January 2021 в 23:09

Простое решение Ubuntu 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 заинтересованных-медиа-плееров" / '~ / .local / share / applications / vlc.desktop)
  2. оставьте запись 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.  рабочий стол)
     
  3. отменить изменения:

     rm ~ / .local / share / applications / vlc.desktop
     
1
ответ дан 5 January 2021 в 23:09

Эта статья о том, как добавить эту функцию, выполняет противоположный сценарий:

Инструменты -> Настройки -> все -> Интерфейс -> Интерфейс управления -> Интерфейс управления D-Bus

0
ответ дан 5 January 2021 в 23:09

Показывать определенные пользователем приложения в звуковом меню только в том случае, если они работают

Приведенное ниже решение можно гибко использовать для нескольких приложений одновременно с положением в звуковом меню. Пользователь может определить (и изменить), какие приложения имеют постоянное положение в меню, а какие должны быть удалены из звукового меню после закрытия.

enter image description here enter image description here

Что это такое и что оно делает

Решение существует в виде сценарий, который запускается при запуске (логин). Он позволяет отображать определенные пользователем приложения в звуковом меню, но удаляет эти приложения из звукового меню после их закрытия.

Сценарий не влияет на функциональность файлов рабочего стола. Я не заметил никакого влияния на загрузку процессора, использование памяти незначительно.

как использовать

  • Скопируйте приведенный ниже сценарий в пустой файл, сохраните его как 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)
1
ответ дан 5 January 2021 в 23:09

Как удалить VLC из звукового меню / Как предотвратить повторное появление VLC в звуковом меню.

Удаление VLC из звукового меню

Метод графического интерфейса пользователя

  • Установите редактор dconf
  • Откройте dconf-editor и перейдите по адресу: com / canonical / индикатор / звук

enter image description here

  • В списке пунктов звукового меню ( заинтересованные-медиаплееры ) удалите приложения, которые вам не нужны / которые вы не хотите отображать в меню. Закройте dconf-editor.

enter image description here

  • Готово, VLC исчез из меню.

enter image description here enter image description here

Метод командной строки

  • Чтобы прочитать текущие пункты меню:

     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)
6
ответ дан 5 January 2021 в 23:09

Другие вопросы по тегам:

Похожие вопросы: