Xóa trình phát VLC khỏi menu âm thanh trong thanh Unity


11

Tôi không sử dụng VLC nhiều để có nó ở đó, vì vậy tôi muốn xóa nó khỏi menu âm thanh ở trên cùng bên phải. Tôi tìm thấy một hình ảnh nhỏ để hiển thị nó trông như thế nào (menu âm thanh được mở và hiển thị VLC cùng với các trình phát nhạc khác).

nhập mô tả hình ảnh ở đây

Xin lỗi vì đã cho một hình ảnh độ phân giải rất thấp.


Tôi đã hỏi câu hỏi này trước đây, vì vậy đây là một loại trùng lặp. Mặc dù điều này chỉ hỏi về việc loại bỏ VLC khỏi menu âm thanh, so với việc ngăn chặn nó liên tục xuất hiện. Không chắc chắn nếu cả hai câu trả lời nên mở. Askubfox.com/questions/455940/ trên
Aibara

Nick, tôi đã chỉnh sửa câu trả lời của mình để ngăn nó (vĩnh viễn) quay trở lại soundmenu.
Jacob Vlijm

vâng, nó cứ xuất hiện bất cứ khi nào tôi sử dụng vlc. Tôi đang xem qua các hướng dẫn trên internet về cách vô hiệu hóa nó trong các tùy chọn và không thể tìm thấy nó vì phiên bản của tôi quá mới. nó được gọi là "D-Bus"
Nick Bailuc

Có thể trùng lặp: askubfox.com/questions/177652/disable-vlcs-mpris-plugian
Exeleration-G

Câu trả lời:


14
  1. Di chuyển plugin VLC DBus

    sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
    
  2. Mở dconf-editor, Xóa vlc.desktopkhỏi:

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

    Hoặc chỉ cần đặt lại thông qua thiết bị đầu cuối

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

Lưu ý: Ai đó có thể muốn Sửa đổi menu chỉ báo âm thanh để ẩn điều khiển khỏi trình phát không hoạt động hoặc xóa nó sau khi đóng . Nói cách khác, Người chơi đang chạy có toàn quyền điều khiển, Người đóng chỉ có trình khởi chạy (không có nút điều khiển) hoặc biến mất hoàn toàn khỏi menu.


3
Khắc phục sự cố này là tốt!
Aibara

6

Cách xóa VLC khỏi menu âm thanh / Cách ngăn VLC xuất hiện lại trong menu âm thanh.

Loại bỏ VLC khỏi menu âm thanh

Phương thức GUI

  • Cài đặt trình soạn thảo dconf
  • Mở trình soạn thảo dconf và duyệt đến: com/canonical/indicator/sound

nhập mô tả hình ảnh ở đây

  • Trong danh sách các mục soundmenu ( interested-media-players), hãy xóa (các) ứng dụng bạn không cần / muốn xuất hiện trong menu. Đóng trình soạn thảo dconf.

nhập mô tả hình ảnh ở đây

  • Xong, VLC biến mất khỏi menu.

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Phương pháp dòng lệnh

  • Để đọc các mục menu hiện tại:

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

    đưa ra một đầu ra như:

    ['rhythmbox.desktop', 'vlc.desktop']
    
  • Để xóa VLC, xóa vlc.desktopkhỏi danh sách và đặt menu đã thay đổi bằng lệnh:

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

Ngăn VLC quay trở lại trong menu âm thanh (14.04)

Giải pháp loại bỏ VLC khỏi menu âm thanh, nhưng nếu bạn khởi động VLC, nó sẽ xuất hiện lại trong menu âm thanh. Kịch bản dưới đây không ngăn chặn điều đó, nhưng ngay lập tức và tự động loại bỏ nó sau khi VLC được đóng lại.

Để dùng nó:

Sao chép tập lệnh bên dưới, dán nó vào một tệp văn bản trống và lưu nó dưới dạng vlc, làm cho nó có thể thực thi được. Sau đó sao chép vlc.desktoptệp từ /usr/share/applicationsđến ~/.local/share/applicationsvà thay thế dòng (đầu tiên) bắt đầu Exec=bằng Exec=/path/to/script/vlc. Đăng xuất và quay lại. Desktopfile sẽ được chuyển hướng đến tập lệnh, tập lệnh sẽ khởi động VLC và chờ cho nó dừng và xóa VLC khỏi soundmenu ngay lập tức.

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

Các ứng dụng khác

Phương pháp / tập lệnh này cũng có thể được sử dụng cho các ứng dụng khác trong menu âm thanh. Sau đó, hai dòng trong phần cuối của kịch bản cần được thay đổi, theo ứng dụng khác:

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

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

Tôi đã thực hiện phương thức đầu cuối vì tôi không muốn cài đặt các ứng dụng không cần thiết. cảm ơn bạn, nó đã hoạt động ngay lập tức
Nick Bailuc

1
Tôi đồng ý! nếu không cần thiết, tôi không muốn cài đặt phần mềm bổ sung. Vui mừng nó làm việc ra.
Jacob Vlijm

Nhưng nó sẽ được đánh dấu lại ngay khi bạn mở VLC lần nữa ...
Aibara

Sửa chữa: ngay khi bạn bắt đầu phát lại video trong VLC.
Aibara

1
@NickBailuc Tôi đã thử, và bạn nói đúng, tôi sẽ lấy lại cho bạn về điều này!
Jacob Vlijm

1

Chỉ hiển thị các ứng dụng do người dùng xác định trong soundmenu nếu chúng chạy

Giải pháp dưới đây có thể sử dụng linh hoạt cho các ứng dụng đa dạng cùng một lúc với một vị trí trong menu âm thanh. Người dùng có thể xác định (và thay đổi) ứng dụng nào có vị trí cố định trong menu và những ứng dụng nào sẽ bị xóa khỏi menu âm thanh sau khi chúng được đóng.

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Nó là gì và nó làm gì

Giải pháp tồn tại của một tập lệnh chạy từ khởi động (đăng nhập). Nó cho phép người dùng xác định các ứng dụng xuất hiện trong menu âm thanh, nhưng loại bỏ các ứng dụng đó khỏi soundmenu sau khi chúng đóng.

Kịch bản không có ảnh hưởng đến chức năng của các tệp máy tính để bàn. Tôi không thể nhận thấy bất kỳ ảnh hưởng nào đến tải bộ xử lý, việc sử dụng bộ nhớ là không đáng kể.

cách sử dụng

  • Sao chép tập lệnh bên dưới vào một tập tin trống, lưu nó dưới dạng cleanup_soundmenu.py

  • Trong dòng bắt đầu bằng no_show =, các ứng dụng được thiết lập sẽ được dọn sạch khỏi menu sau khi chúng được đóng. Hai ví dụ được đặt : ['rhythmbox', 'vlc']. Các tên được lấy từ các tập tin máy tính để bàn của họ, tước từ .desktop.

  • Trong dòng, bắt đầu bằng cleanup_interval, người dùng có thể xác định khoảng thời gian giữa các lần kiểm tra dọn dẹp. Theo mặc định là 10 giây.

  • Thêm dòng sau vào Startup Applications(Dash> Ứng dụng khởi động> Thêm):

    python3 /path/to/cleanup_soundmenu.py
    

Trong lần đăng nhập tiếp theo, ứng dụng đã xác định sẽ được xóa khỏi menu âm thanh nếu chúng không chạy.

Kịch bản

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

Có, nó hoạt động, nhưng chạy một kiểm tra cứ sau 10 giây cho một sự kiện có thể xảy ra một hoặc hai lần mỗi phiên có vẻ cực kỳ không hiệu quả.
Lilley

@Lilley nhận các giá trị từ gsinstall rất nhẹ và lưu ý rằng hệ thống chạy tất cả các loại vòng lặp liên tục.
Jacob Vlijm 11/03/2015

1

Giải pháp đơn giản cho Ubuntu 14.04 (chỉ có một lệnh, không có sudo, không có tập lệnh).

Mở ứng dụng Terminal, sau đó sao chép, dán và thực hiện một trong các lệnh sau. Sau đó, chỉ báo âm thanh sẽ được tự động làm sạch sau khi thoát VLC.

  1. không để lại bất kỳ mục nào trong chỉ báo âm thanh:

    (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. để lại mục Rhybeatbox trong chỉ báo âm thanh:

    (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. hoàn tác thay đổi:

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

0

Đây là một bài viết về cách thêm tính năng này làm kịch bản ngược lại:

Công cụ -> Tùy chọn -> tất cả -> Giao diện -> Giao diện điều khiển -> Giao diện điều khiển D-Bus


3
Tùy chọn này không còn hiện diện trong VLC.
Aibara

Nó tồn tại với tôi, có lẽ tôi đã có một phiên bản cũ ..
Hedwig
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.