VLCを使用するためにVLCをあまり使用しないので、右上のサウンドメニューから削除します。私はそれがどのように見えるかを示す小さな画像を見つけました(サウンドメニューが開いており、他の音楽プレーヤーと共にVLCを示しています)。
非常に低い解像度の画像を表示してすみません。
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
にコピーし、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)
ユーザー定義のアプリケーションを実行する場合にのみ、サウンドメニューに表示します
以下のソリューションは、サウンドメニュー内の位置を使用して、複数のアプリケーションに同時に柔軟に使用できます。ユーザーは、メニュー内で永続的な位置にあるアプリケーションと、閉じた後にサウンドメニューから削除する必要があるアプリケーションを定義(および変更)できます。
それは何で、何をするのか
解決策は、起動(ログイン)から実行されるスクリプトの存在です。これにより、ユーザー定義のアプリケーションをサウンドメニューに表示できますが、アプリケーションを閉じると、それらのアプリケーションはサウンドメニューから削除されます。
スクリプトは、デスクトップファイルの機能には影響を与えません。プロセッサー負荷への影響に気づかず、メモリ使用量はごくわずかです。
使い方
以下のスクリプトを空のファイルにコピーし、名前を付けて保存します 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)
ターミナルアプリケーションを開き、次のコマンドのいずれかをコピーして貼り付けて実行します。その後、サウンドインジケーターは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