Я отредактировал тему ZSH powerlevel10k, чтобы показать песни, воспроизводимые Spotify в данный момент, в окне терминала -работает отлично, за исключением встроенного терминала кода VS. И Spotify, и код VS устанавливаются через Snap.
Функция моего скрипта, расширяющая тему ZSH (Я не думаю, что код неправильный, потому что он прекрасно работает вне кода VS):
function prompt_my_spotifyplayed() {
if test "$(pidof spotify | wc -l)" = 1; then
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:'Metadata' | awk '/title/{getline; print}' | sed 's/string//' | sed 's/variant//' | sed 's/"//g' | sed -e 's/^[ \t]*//' )"
p10k segment -i '' -f '#1DB954' -t "${artist} - ${title}"
fi
}
Целый файл темы.zsh-:https://github.com/KrystianDerdzinski/zshPower10kCustomConfig/blob/master/.p10k.zsh
Полное сообщение об ошибке:
Ошибка org.freedesktop.DBus.Error.AccessDenied:Политика AppArmor запрещает этому отправителю отправлять это сообщение этому получателю; type="метод_вызов", sender=":1.16780" (uid=1000 pid=211442 comm="dbus-отправить --печатать-ответить --dest=org.mpris.MediaPlay" label="snap.code.code (пожаловаться)")interface="org.freedesktop.DBus.Properties" member="Get" ошибка имя="(отменено)" запрошено_ответ="0" назначение = "org.mpris.MediaPlayer2.spotify" (uid = 1000 pid = 175059 comm="/snap/spotify/56/usr/share/spotify/spotify " label="snap.spotify.spotify (enforce)")
После выполнения
sudo snap connect code:mpris spotify:spotify-mpris
я получаю следующую ошибку:
error: snap "code" has no plug named "mpris"
Кто-нибудь знает, как заставить это работать?