ฉันได้แก้ไขชุดรูปแบบ powerlevel10k ZSH เพื่อแสดงเพลงที่กำลังเล่นโดย Spotify ในหน้าต่างเทอร์มินัล - ทำงานได้อย่างสมบูรณ์ ยกเว้นเทอร์มินัลรวมรหัส VS ทั้งรหัส Spotify และ VS ได้รับการติดตั้งผ่าน Snap
ฟังก์ชั่นสคริปต์ของฉันขยายธีม ZSH (ฉันไม่เชื่อว่ารหัสผิดเพราะมันทำงานได้อย่างสมบูรณ์นอกรหัส VS):
ฟังก์ชั่น prompt_my_spotifyplayed () {
ถ้าทดสอบ "$(pidof spotify | wc -l)" = 1; แล้ว
ศิลปิน = "$ (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 "${artist} - ${title}"
ไฟ
}
ไฟล์ .zsh-theme ทั้งหมด: https://github.com/KrystianDerdzinski/zshPower10kCustomConfig/blob/master/.p10k.zsh
ข้อความแสดงข้อผิดพลาดทั้งหมด:
ข้อผิดพลาด org.freedesktop.DBus.Error.AccessDenied: นโยบาย AppArmor
ป้องกันไม่ให้ผู้ส่งรายนี้ส่งข้อความนี้ไปยังผู้รับรายนี้
ประเภท = "method_call", ผู้ส่ง = ":1.16780" (uid = 1,000 pid = 211442
comm="dbus-send --print-reply --dest=org.mpris.MediaPlay"
label="snap.code.code (บ่น)")
interface="org.freedesktop.DBus.Properties" member="Get" เกิดข้อผิดพลาด
ชื่อ = "(ไม่ได้ตั้งค่า)" ที่ร้องขอ_reply = "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"
ใครรู้วิธีทำให้มันทำงาน?