Marinus Klasen

Marinus Klasen

  • Development
  • Consultancy
  • Developer Resources
  • Blog
  • Contact

October 21, 2021

Control Spotify from the command line in Ubuntu

Marinus Klasen

I like automation, I really do. Especially when it comes down to the atmosphere. I moved to an office recently and when I walk in I want things to be in motion; In this specific case I want music to be playing already when I come in.

I would love it if the lights and climate control would automatically turn on, but well – I don’t really have control over that. I do have control over my office server and the connected soundbar!

Controlling Spotify

I had no clue that this was possible at all, but apparently it’s quite easy. When you have Spotify running on Ubuntu, the only other thing you need is qbus. Install it with: sudo apt-get install qdbus-qt5

Pausing Spotify

This neat little command does everything you wish for:

qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Pause

Playing a specific album/playlist

We got you with this one!

qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.OpenUri spotify:playlist:69vYU5GaL6K157BAlMvSCf

So, how about these cronjobs?

First off, I’ve put these commands in bash files, like below:

Make sure these files are executable (chmod +x stop-spotify.sh)

Then, for the cronjob part, we have the following setup (start at 8am, stop at 6pm):

0 8 * * * /home/screen/start-jazz.sh
0 18 * * * /home/screen/stop-spotify.sh

That’s it! Happy automating!

About Marinus Klasen

Marinus has been working in software/web development for more than a decade. Since 2020 his attention shifted on sharing knowledge and developing products and tools for sharing knowledge.

Marinus Klasen on Twitter

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Ready to take action?

I'm looking forward to discuss your projects and goals!
Feel free to reach out using the contact details below.

Marinus Klasen

[email protected]
twitter.com/marinusklasen
linkedin.com/in/marinusklasen

  • GitHub
  • LinkedIn
  • Twitter

Have you read?

  • An easy way to copy code blocks from the WordPress Block EditorJune 9, 2022
  • Set a static IP for docker-compose containersMay 25, 2022
  • Justified auto width in Media Carousel Widget in ElementorMay 18, 2022
  • Using the WordPress REST APIMay 18, 2022
  • Remove all edit post links in WordPress with a simple filterMay 11, 2022

Copyright © 2022 · Marinus Klasen | Webdesign by Team Rood