Rimuovere il lettore VLC dal menu audio nella barra Unity


11

Non uso VLC così tanto per averlo lì, quindi vorrei rimuoverlo dal menu audio in alto a destra. Ho trovato una piccola immagine per mostrare come appare (il menu audio è aperto e mostra VLC insieme ad altri lettori musicali).

inserisci qui la descrizione dell'immagine

Ci scusiamo per aver dato un'immagine a risoluzione molto bassa.


Ho fatto questa domanda prima, quindi questa è una specie di duplicato. Anche se questo richiede solo la rimozione di VLC dal menu audio, anziché impedire che venga visualizzato continuamente. Non sono sicuro che entrambe le risposte debbano rimanere aperte. askubuntu.com/questions/455940/…
Aibara,

Nick, ho modificato la mia risposta per evitare che ritorni (permanentemente) al menu audio.
Jacob Vlijm,

sì, continua ad apparire ogni volta che uso VLC. sto guardando attraverso tutorial su Internet su come disabilitarlo nelle preferenze e non riesco a trovarlo perché la mia versione è troppo nuova. si chiama "D-Bus"
Nick Bailuc

Possibile duplicato: askubuntu.com/questions/177652/disable-vlcs-mpris-plugian
Exeleration-G

Risposte:


14
  1. Sposta il plugin VLC DBus

    sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
    
  2. Apri dconf-editor, Rimuovi vlc.desktopda:

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

    O semplicemente ripristinarlo tramite il terminale

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

Nota: a qualcuno potrebbe piacere modificare il menu dell'indicatore audio per nascondere i controlli dal lettore inattivo o rimuoverlo dopo la chiusura . In altre parole, i giocatori in esecuzione hanno i controlli completi, quelli chiusi sono solo lanciatori (senza pulsanti di controllo) o scompaiono totalmente dal menu.


3
Anche questa correzione funziona!
Aibara,

6

Come rimuovere VLC dal menu audio / Come evitare che VLC riappaia nel menu audio.

Rimozione di VLC dal menu audio

Metodo della GUI

  • Installa l'editor dconf
  • Apri dconf-editor e cerca: com/canonical/indicator/sound

inserisci qui la descrizione dell'immagine

  • Nell'elenco delle voci di soundmenu ( interested-media-players), rimuovere le applicazioni che non sono necessarie / che si desidera visualizzare nel menu. Chiudi l'editor dconf.

inserisci qui la descrizione dell'immagine

  • Fatto, VLC è scomparso dal menu.

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Metodo della riga di comando

  • Per leggere le voci di menu correnti:

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

    dà un output come:

    ['rhythmbox.desktop', 'vlc.desktop']
    
  • Per rimuovere VLC, rimuovi vlc.desktopdall'elenco e imposta il menu modificato dal comando:

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

Impedire a VLC di tornare nel menu audio (14.04)

La soluzione rimuove VLC dal menu audio, ma se si avvia VLC, verrà nuovamente visualizzata nel menu audio. Lo script seguente non lo impedisce, ma lo rimuove immediatamente e automaticamente una volta chiuso VLC.

Per usarlo:

Copia lo script di seguito, incollalo in un file di testo vuoto e salvalo come vlc, rendilo eseguibile. Quindi copiare il vlc.desktopfile dal /usr/share/applicationsal ~/.local/share/applicationse sostituire il (primo) di partenza linea con Exec=by Exec=/path/to/script/vlc. Disconnettersi e riconnettersi. Il file desktop verrà reindirizzato allo script, lo script avvierà VLC e attenderà che si interrompa e rimuova immediatamente VLC dal menu audio.

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

Altre applicazioni

Questo metodo / script può essere utilizzato anche per altre applicazioni nel menu audio. Due righe nell'ultima sezione dello script devono essere modificate quindi, secondo l'altra applicazione:

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

e

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

Ho fatto il metodo terminale perché non volevo installare applicazioni non necessarie. grazie, ha funzionato all'istante
Nick Bailuc,

1
Sono d'accordo! se non necessario, preferirei non installare software aggiuntivo. Sono contento che abbia funzionato.
Jacob Vlijm,

Ma sarà pronto non appena riapri VLC ...
Aibara,

Correzione: non appena si avvia nuovamente la riproduzione di un video in VLC.
Aibara,

1
@NickBailuc Ho provato, e hai ragione, ti ricontatterò su questo!
Jacob Vlijm,

1

Mostra le applicazioni definite dall'utente nel menu audio solo se in esecuzione

La soluzione seguente è utilizzabile in modo flessibile per applicazioni multiple contemporaneamente con una posizione nel menu audio. L'utente può definire (e modificare) quali applicazioni hanno una posizione permanente nel menu e quali devono essere rimosse dal menu audio dopo la chiusura.

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Cos'è e cosa fa

Esiste la soluzione di uno script che viene eseguito dall'avvio (accesso). Consente alle applicazioni definite dall'utente di apparire nel menu audio, ma rimuove tali applicazioni dal menu audio dopo la chiusura.

Lo script non ha alcun effetto sulla funzionalità dei file desktop. Non ho notato alcun effetto sul carico del processore, l'utilizzo della memoria è trascurabile.

come usare

  • Copia lo script seguente in un file vuoto, salvalo come cleanup_soundmenu.py

  • Nella riga che inizia con no_show =, vengono impostate le applicazioni che devono essere pulite dal menu dopo averle chiuse. Due esempi sono impostati: ['rhythmbox', 'vlc']. I nomi sono derivati ​​dai loro file desktop, eliminati da .desktop.

  • Nella riga, a partire da cleanup_interval, l'utente può definire l'intervallo tra i controlli di pulizia. Di default sono 10 secondi.

  • Aggiungi la seguente riga a Startup Applications(Dash> Applicazioni di avvio> Aggiungi):

    python3 /path/to/cleanup_soundmenu.py
    

Al successivo accesso, l'applicazione definita verrà pulita dal menu audio se non sono in esecuzione.

Il copione

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

Sì, funziona, ma eseguire un controllo ogni 10 secondi per un evento che può verificarsi una o due volte per sessione sembra estremamente inefficiente.
Lilley,

@Lilley ottenere valori da gsettings è estremamente leggero e sii consapevole del fatto che il sistema esegue costantemente tutti i tipi di loop.
Jacob Vlijm,

1

Ubuntu 14.04 soluzione semplice (solo un comando, nessun sudo, nessuno script).

Apri l'applicazione Terminale, quindi copia, incolla ed esegui uno dei seguenti comandi. Successivamente l'indicatore audio verrà automaticamente ripulito dopo l'uscita di VLC.

  1. non lasciare alcuna voce all'interno dell'indicatore audio:

    (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. lascia la voce Rhythmbox all'interno dell'indicatore audio:

    (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. Cancella i cambiamenti:

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

0

Questo un articolo su come aggiungere questa funzionalità fa lo scenario opposto:

Strumenti -> Preferenze -> tutto -> Interfaccia -> Interfaccia di controllo -> Interfaccia di controllo D-Bus


3
Questa opzione non è più presente in VLC.
Aibara,

Esiste per me, forse ho una vecchia versione ..
Hedwig,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.