Difference between revisions of "SpotCommander"
(First version of article.) |
(→Install SpotCommander) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Audio/Video]] | [[Category:Audio/Video]] | ||
− | |||
[http://code.google.com/p/spotcommander/ SpotCommander] is an open source web-based remote control for the '''GNU/Linux version''' of [[Spotify]]. The application is written in [[PHP]] and HTML5, and thus optimized especially for mobile devices, like smartphones or tablets. It has a visual appealing, responsive and intuitive user interface. | [http://code.google.com/p/spotcommander/ SpotCommander] is an open source web-based remote control for the '''GNU/Linux version''' of [[Spotify]]. The application is written in [[PHP]] and HTML5, and thus optimized especially for mobile devices, like smartphones or tablets. It has a visual appealing, responsive and intuitive user interface. | ||
Line 18: | Line 17: | ||
* Keyboard shortcuts | * Keyboard shortcuts | ||
+ | == Installation == | ||
− | + | {{Note|This must be done as root.}} | |
=== Preconditions === | === Preconditions === | ||
Line 29: | Line 29: | ||
See the [[LAMP]] article for more detailed information about Apache. | See the [[LAMP]] article for more detailed information about Apache. | ||
− | ==== Configuration of | + | ==== Configuration of Apache ==== |
+ | * Configure Apache to serve the HTML5 cache manifest with the correct MIME type, in {{ic|/etc/httpd/conf/httpd.conf}} add: | ||
+ | |||
+ | AddType text/cache-manifest .appcache | ||
+ | |||
* To be able to run the application, the sqlite extension of PHP is required. First, install the package: | * To be able to run the application, the sqlite extension of PHP is required. First, install the package: | ||
Line 50: | Line 54: | ||
{{Note|Make sure you have the ''openssl'' package installed.}} | {{Note|Make sure you have the ''openssl'' package installed.}} | ||
− | * It is neccessary to give Apache access to /tmp. Search in {{ic|/ | + | * Restart Apache: |
+ | |||
+ | $ systemctl restart httpd.service | ||
+ | |||
+ | * It is neccessary to give Apache access to /tmp. Search in {{ic|/usr/lib/systemd/system/httpd.service}} for the line ''PrivateTmp=true'' and change it as follows: | ||
PrivateTmp=false | PrivateTmp=false | ||
− | To make this change take effect, a reboot is needed. | + | To make this change take effect, a '''reboot''' is needed. |
==== Other required packages ==== | ==== Other required packages ==== | ||
* In addition the following packages need to be installed: | * In addition the following packages need to be installed: | ||
$ pacman -S inotify-tools xautomation wmctrl | $ pacman -S inotify-tools xautomation wmctrl | ||
− | |||
=== Install SpotCommander === | === Install SpotCommander === | ||
Line 65: | Line 72: | ||
* Download the tar.bz2 file: | * Download the tar.bz2 file: | ||
− | $ wget -N http://www.olejon.net/code/spotcommander/files/spotcommander-8. | + | $ wget -N http://www.olejon.net/code/spotcommander/files/spotcommander-8.5.tar.bz2 |
* Extract the tar.bz2 file: | * Extract the tar.bz2 file: | ||
− | $ tar -jxvf spotcommander-8. | + | $ tar -jxvf spotcommander-8.5.tar.bz2 |
* Remove the tar.bz2 file: | * Remove the tar.bz2 file: | ||
− | $ rm spotcommander-8. | + | $ rm spotcommander-8.5.tar.bz2 |
* Go into the spotcommander folder: | * Go into the spotcommander folder: | ||
Line 77: | Line 84: | ||
* Set the correct file permissions: | * Set the correct file permissions: | ||
− | $ | + | $ chmod 755 . && chmod 755 bin/* && chmod 777 cache/* && chmod -R 777 db/ && chmod 666 run/* |
− | |||
− | |||
− | |||
− | |||
* Create a symlink, to be able to execute the SpotCommander [[daemon]]: | * Create a symlink, to be able to execute the SpotCommander [[daemon]]: | ||
$ ln -fs $(pwd)/bin/spotcommander /usr/local/bin/spotcommander | $ ln -fs $(pwd)/bin/spotcommander /usr/local/bin/spotcommander | ||
− | * Adjust | + | * Adjust the config file: |
$ nano config.php | $ nano config.php | ||
− | * Set ''config_path'' | + | * Set ''config_path'' to SpotCommander's root: |
$ define('config_path', '/srv/http/spotcommander'); | $ define('config_path', '/srv/http/spotcommander'); | ||
Line 95: | Line 98: | ||
$ spotcommander start | $ spotcommander start | ||
− | * If you have followed the instructions carefully, you should | + | * If you have followed the instructions carefully, you should be able to open SpotCommander under ''http://localhost/spotcommander'' now. |
+ | {{Note|If it doesn't work and /srv/http/spotcommander/run/daemon-log.txt complains about qdbus, check out the workaround in [https://code.google.com/p/spotcommander/issues/detail?id=34 this issue]}} | ||
=== Add daemon to startup (optional) === | === Add daemon to startup (optional) === | ||
− | If you want the SpotCommander deamon to start automatically, you have to add it | + | If you want the SpotCommander deamon to start automatically, you have to add it to the startup list of your desktop environment. An easy way to execute the right command, is to write a simple bash script: |
+ | |||
+ | #!/bin/bash | ||
+ | spotcommander start | ||
+ | |||
* '''Under GNOME''' | * '''Under GNOME''' | ||
− | + | Open the startup applications dialog and add the bash script here: | |
$ gnome-session-properties | $ gnome-session-properties | ||
* '''Under KDE''' | * '''Under KDE''' | ||
− | + | Create a symlink to the script in the KDE autostart folder: | |
− | $ ln -s / | + | $ ln -s /path/to/above/script ~/.kde4/Autostart/ |
− | |||
== Usage == | == Usage == | ||
Line 113: | Line 120: | ||
http://192.168.0.24/spotcommander/ | http://192.168.0.24/spotcommander/ | ||
− | To find your ip adress, execute the following: | + | To find out your current ip adress, execute the following: |
ip addr | ip addr | ||
Line 120: | Line 127: | ||
Listen 80 | Listen 80 | ||
+ | |||
+ | == See also == | ||
+ | |||
+ | * [http://code.google.com/p/spotcommander/ Official web site with more detailed information] |
Revision as of 15:06, 2 April 2013
SpotCommander is an open source web-based remote control for the GNU/Linux version of Spotify. The application is written in PHP and HTML5, and thus optimized especially for mobile devices, like smartphones or tablets. It has a visual appealing, responsive and intuitive user interface.
Contents
Features
The application offers amongst others the following features:
- Launch and quit Spotify
- Now playing
- Control playback
- Change Spotify's volume
- Toggle shuffle and repeat
- Browse playlists, albums and starred items
- Search for tracks
- Recently played
- Queue
- Gestures
- Keyboard shortcuts
Installation
Preconditions
Install Apache web server
- To be able to use SpotCommander, it is neccessary to have an Apache web server installed on the device, which should be controlled remotely later. Apache and PHP can be installed this way:
$ pacman -S apache php php-apache
See the LAMP article for more detailed information about Apache.
Configuration of Apache
- Configure Apache to serve the HTML5 cache manifest with the correct MIME type, in
/etc/httpd/conf/httpd.conf
add:
AddType text/cache-manifest .appcache
- To be able to run the application, the sqlite extension of PHP is required. First, install the package:
$ pacman -S php-sqlite
- Now edit the php configuration in
/etc/php/php.ini
:
$ nano /etc/php/php.ini
- Comment out the following lines, to enable the needed extensions:
extension=curl.so ... extension=openssl.so ... extension=pdo_sqlite.so ... extension=sqlite3.so
- Restart Apache:
$ systemctl restart httpd.service
- It is neccessary to give Apache access to /tmp. Search in
/usr/lib/systemd/system/httpd.service
for the line PrivateTmp=true and change it as follows:
PrivateTmp=false
To make this change take effect, a reboot is needed.
Other required packages
- In addition the following packages need to be installed:
$ pacman -S inotify-tools xautomation wmctrl
Install SpotCommander
- Go into the web server root directory:
$ cd /srv/http/
- Download the tar.bz2 file:
$ wget -N http://www.olejon.net/code/spotcommander/files/spotcommander-8.5.tar.bz2
- Extract the tar.bz2 file:
$ tar -jxvf spotcommander-8.5.tar.bz2
- Remove the tar.bz2 file:
$ rm spotcommander-8.5.tar.bz2
- Go into the spotcommander folder:
$ cd spotcommander
- Set the correct file permissions:
$ chmod 755 . && chmod 755 bin/* && chmod 777 cache/* && chmod -R 777 db/ && chmod 666 run/*
- Create a symlink, to be able to execute the SpotCommander daemon:
$ ln -fs $(pwd)/bin/spotcommander /usr/local/bin/spotcommander
- Adjust the config file:
$ nano config.php
- Set config_path to SpotCommander's root:
$ define('config_path', '/srv/http/spotcommander');
- Start the daemon:
$ spotcommander start
- If you have followed the instructions carefully, you should be able to open SpotCommander under http://localhost/spotcommander now.
Add daemon to startup (optional)
If you want the SpotCommander deamon to start automatically, you have to add it to the startup list of your desktop environment. An easy way to execute the right command, is to write a simple bash script:
#!/bin/bash spotcommander start
- Under GNOME
Open the startup applications dialog and add the bash script here:
$ gnome-session-properties
- Under KDE
Create a symlink to the script in the KDE autostart folder:
$ ln -s /path/to/above/script ~/.kde4/Autostart/
Usage
After you have set up the server successfully, every device in your local network should be able to access SpotCommander under the ip adress of the server. For example, if the server would have the ip 192.168.0.24:
http://192.168.0.24/spotcommander/
To find out your current ip adress, execute the following:
ip addr
If you cannot access the server, make sure, that apache is accessible by other hosts in the LAN. Check in /etc/httpd/conf/httpd.conf
to what hosts it is listening to. The line should look like this:
Listen 80