- Spotify linux no ads
- Spotify
- Contents
- Installation
- Third-party clients
- Tips and tricks
- Limit storage size
- Global media hotkeys
- MPRIS
- pactl (pulseaudio)
- Disable track notifications
- Show track notifications
- Skip overplayed radio tracks
- Mute commercials
- spotblock
- Spotify-AdKiller
- spotblock-rs
- Hosts file
- Remote Control
- Send commands via SSH
- Grab the Spotify window via SSH
- HiDPI Mode
- Troubleshooting
- Desktop Environment alerts (beeps) mutes Spotify
- Using search causes the whole interface to blink and then crash
- Blinking images and improper rendering while using Spotify Linux with DWM
- Broken search, browsing or radio
- Deadlock GUI Thread
- Album art and images are missing, show up as squares
- Spotify does not detect other devices on local network
- Search Bar text is invisible when using a dark theme
- Cannot play local files
- Not respecting window manager rules
- GUI hangs while the music plays
- GUI Borders are gone and app occupies the whole screen over cinnamon panel
- Cannot open settings in Wayland
- Crashes on startup
- Spotify crashes when adding a local folder
- Spotify has limited or no internet connectivity while using a VPN
Spotify linux no ads
Spotify-AdKiller (for LINUX)
Your Party with Spotify — without ads!
We all love Spotify, but sometimes people (like us) want to throw a party without having to listen to interrupting ads before having bought Spotify Premium. Well, with this killer project, now you can!
This is for testing purposes ONLY! Spotify is a fantastic service and worth every penny. This script is NOT meant to circumvent buying premium! Please do consider switching to premium to support Spotify — especially if you’re going to use it on mobile. If the script does not work for you, help us improve it!
Utilities used in the script:
New dependencies are highlighted in bold. Please make sure to install these before upgrading the script.
You will also need to have one of the following audio/media players installed:
Please consult the Settings section below for information on setting a custom audio player.
Install all utilities + VLC on openSUSE with:
Install all utilities + VLC on Ubuntu with:
There is an AUR Package for Arch Linux. To install:
Automated Installation
Grab the latest release of Spotify-AdKiller :
Run the provided installer:
Troubleshooting
Spotify-AdKiller has been tested to work with Spotify 0.9.x. Support for the 1.0.x beta releases has been implemented, but still needs more testing. If you run into any bugs while using Spotify-AdKiller with a Spotify beta release please report them on the bug tracker.
If you’ve installed Spotify from any source other than the official repository please make sure that the spotify executable is in your PATH .
You can create a symbolic link, if necessary (e.g. linking my-spotify to spotify if you are using the user installation of spotify-make).
The installer script will install Spotify-AdKiller to $HOME/bin , which should be recognized by Ubuntu and openSUSE.
If $HOME/bin didn’t exist before, a relog might be necessary to complete the installation.
Technical explanation: Ubuntu automatically adds $HOME/bin to your PATH if it exists when you log in. Relogging reloads $HOME/.profile and updates your PATH .
If the script doesn’t work after relogging you can either manually add $HOME/bin to your PATH or follow the installation instructions below. This also applies if you’re using a distro that is configured differently than Ubuntu/OpenSUSE or if you want to install the script in a custom location.
If GUI and text are too small, you can scale the application by editing the desktop file:
Add —force-device-scale-factor=2 to scale it with factor 2:
Manual Installation
Copy spotify-adkiller.sh and spotify-wrapper.sh to your PATH (e.g. $HOME/bin or /usr/local/bin on openSUSE and Ubuntu) and make both of them executable with chmod +x spotify-adkiller.sh and chmod +x spotify-wrapper.sh .
Copy Spotify (AdKiller).desktop to $HOME/.local/share/applications or any other folder your distro reads .desktop launchers from (e.g. /usr/share/applications , /usr/local/share/applications ).
The default configuration file will be written automatically on the first startup of the script.
If you installed Spotify-AdKiller correctly, a new entry called Spotify (AdKiller) should appear in your menu. This launcher will start Spotify in ad-free mode. The script will terminate automatically as soon as Spotify exits. As mentioned before, this is for testing purposes ONLY so use this new entry only when your purposes are testing.
Important note: Please make sure you don’t have notifications disabled in your Spotify configuration ( ui.track_notifications_enabled=true in
The configuration file for Spotify-AdKiller is located under $HOME/.config/Spotify-AdKiller/Spotify-AdKiller.cfg . There are several settings that control how Spotify-AdKiller operates:
Modes
CUSTOM_MODE controls the ad blocking mode. The following modes are available:
- simple : mute Spotify, unmute when ad is over
- interstitial : mute Spotify, play random local track, stop and unmute when ad is over
- If the local track is shorter than the ad, Spotify-AdKiller will automatically try to loop it. This will only work with players that support a loop option. If you are planning to use this feature with a custom player make sure to also supply a custom loop option in your configuration file.
- continuous : mute Spotify, play random local track, stop and unmute when track is over
- You can skip the local track as soon as the ad is over. To do so, simply press Play or Forward/Next in your Spotify client (or use the corresponding hotkeys).
- Please note that the continuous ad blocking mode works best with tracks that are longer than the average ad duration (≈30-45s). If a custom track ends prematurely or is shorter than the current ad, Spotify-AdKiller will switch to the next random local track in line.
The default ad blocking mode is continuous .
Spotify-AdKiller will always fall back to simple mode if no local tracks are found and/or if no supported music player is available on the system.
Local Playback
The following settings control local music playback during ads:
- CUSTOM_PLAYER : local music player to use; chosen automatically by default
- CUSTOM_LOOPOPT : loop option for custom player (e.g. -loop 0 ); we recommend setting this if you are planning to use interstitial adblocking mode
- CUSTOM_VOLUME : volume of local playback; set to 100 by default
- CUSTOM_MUSIC : local track to play / local music directory to choose tracks from; set to XDG standard music directory by default (e.g. $HOME/Music )
Debug Setting
You can make the CLI output more verbose and enable the log file by setting DEBUG to 1 . The log will be written to $HOME/.Spotify-AdKiller.log and replaced each time Spotify-AdKiller runs.
Please make sure to always use the provided launcher when running Spotify. Under some circumstances Spotify might remain muted when exiting the application. This is a technical limitation with PulseAudio . Spotify-AdKiller automatically unmutes Spotify when initially run.
If, for some reason, Spotify does remain muted you can use the following command to unmute it manually while it’s running:
- blockify — automatic/blacklist-based ad-blocker written in Python
- spotify_ad_blocker_linux.rb — automatic ad-blocker written in Ruby
- spotify-blacklist-mute — blacklist-based muting, written in Bash
Many people have contributed to make our script become what it is today (huge shout-out to the initial creator pcworld). If you are like us and think that it is very sad when projects die, please accept that all code here is fully licensed under GPL v3+. Have a look at the full License. Contribute pull requests!
This product is not endorsed, certified or otherwise approved in any way by Spotify. Spotify is the registered trade mark of the Spotify Group. Use your brainz prior to formatting your HDD.
Источник
Spotify
Spotify is a digital music streaming service with a freemium business model. This article is mainly about the semi-official, proprietary Spotify for Linux client, which is developed by Spotify’s engineers in their spare time and not actively supported by Spotify.[1] Alternatively, there is an online player and a number of open source third-party clients.
Contents
Installation
Spotify for Linux can be installed with the spotify AUR package. If you wish to play local files you will need to additionally install zenity and ffmpeg-compat-57 AUR .
Third-party clients
- Clementine — Able to stream from Spotify with a premium account after activating (downloading) a plugin in the settings.
https://www.clementine-player.org/ || clementine
- Librespot — An open source client library for Spotify. It enables applications to use Spotify’s service (streaming), without using the official closed-source libspotify. Requires Spotify Premium account.
https://github.com/librespot-org/librespot || librespotAUR
- MellowPlayer — A free, open source and cross-platform desktop application that runs web-based music streaming services in its own window and provides integration with your desktop. No longer actively developed.
https://colinduquesnoy.gitlab.io/MellowPlayer/ || mellowplayerAUR
- Mopidy — An alternative plug-in based implementation of Music Player Daemon is able to stream from Spotify with an extension.
https://mopidy.com/ || mopidy + mopidy-spotifyAUR
- ncspot — Cross-platform ncurses Spotify client written in Rust, inspired by ncmpc and the likes.
https://github.com/hrkfdn/ncspot || ncspotAUR
- Psst — Fast and multi-platform Spotify client, made in Rust with a native GUI.
https://github.com/jpochyla/psst || psst-gitAUR
- Spot — Gtk/Rust native Spotify client for the Gnome desktop.
https://github.com/xou816/spot || spot-clientAUR
- Spotifyd — An open source Spotify client running as a UNIX daemon. Spotifyd streams music just like the official client, but is more lightweight and supports more platforms. Spotifyd also supports the Spotify Connect protocol which makes it show up as a device that can be controlled from the official clients. Requires Spotify Premium account.
https://github.com/Spotifyd/spotifyd || spotifyd
- spotify-tui — A Spotify client for the terminal written in Rust.
https://github.com/Rigellute/spotify-tui || spotify-tuiAUR
- spotify-qt — Lightweight Spotify client using Qt written in C++.
https://github.com/kraxarn/spotify-qt || spotify-qtAUR
- Tizonia — Command-line cloud music player for Linux with support for Spotify, Google Play Music, YouTube, SoundCloud, Plex servers and Chromecast devices..
https://tizonia.org/docs/spotify/ || tizonia-allAUR
- Tomahawk — A Music Player App written in C++/Qt. No longer actively developed.
https://github.com/tomahawk-player/tomahawk || tomahawk-gitAUR
Tips and tricks
Limit storage size
Spotify automatically manage a storage size for caching, however one may want to force the size limit preventing the filesystem from filling up.
Append storage.size (measured in MB) to /home/user/.config/spotify/prefs , e.g. a storage size of 3072MB:
Global media hotkeys
For environments in which controlling Spotify via the keyboard does not work automatically, the official Linux client has support for media keys like XF86AudioPlay . We can use for example xbindkeys to catch the global media keypresses, and then forward them to Spotify using one of the methods below. If you use xbindkeys, ensure that Spotify is restarted after installation and key configuration otherwise the key events will not be properly caught.
MPRIS
The Spotify client implements the MPRIS D-Bus interface which allows external control.
pactl (pulseaudio)
As you might have noticed, MPRIS protocol commands do not include volume control. This is broken within spotify itself, which ignores volume change requests. However, there is a possibility to control volume via pulseaudio’s input sink:
The sink number for «$current_sink_num» can be found in the output of command:
You can create a script for changing volume and bind it for example to keyboard shortcut via desktop environments configuration or xdotool described in next section. Here are some examples:
This script is based on work done by user Mikołak in this post.
Unfortunately this script is not the fastest solution and if you execute it multiple times via keyboard hotkey, it might become laggy.
Faster (like 10 times) Python code (requires at least Python 3.7 to be installed):
You can save it to a .py file. The last line does the actual job, so you can adjust the command to lower the volume or toggle mute.
Disable track notifications
After version 0.9.10, track change notifications were enabled by default. They can be quite intrusive. To disable them, add the following line to
It is also possible to launch spotify with the —ui.track_notifications_enabled=false option.
Show track notifications
This article or section is a candidate for moving to MPRIS#Playerctl.
playerctl provides a library you can use with python-gobject and a notification daemon such as dunst to show the artist and title in a notification when the track changes.
Skip overplayed radio tracks
This article or section is a candidate for moving to MPRIS#Playerctl.
Another use of the playerctl library is to skip tracks that are played too much on radio when you do not necessarily want to downvote these tracks because you may want to hear them again later on that station.
Mute commercials
spotblock
spotblock-git AUR is a resource-efficient ad blocker that runs as a systemd daemon.
Spotify-AdKiller
spotify-adkiller-git AUR is another alternative to block Spotify ads.
spotblock-rs
spotblock-rs AUR is a fast and light program to mute Spotify ads. It also works with PipeWire.
Hosts file
You may also add the following lines to your hosts file to block ads in Spotify :
spclient.wg.spotify.com now appears to block radio and daily mixes, as well as recently played songs.
Remote Control
Send commands via SSH
If you set up ssh on the server, you can send controls from a client to a remote Spotify instance with
where yourcommand can be spotifycmd that you installed on the server, or a dbus script for the linux version, as described above.
Grab the Spotify window via SSH
Aside from grabbing the whole desktop with TeamViewer or VNC to remotely control your server, you can also only grab the Spotify Window from the server to your client.
To do that, you need to configure sshd on your server and install x11vnc on both server and client as well as tigervnc on the client. Then you can use these scripts to grab either the complete dektop or only the Spotify window, which essentially gets you GUI client-like behavior as with MPD.
You will need to copy the second script to
/.bin/vncgetspotify.sh on the server and the first script to any place on your client.
Finally, to grab the spotify window, run on the client:
or, for the whole desktop:
HiDPI Mode
As the current Spotify build is not DPI aware, the amount to scale the interface by can be specified using the terminal command:
where X is the amount to scale the interface by, e.g 2.
This change can be added to the spotify.desktop file in order to apply the scaling when launching from the desktop.
To make sure the file does not get overwritten when the package is updated, copy it to you local applications folder:
/.local/share/applications/spotify.desktop and add the —force-device-scale-factor option:
You might need to relaunch your Desktop Manager, before these override changes will be effective.
Troubleshooting
Desktop Environment alerts (beeps) mutes Spotify
Comment out «module-role-cork» in pulse audio configuration file.
Open /etc/pulse/default.pa with your text editor and comment out:
Or simply unload it with:
Using search causes the whole interface to blink and then crash
Spotify is using an old version of Chromium Embedded Framework and hits a bug causing it to crash repeatedly when trying to use the search. This can be worked around by using the following command line option:
Blinking images and improper rendering while using Spotify Linux with DWM
Start spotify as a floating window.
You can add this rule to the rules array in your config.h :
This will tell dwm to start spotify as a floating window associated with the tag «2» no matter what window mode you are in. Recompile and install dwm to apply your new settings.
Broken search, browsing or radio
If various tabs like browsing only show a blank screen, the search field does not seem to do anything or the radio page is broken (stuck when starting and unsresponsive to input) you might be using a custom locale.
Try setting the environment variable LC_NUMERIC to en_US.utf8 before starting Spotify.
Deadlock GUI Thread
Can occur under tiling window managers, such as Awesome, when double-clicking new song or playlist. Edit the file
/.config/spotify/Users/2*-user/prefs to add or change the following:
Restart Spotify. This will try to disable song notifications which seem to be the cause of the issue (the lack of a notification daemon to receive them makes the UI thread hang). Note that several causes appear to exist for this problem, and this particular fix only applies to select versions of Spotify client, i3 and Awesome, and it may be that additional root causes exist for the Debian and Ubuntu users reporting this issue. Observed with Spotify 0.9.17.1.g9b85d436 and Awesome 3.4.15 and i3-gaps 4.13-2 and Spotify 1.0.64.407.g9bd02c2d.
Note: This issue has multiple causes, so keep track of what you change while researching this. Update this section with additional scenarios and fixes.
Album art and images are missing, show up as squares
Quit spotify, then open spotify preferences
Change @https to @http:
See original form post here.
Spotify does not detect other devices on local network
If a firewall is in place, open ports 57621 for UDP and TCP. If you use a variant of the iptables Simple stateful firewall, the following should do it:
It is also possible to restrict the source and destination to the local network.
If you are using Spotify Connect to play music on a wireless speaker or AVR, your firewall needs to be configured for Spotify’s mDNS lookup of those. Sadly, it uses a random unprivileged port [4] which makes these firewall rules rather nasty. Fortunately, you can restrict the rules to source port 1900 or 5353.
If using MusicCast for streaming, you will also need to ensure that IGMP multicast packets are allowed to 224.0.0.22 (with IP options allowed) from the MusicCast speaker/AVR by all firewalls in place (including router firewall).
If you cannot detect other linux clients, this may be due to a bug in Spotify related to the user name launching the instance. Spotify will not detect other instances having the same $HOME environment variable, even on different machines. To circumvent this, either create a dedicated user, or launch Spotify with a different $HOME . The following is a workaround to use your home directory and still be able to detect other devices:
Search Bar text is invisible when using a dark theme
The text in the search bar appears to be hardcoded to be white, making it invisible when using a dark Qt theme. To fix this, you will need to make an override.
First create a css file somewhere your account has permission to read/write from (such as your home folder). Call it whatever you like (eg. spotify-override.css).
Open the newly created css file and add the following:
Save the file and exit. Next, you need to add the following to the end of your Spotify launcher (substitute the path with the actual path of your css file):
So your full launch path should look something like this:
Cannot play local files
This section is being considered for removal.
If you get a segmentation fault or error message when trying to play local files e.g.
— it’s caused by a missing libavcodec dependency. For PulseAudio users, installing ffmpeg-compat-57 AUR should fix it. If you get PGP verification errors when you install it you might have to import the correct PGP key.
Not respecting window manager rules
Window manager that try to apply specific rules like starting it on a determined workspace or maximizing it on startup, has no effect, as Spotify does not set the WM_CLASS property before creating the window, violating the ICCCM specifications. One solution is to use spotifywm-git AUR .
GUI hangs while the music plays
Also the previous and next track buttons act with a delay of 10-40 seconds. Spotify by default tries to send notification about next track, if you do not have a notification-daemon installed, Spotify’s GUI hangs.
The solution is to either disable notifications in the settings or to install a notification daemon from Desktop notifications.
GUI Borders are gone and app occupies the whole screen over cinnamon panel
If having issue with window borders disappearing and so app goes to a kind of fullscreen but you cannot drag the window or change its size on cinnamon, that may be caused by the preferences located by default at text file /home/yourusername/.config/Spotify/Users/yourusername-user/prefs configs:
What probably happens is, when both resolutions matches your «main» monitor resolution values or higher, this may happen when going from two monitors to only one monitor. As a solution, close Spotify, edit prefs file to remove both configs above, save it, then run Spotify again.
Cannot open settings in Wayland
When using Wayland, clicking on the ‘Settings’ button does nothing. Using the keyboard instead will work (arrows and enter). See [5]
Crashes on startup
If the app crashes on startup and you get the following error message
try to run spotify with the -no-zygote flag.
Spotify crashes when adding a local folder
This section is being considered for removal.
When the ‘add a source’ button inside the Local Files options crashes Spotify. One workaround available is shown in this reddit post. Alternatively you can install the Flatpak version.
Spotify has limited or no internet connectivity while using a VPN
More recent versions of Spotify (noticed after version
1.1.10) use NetworkManager’s detection of internet connectivity for determining if Spotify is able to play songs or even log in. When using a VPN service, Network Manager can fail to correctly identify internet connectivity, stating «Limited Connectivity». See NetworkManager#Checking connectivity for possible solutions.
Источник