web-dev-qa-db-fra.com

Supprimer le lecteur VLC du menu audio dans la barre Unity

Je ne me sers pas beaucoup de VLC pour l’avoir là; j’aimerais donc le supprimer du menu son en haut à droite. J'ai trouvé une petite image pour montrer à quoi elle ressemble (le menu Son est ouvert et affiche VLC avec d'autres lecteurs de musique).

enter image description here

Désolé de donner une image à très basse résolution.

8
Nick Bailuc
  1. Déplacer le plugin VLC DBus

    Sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
    
  2. Ouvrez dconf-editor, supprimez vlc.desktop de:

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

    Ou simplement le réinitialiser via le terminal

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

Remarque: Certains voudront peut-être modifier le menu du témoin sonore pour masquer les commandes du lecteur inactif ou le supprimer après la fermeture . En d'autres termes, les joueurs en cours d'exécution ont des contrôles complets, ceux fermés étant soit uniquement lanceurs (sans boutons de contrôle) ou disparaissent totalement du menu.

13
user.dz

Comment supprimer VLC du menu Son/Comment empêcher VLC de réapparaître dans le menu Son.

Suppression de VLC du menu Son

méthode graphique

  • Installer l'éditeur dconf
  • Ouvrez dconf-editor et accédez à: com/canonical/indicator/sound

enter image description here

  • Dans la liste des éléments du menu son (interested-media-players), supprimez la ou les applications dont vous n'avez pas besoin/ne voulez pas apparaître dans le menu. Fermez l'éditeur dconf.

enter image description here

  • Fait, VLC a disparu du menu.

enter image description hereenter image description here

Méthode en ligne de commande

  • Pour lire les éléments de menu actuels:

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

    donne une sortie comme:

    ['rhythmbox.desktop', 'vlc.desktop']
    
  • Pour supprimer VLC, supprimez vlc.desktop de la liste et définissez le menu modifié à l'aide de la commande:

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

Empêcher VLC de revenir dans le menu son (14.04)

La solution supprime VLC du menu Son, mais si vous démarrez VLC, il réapparaîtra dans le menu Son. Le script ci-dessous n’empêche pas cela, mais le supprime immédiatement et automatiquement une fois que VLC est fermé.

Pour l'utiliser:

Copiez le script ci-dessous, collez-le dans un fichier texte vide et enregistrez-le sous le nom vlc, rendez-le exécutable. Copiez ensuite le fichier vlc.desktop de /usr/share/applications vers ~/.local/share/applications et remplacez la (première) ligne commençant par Exec= par Exec=/path/to/script/vlc. Déconnectez-vous puis reconnectez-vous. Le fichier desktop sera redirigé vers le script. Le script démarrera VLC et attendra son arrêt et supprimera immédiatement VLC du menu sonore.

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

Autres applications

Cette méthode/script peut également être utilisé pour d'autres applications dans le menu Son. Deux lignes de la dernière section du script doivent alors être modifiées, selon l’autre application:

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

et

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

Ubuntu 14.04 solution simple (une seule commande, pas de Sudo, pas de script).

Ouvrez l'application Terminal, puis copiez, collez et exécutez l'une des commandes suivantes. Après cela, l'indicateur de son sera automatiquement effacé après la sortie de VLC.

  1. ne laissez aucune entrée dans l'indicateur de son:

    (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. laissez l'entrée Rhythmbox dans l'indicateur de son:

    (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. annuler les changements:

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

Afficher les applications définies par l'utilisateur dans le menu audio uniquement si elles sont exécutées

La solution ci-dessous est utilisable de manière flexible pour plusieurs applications à la fois avec une position dans le menu Son. L'utilisateur peut définir (et changer) les applications qui ont une position permanente dans le menu et celles qui doivent être supprimées du menu Son après leur fermeture.

enter image description hereenter image description here

Qu'est-ce que c'est et ce qu'il fait

La solution existe d'un script qui s'exécute à partir du démarrage (connexion). Il permet aux applications définies par l'utilisateur d'apparaître dans le menu Son, mais les supprime du menu Son après leur fermeture.

Le script n'a aucun effet sur la fonctionnalité des fichiers du bureau. Je n'ai pu remarquer aucun effet sur la charge du processeur, la mémoire utilisée est négligeable.

comment utiliser

  • Copiez le script ci-dessous dans un fichier vide, enregistrez-le sous le nom cleanup_soundmenu.py

  • Dans la ligne commençant par no_show =, les applications sont définies et doivent être nettoyées à partir du menu après leur fermeture. Deux exemples sont définis: ['rhythmbox', 'vlc']. Les noms sont dérivés des fichiers de leur bureau, extraits de .desktop.

  • Dans la ligne, commençant par cleanup_interval, l'utilisateur peut définir l'intervalle entre les vérifications de nettoyage. Par défaut, c'est 10 secondes.

  • Ajoutez la ligne suivante à Startup Applications (Tableau de bord> Applications de démarrage> Ajouter):

    python3 /path/to/cleanup_soundmenu.py
    

Lors de la prochaine connexion, les applications définies seront nettoyées du menu Son si elles ne sont pas en cours d'exécution.

Le script

#!/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
Jacob Vlijm

Ceci article sur la façon d'ajouter cette fonctionnalité fait le scénario opposé:

Outils -> Préférences -> tout -> Interface -> Interface de contrôle -> Interface de contrôle D-Bus

0
Hedwig