Рейтинг:0

Получение ошибки org.freedesktop.DBus.Error.AccessDenied только во встроенном терминале VScode - подключение ZSH к Spotify

флаг in

Я отредактировал тему powerlevel10k ZSH, чтобы в окне терминала отображались песни, которые в настоящее время воспроизводятся Spotify, - работает отлично, за исключением встроенного терминала VS code. И Spotify, и код VS устанавливаются через Snap.

Моя функция сценария, расширяющая тему ZSH (я не думаю, что код неправильный, потому что он отлично работает вне кода VS):

  функция prompt_my_spotifyplayed() {
    если тест "$(pidof Spotify | wc -l)" = 1; тогда
      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 -i 'ï¼' -f '#1DB954' -t "${исполнитель} - ${название}"
    фи
  }

Весь файл .zsh-темы: https://github.com/KrystianDerdzinski/zshPower10kCustomConfig/blob/master/.p10k.zsh

Полное сообщение об ошибке:

Ошибка org.freedesktop.DBus.Error.AccessDenied: политика AppArmor запрещает этому отправителю отправлять это сообщение этому получателю; type="method_call", sender=":1.16780" (uid=1000 pid=211442 comm="dbus-send --print-reply --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 (принудительно)")

После выполнения

Код подключения sudo snap: mpris Spotify: Spotify-mpris 

Я получаю следующую ошибку:

ошибка: snap "code" не имеет плагина с именем "mpris"

Кто-нибудь знает, как заставить его работать?

Рейтинг:0
флаг in

Хорошо, я разобрался - профили apparmor снапов хранятся в /var/lib/snapd/apparmor/profiles, а не в /etc/apparmor.d как обычные приложения.

Я создал символическую ссылку между профилем Spotify и /etc/apparmor.d

sudo ln -s /var/lib/snapd/apparmor/profiles/snap.spotify.spotify /etc/apparmor.d/

Затем я установил профиль apparmor Spotify в режим жалобы

sudo aa-жаловаться snap.spotify.spotify

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.