UnityバーのサウンドメニューからVLCプレーヤーを削除する


11

VLCを使用するためにVLCをあまり使用しないので、右上のサウンドメニューから削除します。私はそれがどのように見えるかを示す小さな画像を見つけました(サウンドメニューが開いており、他の音楽プレーヤーと共にVLCを示しています)。

ここに画像の説明を入力してください

非常に低い解像度の画像を表示してすみません。


以前この質問をしたので、これは一種の複製です。これは、サウンドメニューからVLCを削除するのではなく、継続的に表示されないようにすることについて尋ねます。両方の回答を公開する必要があるかどうかはわかりません。askubuntu.com/questions/455940/...
Aibara

ニック、答えを編集して(永久に)サウンドメニューに戻らないようにしました。
Jacob Vlijm 2014年

はい、vlcを使用するたびに表示され続けます。私は設定でそれを無効にする方法のインターネットチュートリアルを見ていて、私のバージョンが新しすぎてそれを見つけることができません。"D-Bus"と呼ばれる
Nick Bailuc

重複の可能性:askubuntu.com/questions/177652/disable-vlcs-mpris-plugian
Exeleration-G

回答:


14
  1. VLC DBusプラグインを移動する

    sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
    
  2. 開くdconf-editorvlc.desktopから削除:

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

    または、ターミナルからリセットする

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

注:一部のユーザーは、サウンドインジケーターメニュー変更して、非アクティブなプレーヤーからコントロールを非表示にするか、を閉じた後にコントロールを削除したい場合があります。つまり、ランニングプレーヤーには完全なコントロールがあり、クローズドプレーヤーにはランチャーのみ(コントロールボタンなし)か、メニューから完全に消えます。


3
この修正も機能します!
相原

6

サウンドメニューからVLCを削除する方法/サウンドメニューにVLCが再表示されないようにする方法。

サウンドメニューからVLCを削除する

GUIメソッド

  • dconfエディターをインストールする
  • dconf-editorを開き、以下を参照します。 com/canonical/indicator/sound

ここに画像の説明を入力してください

  • サウンドメニュー(interested-media-players)アイテムのリストで、不要な、またはメニューに表示したくないアプリケーションを削除します。dconf-editorを閉じます。

ここに画像の説明を入力してください

  • 完了、VLCがメニューから消えました。

ここに画像の説明を入力してください ここに画像の説明を入力してください

コマンドライン方式

  • 現在のメニュー項目を読むには:

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

    次のような出力が得られます。

    ['rhythmbox.desktop', 'vlc.desktop']
    
  • VLCを削除するにvlc.desktopは、リストから削除し、次のコマンドで変更したメニューを設定します。

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

VLCがサウンドメニューに戻らないようにする(14.04)

ソリューションはサウンドメニューからVLCを削除しますが、VLCを起動すると、サウンドメニューに再び表示されます。以下のスクリプトはそれを防ぎませんが、VLCが閉じられるとすぐに自動的に削除します。

それを使用するには:

以下のスクリプトをコピーし、空のテキストファイルに貼り付けてとして保存しvlc、実行可能にします。次に、vlc.desktopファイルをから/usr/share/applicationsにコピーし、byで~/.local/share/applications始まる(最初の)行を置き換えます。ログアウトして再度ログインします。desktopfileはスクリプトにリダイレクトされ、スクリプトはVLCを起動し、VLCが停止してサウンドメニューからVLCをすぐに削除するのを待ちます。Exec=Exec=/path/to/script/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)

その他の用途

このメソッド/スクリプトは、サウンドメニューの他のアプリケーションにも使用できます。次に、他のアプリケーションに従って、スクリプトの最後のセクションの2行を変更する必要があります。

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

そして

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

不要なアプリケーションをインストールしたくなかったため、ターミナル方式を採用しました。ありがとう、それは即座に機能しました
Nick Bailuc '19年

1
同意する!必要がない場合は、追加のソフトウェアをインストールしないほうがよいでしょう。うまくいきました。
Jacob Vlijm 2014年

しかし、VLCを再び開くとすぐに読み取られます...
相原

訂正:VLCでビデオの再生を再開するとすぐに。
相原2014年

1
@NickBailuc私が試した、そしてあなたは正しい、私はこれであなたに戻ってきます!
Jacob Vlijm 2014年

1

ユーザー定義のアプリケーションを実行する場合にのみ、サウンドメニューに表示します

以下のソリューションは、サウンドメニュー内の位置を使用して、複数のアプリケーションに同時に柔軟に使用できます。ユーザーは、メニュー内で永続的な位置にあるアプリケーションと、閉じた後にサウンドメニューから削除する必要があるアプリケーションを定義(および変更)できます。

ここに画像の説明を入力してください ここに画像の説明を入力してください

それは何で、何をするのか

解決策は、起動(ログイン)から実行されるスクリプトの存在です。これにより、ユーザー定義のアプリケーションをサウンドメニューに表示できますが、アプリケーションを閉じると、それらのアプリケーションはサウンドメニューから削除されます。

スクリプトは、デスクトップファイルの機能には影響を与えません。プロセッサー負荷への影響に気づかず、メモリ使用量はごくわずかです。

使い方

  • 以下のスクリプトを空のファイルにコピーし、名前を付けて保存します cleanup_soundmenu.py

  • で始まる行にはno_show =、アプリケーションが設定され、アプリケーションを閉じた後にメニューからクリーンアップする必要があります。2つの例が設定されています['rhythmbox', 'vlc']。名前は、デスクトップファイルから取得され、から削除され.desktopます。

  • この行では、で始まりcleanup_interval、クリーンアップチェックの間隔を定義できます。デフォルトでは10秒です。

  • 次の行をStartup Applications(ダッシュ>スタートアップアプリケーション>追加)に追加します。

    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回または2回発生する可能性のあるイベントのチェックを10秒ごとに実行することは、非常に非効率的です。
リリー

@Lilleyがgsettingsから値を取得することは非常に軽く、システムがあらゆる種類のループを常に実行しているという事実に注意してください。
Jacob Vlijm 2015年

1

Ubuntu 14.04のシンプルなソリューション(1つのコマンドのみ、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 interested-media-players"/' ~/.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 set com.canonical.indicator.sound interested-media-players \\\"['\'rhythmbox.desktop\'']\\\""/' ~/.local/share/applications/vlc.desktop)
    
  3. 変更を元に戻します:

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

0

これは、この機能を追加する方法に関する記事で、逆のシナリオを実行します。

ツール->設定->すべて->インターフェース->制御インターフェース-> D-Bus制御インターフェース


3
このオプションはVLCには存在しません。
相原市2014年

D'ohそれは私のために存在します、おそらく私は古いバージョンを持っています..
Hedwig
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.