Tôi đã chỉnh sửa chủ đề powerlevel10k ZSH để hiển thị các bài hát hiện do Spotify phát trong cửa sổ thiết bị đầu cuối - hoạt động hoàn hảo, ngoại trừ thiết bị đầu cuối tích hợp mã VS. Cả mã Spotify và VS đều được cài đặt qua Snap.
Chức năng tập lệnh của tôi mở rộng chủ đề ZSH (Tôi không tin rằng mã này sai, vì nó hoạt động hoàn hảo bên ngoài mã VS):
hàm prompt_my_spotifyplayed() {
nếu kiểm tra "$(pidof spotify | wc -l)" = 1; sau đó
artist="$(dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2 .Player' string:'Metadata' | awk '/artist/{getline; getline; print}' | sed 's/string//' | sed 's/"//g' | sed -e 's/^[ \t]*//' )"
title="$(dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2 .Player' string:'Siêu dữ liệu' | awk '/title/{getline; print}' | sed 's/string//' | sed 's/variant//' | sed 's/"//g' | sed -e 's/^[ \t]*//' )"
phân đoạn p10k -i 'ï¼' -f '#1DB954' -t "${artist} - ${title}"
fi
}
Toàn bộ tệp .zsh-theme: https://github.com/KrystianDerdzinski/zshPower10kCustomConfig/blob/master/.p10k.zsh
Thông báo lỗi đầy đủ:
Lỗi org.freedesktop.DBus.Error.AccessDenied: Chính sách AppArmor
ngăn người gửi này gửi tin nhắn này cho người nhận này;
type="method_call", sender=":1.16780" (uid=1000 pid=211442
comm="dbus-send --print-reply --dest=org.mpris.MediaPlay"
nhãn="snap.code.code (phàn nàn)")
giao diện="org.freedesktop.DBus.Properties" thành viên="Nhận" lỗi
name="(unset)" request_reply="0"
đích="org.mpris.MediaPlayer2.spotify" (uid=1000 pid=175059
comm="/snap/spotify/56/usr/share/spotify/spotify "
nhãn="snap.spotify.spotify (thực thi)")
Sau khi thực hiện
Sudo snap mã kết nối:mpris spotify:spotify-mpris
Tôi nhận được lỗi sau đây:
lỗi: snap "mã" không có phích cắm có tên "mpris"
Bất cứ ai biết làm thế nào để làm cho nó hoạt động?