it-swarm.com.de

Entfernen Sie den VLC-Player aus dem Soundmenü in der Unity-Leiste

Ich verwende VLC nicht so oft, um es dort zu haben. Daher möchte ich es aus dem Sound-Menü oben rechts entfernen. Ich habe ein kleines Bild gefunden, um zu zeigen, wie es aussieht (das Sound-Menü ist geöffnet und zeigt VLC zusammen mit anderen Musik-Playern).

enter image description here

Entschuldigung, dass Sie ein Bild mit sehr niedriger Auflösung angegeben haben.

8
Nick Bailuc
  1. VLC DBus Plugin verschieben

    Sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
    
  2. Öffne dconf-editor, entferne vlc.desktop von:

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

    Oder setzen Sie es einfach über das Terminal zurück

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

Hinweis: Einige mögen vielleicht Ändern Sie das Soundindikator-Menü, um Steuerelemente vor inaktiven Playern auszublenden, oder entfernen Sie es nach dem Schließen . Mit anderen Worten: Laufende Spieler haben die volle Kontrolle, geschlossene entweder nur den Starter (keine Kontrolltasten) oder verschwinden vollständig aus dem Menü.

13
user.dz

So entfernen Sie VLC aus dem Sound-Menü/So verhindern Sie, dass VLC im Sound-Menü erneut angezeigt wird.

Entfernen von VLC aus dem Soundmenü

GUI-Methode

  • Installieren Sie den dconf editor
  • Öffne dconf-editor und navigiere zu: com/canonical/indicator/sound

enter image description here

  • Entfernen Sie in der Liste der Soundmenü-Elemente (interested-media-players) die Anwendungen, die nicht im Menü angezeigt werden sollen/müssen. Schließen Sie den dconf-Editor.

enter image description here

  • Fertig, VLC verschwand aus dem Menü.

enter image description hereenter image description here

Befehlszeilenmethode

  • So lesen Sie die aktuellen Menüpunkte:

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

    gibt eine Ausgabe wie:

    ['rhythmbox.desktop', 'vlc.desktop']
    
  • Entfernen Sie zum Entfernen von VLC vlc.desktop aus der Liste und stellen Sie das geänderte Menü mit dem folgenden Befehl ein:

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

Verhindern, dass VLC im Sound-Menü (14.04) zurückkehrt

Die Lösung entfernt VLC aus dem Sound-Menü. Wenn Sie VLC jedoch starten, wird es erneut im Sound-Menü angezeigt. Das folgende Skript verhindert dies nicht, entfernt es jedoch sofort und automatisch, sobald VLC geschlossen wird.

So verwenden Sie es:

Kopieren Sie das folgende Skript, fügen Sie es in eine leere Textdatei ein und speichern Sie es als vlc, um es ausführbar zu machen. Kopieren Sie dann die Datei vlc.desktop von /usr/share/applications nach ~/.local/share/applications und ersetzen Sie die (erste) Zeile, die mit Exec= beginnt, durch Exec=/path/to/script/vlc. Melden Sie sich ab und wieder an. Die Desktopfile wird zum Skript umgeleitet, das Skript startet VLC und wartet, bis es angehalten und VLC sofort aus dem Soundmenü entfernt wird.

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

Andere Anwendungen

Diese Methode/dieses Skript kann auch für andere Anwendungen im Sound-Menü verwendet werden. Zwei Zeilen im letzten Abschnitt des Skripts müssen dann entsprechend der anderen Anwendung geändert werden:

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

und

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

Ubuntu 14.04 einfache Lösung (nur ein Befehl, kein Sudo, kein Skript).

Öffnen Sie die Terminal-Anwendung, kopieren Sie sie, fügen Sie sie ein und führen Sie einen der folgenden Befehle aus. Danach wird die Klanganzeige nach dem Beenden von VLC automatisch gelöscht.

  1. lass keinen Eintrag in der Sound-Anzeige:

    (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. belassen Sie den Rhythmbox-Eintrag in der Sound-Anzeige:

    (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. änderungen rückgängig machen:

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

Benutzerdefinierte Anwendungen nur dann im Soundmenü anzeigen, wenn sie ausgeführt werden

Die unten stehende Lösung ist für mehrere Anwendungen gleichzeitig mit einer Position im Sound-Menü flexibel einsetzbar. Der Benutzer kann festlegen (und ändern), welche Anwendungen eine feste Position im Menü haben und welche nach dem Schließen aus dem Sound-Menü entfernt werden sollen.

enter image description hereenter image description here

Was es ist und was es tut

Die Lösung besteht aus einem Skript, das vom Start (Login) ausgeführt wird. Damit können benutzerdefinierte Anwendungen im Sound-Menü angezeigt werden, diese Anwendungen werden jedoch nach dem Schließen aus dem Sound-Menü entfernt.

Das Skript hat keine Auswirkung auf die Funktionalität der Desktop-Dateien. Ich konnte keine Auswirkungen auf die Prozessorauslastung feststellen, die Speichernutzung ist vernachlässigbar.

wie benutzt man

  • Kopieren Sie das folgende Skript in eine leere Datei und speichern Sie es als cleanup_soundmenu.py

  • In der Zeile beginnend mit no_show = werden Anwendungen festgelegt, die nach dem Schließen über das Menü bereinigt werden sollen. Es gibt zwei Beispiele: ['rhythmbox', 'vlc']. Die Namen werden von ihren Desktop-Dateien abgeleitet und von .desktop entfernt.

  • In der Zeile, beginnend mit cleanup_interval, kann der Benutzer das Intervall zwischen den Bereinigungsprüfungen definieren. Standardmäßig sind es 10 Sekunden.

  • Fügen Sie die folgende Zeile zu Startup Applications hinzu (Dash> Startup Applications> Add):

    python3 /path/to/cleanup_soundmenu.py
    

Bei der nächsten Anmeldung wird die definierte Anwendung aus dem Soundmenü entfernt, wenn sie nicht ausgeführt wird.

Das Drehbuch

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

Dies ist ein Artikel wie man diese Funktion hinzufügt und das umgekehrte Szenario ausführt:

Extras -> Einstellungen -> Alle -> Schnittstelle -> Steuerungsschnittstelle -> D-Bus-Steuerungsschnittstelle

0
Hedwig