This is the snap for QQ Music, “QQ Music provides massive high-quality music for you.”. It works on Ubuntu, Fedora, Debian, and other major Linux distributions.
Published for with 💝 by Snapcrafters
sudo snap install qqmusic-snap
Snapcrafters (join us) are working to land snap install documentation and the snapcraft.yaml upstream so QQ Music can authoritatively publish future releases.
- Click the green "Use this template" button above to create a new repository based on this template
- Give the newly created repository a sensible name, like
godzilla-snap
if you're snapping the Godzilla software - Update the description of the repository
- Update logos and references to
[QQ Music]
and[qqmusic]
- Create a snap that runs in
devmode
- Register the snap in the store, using the preferred upstream name
- Add a screenshot to this
README.md
- Publish the
devmode
snap in the Snap store edge channel - Add install instructions to this
README.md
- Update snap store metadata, icons and screenshots
- Convert the snap to
strict
confinement, orclassic
confinement if it qualifies - Publish the confined snap in the Snap store beta channel
- Update the install instructions in this
README.md
- Post a call for testing on the Snapcraft Forum - link
- Make a post in the Snapcraft Forum asking for a transfer of the snap name from you to snapcrafters - link
- Ask a Snapcrafters admin to fork your repo into github.com/snapcrafters, and configure the repo for automatic publishing into edge on commit
- Add the provided Snapcraft build badge to this
README.md
- Publish the snap in the Snap store stable channel
- Update the install instructions in this
README.md
- Post an announcement in the Snapcraft Forum - link
- Submit a pull request or patch upstream that adds snap install documentation - link
- Submit a pull request or patch upstream that adds the
snapcraft.yaml
and any required assets/launchers - link - Add upstream contact information to the
README.md
- If upstream accept the PR:
- Request upstream create a Snap store account
- Contact the Snap Advocacy team to request the snap be transferred to upstream
- Ask the Snap Advocacy team to celebrate the snap - link
If you have any questions, post in the Snapcraft forum.
snapcraft snap
The result *.snap
will be put in the current directory.
➜ ls -hl *.snap
-rw-r--r-- 1 tao tao 106M Sep 16 19:51 qqmusic-snap_1.1.1_amd64.snap
Update the link variable DEB_LINK
in the Makefile
if it's necessary, then run:
make icon
The icon will be snap/gui/qqmusic.png
.
sudo snap install --dangerous ./qqmusic-snap_1.1.1_amd64.snap
As unity7
is missing the path com/canonical/dbusmenu
in the profile, so the tray icon is not working at the moment. To fix the problem, the profile can be modified manually.
The profile will be overwritten by reinstall/update the snap, so if the tray icon is not working anymore, you can check whether is the profile problem, and repeat the above again if it's necessary. Those operation should not be necessary after the snap team fix the problem.
This snap provided a script to help the AppArmor profile modification.
$ sudo /snap/qqmusic-snap/current/fix-tray.sh
Fix AppArmor profile of qqmusic-snap...
patching file /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap
--- /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap.bak 2021-09-24 21:40:15.083746116 +1000
+++ /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap 2021-09-24 21:40:15.083746116 +1000
@@ -973,21 +973,21 @@
# dbusmenu
dbus (send)
bus=session
- path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+ path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
interface=com.canonical.dbusmenu
member="{LayoutUpdated,ItemsPropertiesUpdated}"
peer=(name=org.freedesktop.DBus, label=unconfined),
dbus (receive)
bus=session
- path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+ path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
interface="{com.canonical.dbusmenu,org.freedesktop.DBus.Properties}"
member=Get*
peer=(label=unconfined),
dbus (receive)
bus=session
- path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+ path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
interface=com.canonical.dbusmenu
member="{AboutTo*,Event*}"
peer=(label=unconfined),
Reloading the AppArmor profile for qqmusic-snap...
Done.
Rerun the qqmusic-snap
, the systray icon should work correctly.
sudo vi /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap
use /dbusmenu
find the # dbusmenu
section, and add the path to the first 3 parts. Don't forget backup the old profile.
--- snap.qqmusic.qqmusic.bak 2021-09-19 12:47:04.518276613 +1000
+++ snap.qqmusic.qqmusic 2021-09-19 12:44:02.897018611 +1000
@@ -973,21 +973,21 @@
# dbusmenu
dbus (send)
bus=session
- path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+ path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
interface=com.canonical.dbusmenu
member="{LayoutUpdated,ItemsPropertiesUpdated}"
peer=(name=org.freedesktop.DBus, label=unconfined),
dbus (receive)
bus=session
- path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+ path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
interface="{com.canonical.dbusmenu,org.freedesktop.DBus.Properties}"
member=Get*
peer=(label=unconfined),
dbus (receive)
bus=session
- path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*}
+ path=/{MenuBar{,/[0-9A-F]*},com/canonical/menu/[0-9A-F]*,com/canonical/dbusmenu}
interface=com.canonical.dbusmenu
member="{AboutTo*,Event*}"
peer=(label=unconfined),
Then reload the profile:
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.qqmusic-snap.qqmusic-snap
Rerun the qqmusic-snap
, the systray icon should work correctly.
sudo snap remove qqmusic-snap
Reinstall and update the snap will keep the user's data, however, remove the snap app will remove the user's data, such as login information.
- QQMusic Official Website: https://y.qq.com/download/download.html