Eliminar el reproductor VLC del menú de sonido en la barra de Unity

11

No uso tanto VLC para tenerlo allí, así que me gustaría eliminarlo del menú de sonido en la esquina superior derecha. Encontré una pequeña imagen para mostrar cómo se ve (el menú de sonido está abierto y muestra VLC junto con otros reproductores de música).

ingrese la descripción de la imagen aquí

Perdón por dar una imagen de muy baja resolución.

Nick Bailuc
fuente
Hice esta pregunta antes, así que esto es una especie de duplicado. Aunque esto solo se trata de eliminar VLC del menú de sonido, en lugar de evitar que aparezca continuamente. No estoy seguro si ambas respuestas deben permanecer abiertas. askubuntu.com/questions/455940/…
Aibara
Nick, edité mi respuesta para evitar que vuelva (permanentemente) al menú de sonido.
Jacob Vlijm
sí, sigue apareciendo cada vez que uso vlc. Estoy mirando tutoriales de Internet sobre cómo deshabilitarlo en las preferencias y no puedo encontrarlo porque mi versión es demasiado nueva. se llama "D-Bus"
Nick Bailuc
Posible duplicado: askubuntu.com/questions/177652/disable-vlcs-mpris-plugian
Exeleration-G

Respuestas:

14
  1. Mover el complemento VLC DBus

    sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
    
  2. Abrir dconf-editor, Eliminar vlc.desktopde:

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

    O simplemente restablecerlo a través de la terminal

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

Nota: A algunas personas les gustaría modificar el menú del indicador de sonido para ocultar los controles del reproductor inactivo o eliminarlo después de cerrar . En otras palabras, los jugadores en ejecución tienen controles completos, los cerrados solo lanzador (sin botones de control) o desaparecen totalmente del menú.

user.dz
fuente
3
¡Esta solución también funciona!
Aibara
6

Cómo eliminar VLC del menú de sonido / Cómo evitar que VLC vuelva a aparecer en el menú de sonido.

Eliminar VLC del menú de sonido

Método GUI

  • Instalar el editor dconf
  • Abra dconf-editor y busque: com/canonical/indicator/sound

ingrese la descripción de la imagen aquí

  • En la lista de elementos de soundmenu ( interested-media-players), elimine las aplicaciones que no necesita / no desea que aparezcan en el menú. Cierre el dconf-editor.

ingrese la descripción de la imagen aquí

  • Hecho, VLC desapareció del menú.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Método de línea de comando

  • Para leer los elementos del menú actual:

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

    da una salida como:

    ['rhythmbox.desktop', 'vlc.desktop']
    
  • Para eliminar VLC, elimine vlc.desktopde la lista y configure el menú modificado con el comando:

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

Evitar que VLC regrese en el menú de sonido (14.04)

La solución elimina VLC del menú de sonido, pero si inicia VLC, aparecerá nuevamente en el menú de sonido. El siguiente script no evita eso, pero lo elimina de forma inmediata y automática una vez que se cierra VLC.

Para usarlo:

Copie el script a continuación, péguelo en un vlcarchivo de texto vacío y guárdelo como , hágalo ejecutable. A continuación, copie el vlc.desktoparchivo de /usr/share/applicationsa ~/.local/share/applicationsy reemplazar la (primera) de partida de acuerdo con Exec=por Exec=/path/to/script/vlc. Cierre la sesión y vuelva a iniciarla. El archivo de escritorio se redirigirá al script, el script iniciará VLC y esperará a que se detenga y elimine VLC del menú de sonido de inmediato.

#!/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)

Otras aplicaciones

Este método / script también se puede usar para otras aplicaciones en el menú de sonido. Luego, de acuerdo con la otra aplicación, se deben modificar dos líneas en la última sección del script:

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

y

subprocess.call(["/usr/bin/vlc"]) (change the command to run the application)
Jacob Vlijm
fuente
Hice el método del terminal porque no quería instalar aplicaciones innecesarias. gracias, funcionó al instante
Nick Bailuc
1
¡Estoy de acuerdo! si no es necesario, preferiría no instalar software adicional. Me alegro de que funcionó.
Jacob Vlijm
Pero se leerá tan pronto como abra VLC nuevamente ...
Aibara
Corrección: tan pronto como comience a reproducir un video en VLC nuevamente.
Aibara
1
@NickBailuc Lo intenté, y tienes razón, ¡te responderé sobre esto!
Jacob Vlijm
1

Mostrar aplicaciones definidas por el usuario en el menú de sonido solo si se ejecutan

La siguiente solución es flexiblemente utilizable para múltiples aplicaciones a la vez con una posición en el menú de sonido. El usuario puede definir (y cambiar) qué aplicaciones tienen una posición permanente en el menú y cuáles deben eliminarse del menú de sonido después de cerrarse.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Qué es y qué hace

La solución existe de un script que se ejecuta desde el inicio (inicio de sesión). Permite que las aplicaciones definidas por el usuario aparezcan en el menú de sonido, pero elimina esas aplicaciones del menú de sonido una vez que se cierran.

El script no tiene ningún efecto sobre la funcionalidad de los archivos de escritorio. No pude notar ningún efecto en la carga del procesador, el uso de memoria es insignificante.

cómo utilizar

  • Copie el script a continuación en un archivo vacío, guárdelo como cleanup_soundmenu.py

  • En la línea que comienza con no_show =, se establecen las aplicaciones que deben limpiarse del menú después de cerrarse. Se establecen dos ejemplos: ['rhythmbox', 'vlc']. Los nombres se derivan de sus archivos de escritorio, se eliminan .desktop.

  • En la línea, comenzando con cleanup_interval, el usuario puede definir el intervalo entre las comprobaciones de limpieza. Por defecto son 10 segundos.

  • Agregue la siguiente línea a Startup Applications(Tablero> Aplicaciones de inicio> Agregar):

    python3 /path/to/cleanup_soundmenu.py
    

En el próximo inicio de sesión, la aplicación definida se limpiará del menú de sonido si no se está ejecutando.

La secuencia de comandos

#!/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)
Jacob Vlijm
fuente
Sí, funciona, pero ejecutar una verificación cada 10 segundos para un evento que puede ocurrir una o dos veces por sesión parece extremadamente ineficiente.
Lilley
@Lilley obtener valores de gsettings es extremadamente ligero, y tenga en cuenta el hecho de que el sistema ejecuta todo tipo de bucles constantemente.
Jacob Vlijm
1

Solución simple Ubuntu 14.04 (solo un comando, sin sudo, sin script).

Abra la aplicación Terminal, luego copie, pegue y ejecute uno de los siguientes comandos. Después de eso, el indicador de sonido se limpiará automáticamente después de que salga VLC.

  1. no deje ninguna entrada dentro del indicador de sonido:

    (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. Deje la entrada Rhythmbox dentro del indicador de sonido:

    (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. deshacer cambios:

    rm ~/.local/share/applications/vlc.desktop
    
c4pp4
fuente
0

Este es un artículo sobre cómo agregar esta función en el escenario opuesto:

Herramientas -> Preferencias -> todas -> Interfaz -> Interfaz de control -> Interfaz de control D-Bus

Hedwig
fuente
3
Esta opción ya no está presente en VLC.
Aibara
Oh, existe para mí, tal vez tengo una versión antigua ..
Hedwig