そこにVLCを使用することはあまりないので、右上のサウンドメニューからVLCを削除します。それがどのようなものかを示す小さな画像を見つけました(サウンドメニューが開いており、VLCと他の音楽プレーヤーが表示されています)。
非常に低解像度の画像を提供して申し訳ありません。
VLC DBusプラグインを移動する
Sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
dconf-editor
を開き、次からvlc.desktop
を削除します。
/com/canonical/indicator/sound/interested-media-players
または、単にターミナルからリセットします
dconf reset /com/canonical/indicator/sound/interested-media-players
注:誰かが サウンドインジケータメニューを変更して、非アクティブなプレーヤーからコントロールを非表示にしたり、閉じた後に削除したりする 。言い換えれば、実行中のプレイヤーにはフルコントロールがあり、閉じたプレイヤーにはランチャーのみ(コントロールボタンはありません)か、メニューから完全に消えます。
サウンドメニューからVLCを削除する方法/サウンドメニューにVLCが再表示されないようにする方法
サウンドメニューからVLCを削除する
GUIメソッド
com/canonical/indicator/sound
interested-media-players
)アイテムのリストで、メニューに表示する必要がない/表示したくないアプリケーションを削除します。 dconf-editorを閉じます。コマンドラインメソッド
現在のメニュー項目を読むには:
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
から~/.local/share/applications
にコピーし、Exec=
で始まる(最初の)行をExec=/path/to/script/vlc
に置き換えます。ログアウトしてから再度ログインします。desktopfileはスクリプトにリダイレクトされ、スクリプトはVLCを起動し、すぐに停止してサウンドメニューから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)
ターミナルアプリケーションを開き、次のコマンドのいずれかをコピー、貼り付け、実行します。その後、VLCが終了すると、サウンドインジケータは自動的に消去されます。
サウンドインジケータ内にエントリを残さないでください。
(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)
サウンドインジケータ内に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)
変更を元に戻します:
rm ~/.local/share/applications/vlc.desktop
実行する場合にのみ、ユーザー定義のアプリケーションをサウンドメニューに表示します
以下のソリューションは、サウンドメニュー内の位置を使用して、複数のアプリケーションに同時に柔軟に使用できます。ユーザーは、どのアプリケーションがメニュー内で永続的な位置にあり、どのアプリケーションを閉じた後にサウンドメニューから削除するかを定義(および変更)できます。
それが何であり、何をするか
解決策は、スタートアップ(ログイン)から実行されるスクリプトの存在です。これにより、ユーザー定義のアプリケーションをサウンドメニューに表示できますが、それらのアプリケーションは閉じた後にサウンドメニューから削除されます。
スクリプトは、デスクトップファイルの機能には影響しません。プロセッサの負荷への影響に気付かず、メモリ使用量は無視できます。
使用方法
以下のスクリプトを空のファイルにコピーし、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)
記事 この機能を追加する方法については逆のシナリオを実行します:
ツール->設定->すべて->インターフェース->制御インターフェース-> D-Bus制御インターフェース