「Spotify」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(カテゴリ変更)
(2人の利用者による、間の11版が非表示)
1行目: 1行目:
[[Category:音声/動画]]
+
[[Category:音]]
[[Category:Wine]]
+
[[Category:ストリーミング]]
 
[[en:Spotify]]
 
[[en:Spotify]]
[http://www.spotify.com/ Spotify] は数百万もの曲にアクセスすることができるデジタル音楽サービスです。
+
[https://www.spotify.com/ Spotify] は数百万もの曲にアクセスすることができるデジタル音楽サービスです。
   
このインターネット音楽サービスを使うことで無料でデータベースから曲を選択してストリーミング再生できます。以前はヨーロッパ限定でしたが、最近になってアメリカでもサービスが開始されました。Debian と Fedora ディストリビューション向けに公式に Linux クライアントがパッケージで配布されており、AUR からインストールすることが可能です: {{AUR|spotify}}。公式では、Linux ユーザーは Wine で Windows クライアントを動かすことを推奨しています。また、曲の間にときどき音声広告が流れます。
+
このインターネット音楽サービスを使うことで無料でデータベースから曲を選択してストリーミング再生できます。以前はヨーロッパ限定でしたが、最近になってアメリカでもサービスが開始されました。現在は日本でもサービスインしています。Debian と Fedora ディストリビューション向けに公式に Linux クライアントがパッケージで配布されており、AUR からインストールすることが可能です: {{AUR|spotify}}。公式では、Linux ユーザーは Wine で Windows クライアントを動かすことを推奨しています。また、曲の間にときどき音声広告が流れます。
   
 
Spotify では無料ユーザーがプレイリストを作成することができ、シャッフルしたり、リピートするトラックを設定することができます。Spotify で提供されているコンテンツにはオリジナル版と検閲版の両方があります。
 
Spotify では無料ユーザーがプレイリストを作成することができ、シャッフルしたり、リピートするトラックを設定することができます。Spotify で提供されているコンテンツにはオリジナル版と検閲版の両方があります。
10行目: 10行目:
 
== クライアントのインストール ==
 
== クライアントのインストール ==
   
使用したいクライアントをどちらか選択してください。Linux クライアントの方が好評ですが、wine の使用に慣れている場合、windows クライアントを選択するのも良いでしょう。両方のクライアントをインストールする必要はありません。https://play.spotify.com/ で使えるオンラインプレイヤーも存在します (flash が必要です)。
+
使用したいクライアントをどちらか選択してください。Linux クライアントの方が好評ですが、wine の使用に慣れている場合、windows クライアントを選択するのも良いでしょう。両方のクライアントをインストールする必要はありません。https://play.spotify.com/ で使えるオンラインプレイヤーも存在します ([[Flash]] が必要です)。
   
 
=== 代替クライアント ===
 
=== 代替クライアント ===
16行目: 16行目:
   
 
* {{App|[[Wikipedia:Clementine_(software)|Clementine]]|Qt 4 に移植された Amarok 1.4 クローン。設定でプラグインをアクティベート(ダウンロード)することでプレミアムアカウントの Spotify からストリーミングすることができます。|http://www.clementine-player.org/|{{Pkg|clementine}}}}
 
* {{App|[[Wikipedia:Clementine_(software)|Clementine]]|Qt 4 に移植された Amarok 1.4 クローン。設定でプラグインをアクティベート(ダウンロード)することでプレミアムアカウントの Spotify からストリーミングすることができます。|http://www.clementine-player.org/|{{Pkg|clementine}}}}
* {{App|[https://www.mopidy.com/ Mopidy]|[[Music Player Daemon]] のプラグインベースの実装。拡張を使うことで Spotify をストリーミング可能。|https://github.com/mopidy|{{Pkg|mopidy}} + {{AUR|mopidy-spotify}} または {{AUR|despotify-svn}}}}
+
* {{App|[https://www.mopidy.com/ Mopidy]|[[Music Player Daemon]] のプラグインベースの実装。拡張を使うことで Spotify をストリーミング可能。|https://github.com/mopidy|{{Pkg|mopidy}} + {{AUR|mopidy-spotify}}}}
  +
* {{App|Librespot|オープンソースの Spotify クライアントライブラリ。公式のクローズドソースの ''libspotify'' を使わなくても Spotify のサービス (ストリーミング) をアプリケーションから使えるようになります。|https://github.com/plietar/librespot|{{AUR|librespot-git}}}}
  +
* {{App|Tomahawk|C++/Qt で書かれた音楽プレイヤーアプリ。|https://www.tomahawk-player.org/|{{AUR|tomahawk}} {{AUR|tomahawk-git}} {{AUR|tomahawk-qt5}}}}
   
=== Linux ===
+
=== 公式 Linux クライアント ===
   
[[AUR]] の {{AUR|spotify}} を使うと自動的にソフトウェアがダウンロードされます。ローカルファイルを再生したい場合は {{Pkg|ffmpeg0.10}} もインストールする必要があります。
+
[[AUR]] の {{AUR|spotify}} を使うと自動的にソフトウェアがダウンロードされます。ローカルファイルを再生したい場合は {{Pkg|zenity}} と {{AUR|ffmpeg0.10}} パッケージもインストールする必要があります。
   
=== Windows (Wine) ===
+
=== Windows クライアント (Wine) ===
   
[[Wine]] をさい。
+
先に [[Wine]] をインストールしください。
   
Spotify のウェブサイトでアカウント登録してから Spotify を取得してください。アプリケーションのアプリ内登録はできません。ただし次の URL を使うことで登録をする前にアプリケーションを取得することは可能です: [http://download.spotify.com/Spotify%20Installer.exe]。
+
Spotify のウェブサイトでアカウント登録してから Spotify を取得してください。アプリケーションのアプリ内登録はできません。ただし次の URL を使うことで登録をする前にアプリケーションを取得することきます: [https://www.spotify.com/jp/download/windows/]。
   
 
登録してインストーラーのコピーをダウンロードしたら Wine でアプリケーションを実行してください。ファイルを右クリックすることで実行できます。実行できない場合、ダウンロードしたディレクトリで下のコマンドを実行することでターミナルから実行できます:
 
登録してインストーラーのコピーをダウンロードしたら Wine でアプリケーションを実行してください。ファイルを右クリックすることで実行できます。実行できない場合、ダウンロードしたディレクトリで下のコマンドを実行することでターミナルから実行できます:
   
$ wine Spotify\ Installer.exe
+
$ wine SpotifySetup.exe
   
 
アプリケーションが正しくインストールされたら、ターミナルから以下のコマンドを実行したり、ALT+F2 ランチャーから実行することで Spotify を起動できます:
 
アプリケーションが正しくインストールされたら、ターミナルから以下のコマンドを実行したり、ALT+F2 ランチャーから実行することで Spotify を起動できます:
36行目: 38行目:
 
x86_64 版の Arch Linux を使っている場合、以下のようにして実行する必要があります:
 
x86_64 版の Arch Linux を使っている場合、以下のようにして実行する必要があります:
   
$ wine "/home/username/.wine/drive_c/Program Files (x86)/Spotify/spotify.exe"
+
$ wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Spotify/spotify.exe
   
 
x86 版の Arch Linux を使っている場合は、以下のコマンドで実行できます:
 
x86 版の Arch Linux を使っている場合は、以下のコマンドで実行できます:
44行目: 46行目:
 
何か問題が発生するときは、winecfg で Windows XP または Windows 7 をエミュレーションするように設定することを推奨します。
 
何か問題が発生するときは、winecfg で Windows XP または Windows 7 をエミュレーションするように設定することを推奨します。
   
  +
== ヒントとテクニック ==
== グローバルなメディアホットキー ==
 
  +
  +
=== グローバルなメディアホットキー ===
  +
  +
{{Tip|大抵は[[デスクトップ環境]]に初めから設定されているキーボードショートカットで Spotify クライアントを使うことができます。例えば [[Cinnamon]] ではデフォルトでプレイヤーを制御できるようにバインドが設定されており (Preferences -> Keyboard -> Shortcuts -> Sound and Media)、お好きなキーを押すことで簡単にショートカットを変えることができます。}}
   
 
Spotify は {{ic|XF86AudioPlay}} などのメディアキーをサポートしています。ただし何も設定をしていなかった場合 Spotify の中でしか動作しません。[[xbindkeys]] などを使用してグローバルのメディアキーの押下を取得してから、以下のどれか方法を使うことで Spotify に転送することができます。xbindkeys を使っている場合、インストールやキーの設定を行った後に Spotify を再起動しないと、キーイベントが正しく取得されません。
 
Spotify は {{ic|XF86AudioPlay}} などのメディアキーをサポートしています。ただし何も設定をしていなかった場合 Spotify の中でしか動作しません。[[xbindkeys]] などを使用してグローバルのメディアキーの押下を取得してから、以下のどれか方法を使うことで Spotify に転送することができます。xbindkeys を使っている場合、インストールやキーの設定を行った後に Spotify を再起動しないと、キーイベントが正しく取得されません。
   
=== Linux ===
+
==== MPRIS ====
   
  +
Spotify クライアントは [https://specifications.freedesktop.org/mpris-spec/latest/ MPRIS2] D-Bus インターフェイスを実装しており外部からコントロールすることができます。
==== Playerctl ====
 
   
  +
===== Playerctl =====
{{aur|playerctl}} ユーティリティは Spotify プロセスにコマンドを送信するコマンドラインツールを提供します。グローバルに設定する必要があるコマンドは {{ic|play-pause}}, {{ic|next}}, {{ic|previous}} だけです:
 
  +
  +
{{Pkg|playerctl}} ユーティリティは Spotify プロセスにコマンドを送信するコマンドラインツールを提供します。グローバルに設定する必要があるコマンドは {{ic|play-pause}}, {{ic|next}}, {{ic|previous}} だけです:
   
 
$ playerctl play-pause
 
$ playerctl play-pause
60行目: 68行目:
 
Playerctl は始めに見つけたプレイヤーにコマンドを送るため、[[VLC]] などの他のプレイヤーでも使えます。他のプレイヤーを無視させるには、{{ic|--player=spotify}} を引数に付けてください。
 
Playerctl は始めに見つけたプレイヤーにコマンドを送るため、[[VLC]] などの他のプレイヤーでも使えます。他のプレイヤーを無視させるには、{{ic|--player=spotify}} を引数に付けてください。
   
==== xdotool ====
+
===== D-Bus =====
 
{{ic|xdotool}} を使うことでホットキーをアプリケーションに送信することが可能です。以下は Spotify を外側から操作するスクリプトの例です:
 
 
#!/bin/sh
 
 
case $1 in
 
"play")
 
key="XF86AudioPlay"
 
;;
 
"next")
 
key="XF86AudioNext"
 
;;
 
"prev")
 
key="XF86AudioPrev"
 
;;
 
*)
 
echo "Usage: $0 play|next|prev"
 
exit 1
 
;;
 
esac
 
xdotool key --window $(xdotool search --name "Spotify (Premium |Unlimited |Free )?- Linux Preview"|head -n1) $key
 
exit 0
 
 
{{ic|musickeys.sh}} のように名前をつけて、スクリプトに実行可能属性を付与してください:
 
 
$ chmod +x musickeys.sh
 
 
{{ic|./musickeys.sh play}} を実行することで曲の再生を切り替えることができます。[[xbindkeys]] などキーの押下を取得するツールでこのスクリプトを使うようにバインドできます。
 
 
==== D-Bus ====
 
   
 
上記のツールの代わりとして、[[systemd]] の依存パッケージとしてデフォルトでインストールされる [[D-Bus]] があります。D-Bus を使うことで Spotify などの他のプロセスと確実に対話することができます。
 
上記のツールの代わりとして、[[systemd]] の依存パッケージとしてデフォルトでインストールされる [[D-Bus]] があります。D-Bus を使うことで Spotify などの他のプロセスと確実に対話することができます。
98行目: 76行目:
 
$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
 
$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
   
  +
コマンドをメディアキーにバインドするには [[Xbindkeys]] をインストールして {{ic|.xbindkeysrc}} を編集し、以下の行を追加してください:
In order to bind this and the other commands to the media keys you need to install [[Xbindkeys]] and edit your .xbindkeysrc and add the following lines:
 
   
 
# Play/Pause
 
# Play/Pause
116行目: 94行目:
 
XF86AudioStop
 
XF86AudioStop
   
  +
上記のコマンドが機能しない場合、dbus アドレスを設定してみてください:
If the above commands do not work, try setting the dbus address:
 
   
 
USER=`whoami`
 
USER=`whoami`
130行目: 108行目:
 
fi
 
fi
   
===Windows ===
+
==== xdotool ====
   
  +
{{ic|xdotool}} を使うことでホットキーをアプリケーションに送信することが可能です。以下は Spotify を外側から操作するスクリプトの例です:
wine 版の Spotify を使っている場合、{{AUR|spotifycmd}} を使用して Spotify にアクションを送信することができます。[https://github.com/Tarrasch/dotfiles/compare/0149505f%5E...19ede1f6 こちら] に spotifycmd を使用した xmonad バインディングの設定例があります。
 
   
  +
#!/bin/sh
== Tips & Tricks ==
 
  +
  +
case $1 in
  +
"play")
  +
key="XF86AudioPlay"
  +
;;
  +
"next")
  +
key="XF86AudioNext"
  +
;;
  +
"prev")
  +
key="XF86AudioPrev"
  +
;;
  +
*)
  +
echo "Usage: $0 play|next|prev"
  +
exit 1
  +
;;
  +
esac
  +
xdotool key --window $(xdotool search --name "Spotify (Premium |Unlimited |Free )?- Linux Preview"|head -n1) $key
  +
exit 0
  +
  +
{{ic|musickeys.sh}} のように名前をつけて、スクリプトに実行可能属性を付与してください:
  +
  +
$ chmod +x musickeys.sh
  +
  +
{{ic|./musickeys.sh play}} を実行することで曲の再生を切り替えることができます。[[xbindkeys]] などキーの押下を取得するツールでこのスクリプトを使うようにバインドできます。
   
 
=== トラック通知を無効化 ===
 
=== トラック通知を無効化 ===
   
{{note|It is worth noting that if you have a {{AUR|SpotCommander}} [http://olejon.github.io/spotcommander/ Server] running alongside Spotify, and you disable track notifications by following the instructions below, the [https://play.google.com/store/apps/details?id=net.olejon.spotcommander&hl=en SpotCommander Client] running on your mobile device will display that “No Music is Playing” and will [http://askubuntu.com/questions/472325/remove-spotify-pop-up-notification-when-a-song-starts/472329#472329 fail to display track info] such as title, artist, album art, etc. Apart from that, the mobile client still works fine though, and is still able to skip, play, pause, control volume, etc.}}
+
{{note|{{AUR|SpotCommander}} [http://olejon.github.io/spotcommander/ サーバー] Spotify と一緒に実行していて以下の設定でトラック通知を無効した場合、モバイル端末で実行している [https://play.google.com/store/apps/details?id=net.olejon.spotcommander&hl=en SpotCommander クライアント] “No Music is Playing” と表示され、曲名・アーティスト・アルバムアートなどのトラック情報が[https://askubuntu.com/questions/472325/remove-spotify-pop-up-notification-when-a-song-starts/472329#472329 表示されません]。ただし、モバイルクライアントが使えなくなるわけではなく、曲の再生・停止やボリュームの操作などに問題はありません。}}
   
 
バージョン 0.9.10 から、トラック変更の通知がデフォルトで有効になっています。この通知は非常に邪魔に思えるかもしれません。無効にするには、以下の行を {{ic|~/.config/spotify/Users/<spotifylogin>-user/prefs}} に追加してください:
 
バージョン 0.9.10 から、トラック変更の通知がデフォルトで有効になっています。この通知は非常に邪魔に思えるかもしれません。無効にするには、以下の行を {{ic|~/.config/spotify/Users/<spotifylogin>-user/prefs}} に追加してください:
148行目: 150行目:
 
=== トラック通知を表示 ===
 
=== トラック通知を表示 ===
   
{{AUR|playerctl}} には {{pkg|python-gobject}} と {{pkg|dunst}} のような通知デーモンと一緒に使用するライブラリが付属しており、トラックが変更されたときにアーティストとタイトルを通知で表示することができます。
+
{{Pkg|playerctl}} には {{pkg|python-gobject}} と [[dunst]] のような通知デーモンと一緒に使用するライブラリが付属しており、トラックが変更されたときにアーティストとタイトルを通知で表示することができます。
   
 
#!/usr/bin/env python3
 
#!/usr/bin/env python3
167行目: 169行目:
 
=== 何度も再生されるラジオトラックをスキップ ===
 
=== 何度も再生されるラジオトラックをスキップ ===
   
{{AUR|playerctl}} ライブラリの他の使い道としてラジオで何度も再生されるトラックをスキップすることができます。ラジオ局で聞きたくない曲を低く評価する必要はもうありません。
+
{{Pkg|playerctl}} ライブラリの他の使い道としてラジオで何度も再生されるトラックをスキップすることができます。ラジオ局で聞きたくない曲を低く評価する必要はもうありません。
   
 
#!/usr/bin/env python3
 
#!/usr/bin/env python3
186行目: 188行目:
   
 
=== コマーシャルをミュート ===
 
=== コマーシャルをミュート ===
  +
  +
==== blockify ====
   
 
[https://github.com/mikar/blockify blockify] を使えばコマーシャルをミュートできます。[[AUR]] の {{AUR|blockify}} でインストールできます。
 
[https://github.com/mikar/blockify blockify] を使えばコマーシャルをミュートできます。[[AUR]] の {{AUR|blockify}} でインストールできます。
206行目: 210行目:
   
 
上のスクリプトを {{ic|/usr/local/bin/spotify}} に配置すれば、Spotify を起動したときに {{ic|/usr/bin/spotify}} が優先されます。他に変更する必要があるところはありません。アップデートしても消えることはありません。
 
上のスクリプトを {{ic|/usr/local/bin/spotify}} に配置すれば、Spotify を起動したときに {{ic|/usr/bin/spotify}} が優先されます。他に変更する必要があるところはありません。アップデートしても消えることはありません。
  +
  +
==== spotblock ====
  +
  +
[https://github.com/mahkoh/spotblock spotblock] ({{AUR|spotblock-git}}) は systemd デーモンとして動作するリソース消費の少ない広告ブロッカーです。
  +
  +
==== Spotify-AdKiller ====
  +
  +
[https://github.com/SecUpwN/Spotify-AdKiller Spotify-AdKiller] ({{AUR|spotify-adkiller-git}}) は Spotify の広告をブロックします。
  +
  +
==== Hosts ファイル ====
  +
  +
hosts ファイルに以下の行を追加することでも Spotify の広告をブロックできます:
  +
  +
{{hc|/etc/hosts|<nowiki>
  +
# Block spotify ads
  +
127.0.0.1 media-match.com
  +
127.0.0.1 adclick.g.doublecklick.net
  +
127.0.0.1 www.googleadservices.com
  +
127.0.0.1 open.spotify.com
  +
127.0.0.1 pagead2.googlesyndication.com
  +
127.0.0.1 desktop.spotify.com
  +
127.0.0.1 googleads.g.doubleclick.net
  +
127.0.0.1 pubads.g.doubleclick.net
  +
127.0.0.1 audio2.spotify.com
  +
127.0.0.1 www.omaze.com
  +
127.0.0.1 omaze.com
  +
127.0.0.1 bounceexchange.com
  +
127.0.0.1 spclient.wg.spotify.com
  +
127.0.0.1 securepubads.g.doubleclick.net
  +
</nowiki>}}
   
 
=== リモートコントロール ===
 
=== リモートコントロール ===
211行目: 245行目:
 
==== SSH でコマンドを送信 ====
 
==== SSH でコマンドを送信 ====
   
  +
サーバー上に ssh がセットアップされている場合、以下のコマンドでクライアントからリモートの Spotify インスタンスに制御コマンドを送信できます:
If you set up ssh on the server, you can send controls from a client to a remote Spotify instance with
 
   
 
$ ssh user@host ''yourcommand''
 
$ ssh user@host ''yourcommand''
   
where ''yourcommand'' can be [https://code.google.com/p/spotifycmd/ spotifycmd] that you installed on the server, or a dbus script for the linux version, as described above.
+
''yourcommand'' は、サーバーにインストールした [https://code.google.com/p/spotifycmd/ spotifycmd] や上述の Linux 版の dbus スクリプトなどに置き換えてください。
   
 
==== SSH で Spotify ウィンドウをつかむ ====
 
==== SSH で Spotify ウィンドウをつかむ ====
   
  +
サーバーをリモートで制御するために TeamViewer や VNC などでデスクトップ全体を取得するのでなければ、サーバーからクライアントに Spotify のウィンドウだけを抜き取ることができます。
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.
 
   
  +
サーバー側に sshd を設定して、サーバーとクライアントの両方に x11vnc をインストールしてください。クライアント側には tigervnc をインストールしてください。それから以下のスクリプトを使うことでデスクトップ全体を取得したり、Spotify ウィンドウだけを取得できます。MPD の GUI クライアントと同じように使うことができます。
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.
 
   
 
{{bc|<nowiki>
 
{{bc|<nowiki>
251行目: 285行目:
 
</nowiki>}}
 
</nowiki>}}
   
  +
2番目のスクリプトをサーバーの {{ic|~/.bin/vncgetspotify.sh}} にコピーして、1番目のスクリプトをクライアントのどこかに保存してください。
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.
 
   
  +
最後に、Spotify ウィンドウを掴むには、クライアント側で以下を実行:
Finally, to grab the spotify window, run on the client:
 
   
 
$ sh vncget.sh
 
$ sh vncget.sh
   
  +
デスクトップ全体を取得する場合:
or, for the whole desktop:
 
   
 
$ sh vncget.sh all
 
$ sh vncget.sh all
263行目: 297行目:
 
===HiDPI モード===
 
===HiDPI モード===
 
最新の Spotify ビルドも DPI に対応していないため、ターミナルコマンドでインターフェイスをスケールする量を指定します:
 
最新の Spotify ビルドも DPI に対応していないため、ターミナルコマンドでインターフェイスをスケールする量を指定します:
$ spotify --force-device-scale-factor=X
+
$ spotify --force-device-scale-factor=''X''
   
 
X はインターフェイスをスケールする量に置き換えて下さい。例: 2。
 
X はインターフェイスをスケールする量に置き換えて下さい。例: 2。
   
  +
デスクトップファイルを使用する場合、パッケージを更新したときにファイルが上書きされないように、ローカルのアプリケーションフォルダにデスクトップファイルをコピーしてください:
{{ic|/usr/share/applications}} ディレクトリにある {{ic|spotify.desktop}} ファイルを変更することで、デスクトップから起動したときにスケールを適用することができます。
 
  +
$ cp /usr/share/applications/spotify.desktop ~/.local/share/applications/
   
  +
{{ic|~/.local/share/applications/spotify.desktop}} を編集して {{ic|--force-device-scale-factor}} オプションを追加:
{{ic|spotify.desktop}} ファイルの例:
 
  +
[Desktop Entry]
 
  +
{{hc|spotify.desktop|2=
Name=Spotify
 
  +
[Desktop Entry]
GenericName=Music Player
 
Comment=Spotify streaming music client
+
Name=Spotify
  +
GenericName=Music Player
Icon=spotify-client
 
  +
Comment=Spotify streaming music client
Exec=spotify --force-device-scale-factor=2%U
 
TryExec=spotify
+
Icon=spotify-client
  +
Exec=spotify '''--force-device-scale-factor=2''' %U
Terminal=false
 
  +
TryExec=spotify
Type=Application
 
  +
Terminal=false
Categories=Audio;Music;Player;AudioVideo
 
  +
Type=Application
MimeType=x-scheme-handler/spotify
 
  +
Categories=Audio;Music;Player;AudioVideo
  +
MimeType=x-scheme-handler/spotify
  +
}}
  +
  +
変更を適用するにはデスクトップマネージャを再起動する必要があります。
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
  +
  +
=== デスクトップ環境のアラート (ビープ) によって Spotify がミュートになってしまう ===
  +
  +
PulseAudio の設定ファイルで "module-role-cork" をコメントアウトしてください。
  +
  +
テキストエディタで {{ic|/etc/pulse/default.pa}} を開いて以下の行をコメントアウトしてください:
  +
  +
load-module module-role-cork
  +
  +
もしくは以下のコマンドを実行してアンロードしてください:
  +
  +
$ pactl unload-module module-role-cork
  +
  +
=== 検索を使うとインターフェイスが点滅してクラッシュする ===
  +
  +
Spotify は古いバージョンの Chromium Embedded Framework を使っており検索を使おうとするとバグによってクラッシュします。以下のコマンドラインオプションを使うことで回避できます:
  +
  +
--force-device-scale-factor=1.0000001
   
 
=== DWM で Spotify Linux を使用した時に画像が点滅したり正しく表示されない ===
 
=== DWM で Spotify Linux を使用した時に画像が点滅したり正しく表示されない ===
 
フローティングウィンドウで spotify を起動してください。
 
フローティングウィンドウで spotify を起動してください。
   
  +
以下のルールを {{ic|config.h}} の rules 配列に追加してください:
You can add this rule to the rules array in your {{ic|config.h}}:
 
 
{ "Spotify", NULL, NULL, 2, True, -1 },
 
{ "Spotify", NULL, NULL, 2, True, -1 },
   
  +
上記の設定でウィンドウモードと関係なく spotify タグが "2" のフローティングウィンドウとして起動されます。新しい設定を適用するために dwm を再コンパイル・インストールしてください。
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.
 
   
 
=== 検索やブラウザ、ラジオが動作しない ===
 
=== 検索やブラウザ、ラジオが動作しない ===
   
: Spotify [http://community.spotify.com/t5/Help-Desktop-Linux-Mac-and/Bug-Desktop-Linux-0-9-0-133-gd18ed589-Having-mixed-locale-breaks/td-p/418270 bug report] concerning non-english locales
+
ブラウジングなどのタブで何も表示されなかったり、検索フィールドが機能しなかったりラジオページが表示されない場合 (起動したときにフリーズして入力に反応しなくなる)、ロケールの設定が原因かもしれません ([http://community.spotify.com/t5/Help-Desktop-Linux-Mac-and/Bug-Desktop-Linux-0-9-0-133-gd18ed589-Having-mixed-locale-breaks/td-p/418270 バグレポート] を参照)。
If various tabs like browsing only show a blank screen, the search field doesn't seem to do anything or the radio page is broken (stuck when starting and unsresponsive to input) you might be using a custom locale.
 
   
 
Spotify を起動する前に {{ic|LC_NUMERIC}} 環境変数を {{ic|en_US.utf8}} に設定してみてください。
 
Spotify を起動する前に {{ic|LC_NUMERIC}} 環境変数を {{ic|en_US.utf8}} に設定してみてください。
318行目: 375行目:
   
 
{{Note|
 
{{Note|
  +
* 問題の原因は複数存在し、上記の修正では特定のバージョンの Spotify クライアントと Awesome でしか問題が解決されません。Debian や Ubuntu ユーザーは Spotify 0.9.17.1.g9b85d436 と Awesome 3.4.15 で別の原因があると報告しています。
* Note that several causes appear to exist for this problem, and this particular fix only applies to select versions of Spotify client 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.
 
* As of Spotify 1.0.17.75-2, {{ic|1=ui.track_notifications_enabled=false}} seems to be ignored. On the other hand some, users report not experimenting the deadlock anymore as of Awesome 3.5.6. Deadlocks could be caused by scripts called by Awesome, which rely on buggy spotify dbus properties. See [https://github.com/acrisci/playerctl/issues/20].
+
* Spotify 1.0.17.75-2 現在、{{ic|1=ui.track_notifications_enabled=false}} は無視されます。また、一部のユーザーは Awesome 3.5.6 からデッドロックが発生しなくなったと報告しています。デッドロックの原因はおそらく Awesome から呼び出されるスクリプトが Spotify D-Bus プロパティに依存しているためかもしれません。詳しくは [https://github.com/acrisci/playerctl/issues/20] を参照。
* This issue has multiple causes, so keep track of what you change while researching this. Update this section with additional scenarios and fixes.
 
 
}}
 
}}
   
=== Pulseaudio ===
+
=== PulseAudio ===
   
 
[[PulseAudio/トラブルシューティング]] や [https://bbs.archlinux.org/viewtopic.php?pid=1393465#p1393465] を見て下さい。
 
[[PulseAudio/トラブルシューティング]] や [https://bbs.archlinux.org/viewtopic.php?pid=1393465#p1393465] を見て下さい。
347行目: 403行目:
 
iptables -A UDP -p udp --dport 57621 -j ACCEPT -m comment --comment spotify
 
iptables -A UDP -p udp --dport 57621 -j ACCEPT -m comment --comment spotify
   
  +
ローカルネットワークの送信元と宛先を制限することもできます。
It is also possible to restrict the source and destination to the local network.
 
  +
  +
Spotify Connect を使用してワイヤレススピーカーやオーディオビデオレコーダで音楽を再生する場合、ファイアウォールを設定して Spotify の mDNS ルックアップが通るようにする必要があります。ランダムな非特権ポートが使われるため [https://community.spotify.com/t5/Desktop-Linux-Windows-Web-Player/Spotify-Connect-and-iptables-netfilter/td-p/1235049]、ファイアウォールのルールは面倒なものになります。送信元ポート 1900 または 5353 を以下のように設定してください:
  +
  +
iptables -A UDP -p udp --sport 1900 --dport 1025:65535 -j ACCEPT -m comment --comment spotify
  +
iptables -A UDP -p udp --sport 5353 --dport 1025:65535 -j ACCEPT -m comment --comment spotify
   
 
=== ダークテーマを使っている場合に検索バーのテキストが読めない ===
 
=== ダークテーマを使っている場合に検索バーのテキストが読めない ===
366行目: 427行目:
   
 
/usr/share/spotify/spotify-client/spotify -stylesheet=/home/user/spotify-override.css
 
/usr/share/spotify/spotify-client/spotify -stylesheet=/home/user/spotify-override.css
  +
  +
=== ローカルファイルを再生できない ===
  +
  +
ローカルファイルを再生しようとするとセグメンテーション違反や以下のようなエラーメッセージが発生する場合:
  +
  +
This song is not available. If you have the file on your computer you can import it.
  +
  +
依存パッケージが欠けているのが原因です。PulseAudio を使っている場合、{{aur|ffmpeg-compat-54}} をインストールすることで解決します。インストール時に PGP の検証エラーが起こる場合は適切な PGP 鍵をインポートしてください:
  +
  +
$ gpg --keyserver pgp.mit.edu --recv-keys FCF986EA15E6E293A5644F10B4322F04D67658D8
  +
  +
=== ウィンドウマネージャのルールが反映されない ===
  +
  +
特定のワークスペースで Spotify を起動したり、起動時に最大化するなどのルールをウィンドウマネージャで設定しても Spotify には反映されません。Spotify が ICCCM の仕様に違反しており、ウィンドウを作成する前に ''WM_CLASS'' プロパティを設定しないためです。[https://github.com/dasJ/spotifywm spotifywm] を使用することで解決できます。
   
 
==参照==
 
==参照==
*[https://github.com/acrisci/playerctl playerctl]: メディアプレーヤーを操作するためのコマンドラインユーティリティ・ライブラリ
+
*[https://github.com/acrisci/playerctl playerctl] メディアプレーヤーを操作するためのコマンドラインユーティリティ・ライブラリ
*[[SpotCommander]]: Spotify のウェブベースのリモートコントロール
+
*[[SpotCommander]] Spotify のウェブベースのリモートコントロール
*http://www.spotify.com/int/help/faq/wine/
+
* [http://www.spotify.com/int/download/previews/ Spotify for Linux] — Spotify の Linux クライアントのホームページ
*http://www.spotify.com/int/download/previews/
 

2019年3月1日 (金) 01:50時点における版

Spotify は数百万もの曲にアクセスすることができるデジタル音楽サービスです。

このインターネット音楽サービスを使うことで無料でデータベースから曲を選択してストリーミング再生できます。以前はヨーロッパ限定でしたが、最近になってアメリカでもサービスが開始されました。現在は日本でもサービスインしています。Debian と Fedora ディストリビューション向けに公式に Linux クライアントがパッケージで配布されており、AUR からインストールすることが可能です: spotifyAUR。公式では、Linux ユーザーは Wine で Windows クライアントを動かすことを推奨しています。また、曲の間にときどき音声広告が流れます。

Spotify では無料ユーザーがプレイリストを作成することができ、シャッフルしたり、リピートするトラックを設定することができます。Spotify で提供されているコンテンツにはオリジナル版と検閲版の両方があります。

目次

クライアントのインストール

使用したいクライアントをどちらか選択してください。Linux クライアントの方が好評ですが、wine の使用に慣れている場合、windows クライアントを選択するのも良いでしょう。両方のクライアントをインストールする必要はありません。https://play.spotify.com/ で使えるオンラインプレイヤーも存在します (Flash が必要です)。

代替クライアント

公式の Spotify クライアントの代わりになるソフトウェアが存在します:

  • Clementine — Qt 4 に移植された Amarok 1.4 クローン。設定でプラグインをアクティベート(ダウンロード)することでプレミアムアカウントの Spotify からストリーミングすることができます。
http://www.clementine-player.org/ || clementine
  • MopidyMusic Player Daemon のプラグインベースの実装。拡張を使うことで Spotify をストリーミング可能。
https://github.com/mopidy || mopidy + mopidy-spotifyAUR
  • Librespot — オープンソースの Spotify クライアントライブラリ。公式のクローズドソースの libspotify を使わなくても Spotify のサービス (ストリーミング) をアプリケーションから使えるようになります。
https://github.com/plietar/librespot || librespot-gitAUR
  • Tomahawk — C++/Qt で書かれた音楽プレイヤーアプリ。
https://www.tomahawk-player.org/ || tomahawkAUR tomahawk-gitAUR tomahawk-qt5AUR

公式 Linux クライアント

AURspotifyAUR を使うと自動的にソフトウェアがダウンロードされます。ローカルファイルを再生したい場合は zenityffmpeg0.10AUR パッケージもインストールする必要があります。

Windows クライアント (Wine)

先に Wine をインストールしてください。

Spotify のウェブサイトでアカウント登録してから Spotify を取得してください。アプリケーションのアプリ内登録はできません。ただし次の URL を使うことで登録をする前にアプリケーションを取得することができます: [1]

登録してインストーラーのコピーをダウンロードしたら Wine でアプリケーションを実行してください。ファイルを右クリックすることで実行できます。実行できない場合、ダウンロードしたディレクトリで下のコマンドを実行することでターミナルから実行できます:

$ wine SpotifySetup.exe

アプリケーションが正しくインストールされたら、ターミナルから以下のコマンドを実行したり、ALT+F2 ランチャーから実行することで Spotify を起動できます:

x86_64 版の Arch Linux を使っている場合、以下のようにして実行する必要があります:

$ wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Spotify/spotify.exe

x86 版の Arch Linux を使っている場合は、以下のコマンドで実行できます:

$ wine ~/.wine/drive_c/Program\ Files/Spotify/spotify.exe

何か問題が発生するときは、winecfg で Windows XP または Windows 7 をエミュレーションするように設定することを推奨します。

ヒントとテクニック

グローバルなメディアホットキー

ヒント: 大抵はデスクトップ環境に初めから設定されているキーボードショートカットで Spotify クライアントを使うことができます。例えば Cinnamon ではデフォルトでプレイヤーを制御できるようにバインドが設定されており (Preferences -> Keyboard -> Shortcuts -> Sound and Media)、お好きなキーを押すことで簡単にショートカットを変えることができます。

Spotify は XF86AudioPlay などのメディアキーをサポートしています。ただし何も設定をしていなかった場合 Spotify の中でしか動作しません。xbindkeys などを使用してグローバルのメディアキーの押下を取得してから、以下のどれか方法を使うことで Spotify に転送することができます。xbindkeys を使っている場合、インストールやキーの設定を行った後に Spotify を再起動しないと、キーイベントが正しく取得されません。

MPRIS

Spotify クライアントは MPRIS2 D-Bus インターフェイスを実装しており外部からコントロールすることができます。

Playerctl

playerctl ユーティリティは Spotify プロセスにコマンドを送信するコマンドラインツールを提供します。グローバルに設定する必要があるコマンドは play-pause, next, previous だけです:

$ playerctl play-pause
$ playerctl next
$ playerctl previous

Playerctl は始めに見つけたプレイヤーにコマンドを送るため、VLC などの他のプレイヤーでも使えます。他のプレイヤーを無視させるには、--player=spotify を引数に付けてください。

D-Bus

上記のツールの代わりとして、systemd の依存パッケージとしてデフォルトでインストールされる D-Bus があります。D-Bus を使うことで Spotify などの他のプロセスと確実に対話することができます。

Spotify の現在の曲を再生・停止するには:

$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

コマンドをメディアキーにバインドするには Xbindkeys をインストールして .xbindkeysrc を編集し、以下の行を追加してください:

# Play/Pause
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause"
XF86AudioPlay

# Next
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next"
XF86AudioNext

# Previous
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous"
XF86AudioPrev

# Stop
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop"
XF86AudioStop

上記のコマンドが機能しない場合、dbus アドレスを設定してみてください:

 USER=`whoami`
 PROCESS=spotify
 PID=`pgrep -o -u $USER $PROCESS`
 ENVIRON=/proc/$PID/environ
 if [ -e $ENVIRON ]
 then
     export `grep -z DBUS_SESSION_BUS_ADDRESS $ENVIRON`
 else
     echo "Unable to set DBUS_SESSION_BUS_ADDRESS."
     exit 1
 fi

xdotool

xdotool を使うことでホットキーをアプリケーションに送信することが可能です。以下は Spotify を外側から操作するスクリプトの例です:

#!/bin/sh

case $1 in
   "play")
       key="XF86AudioPlay"
       ;;
   "next")
       key="XF86AudioNext"
       ;;
   "prev")
       key="XF86AudioPrev"
       ;;
   *)
       echo "Usage: $0 play|next|prev"
       exit 1
        ;;
esac
xdotool key --window $(xdotool search --name "Spotify (Premium |Unlimited |Free )?- Linux Preview"|head -n1) $key
exit 0

musickeys.sh のように名前をつけて、スクリプトに実行可能属性を付与してください:

$ chmod +x musickeys.sh

./musickeys.sh play を実行することで曲の再生を切り替えることができます。xbindkeys などキーの押下を取得するツールでこのスクリプトを使うようにバインドできます。

トラック通知を無効化

ノート: SpotCommanderAUR サーバー を Spotify と一緒に実行していて以下の設定でトラック通知を無効した場合、モバイル端末で実行している SpotCommander クライアント に “No Music is Playing” と表示され、曲名・アーティスト・アルバムアートなどのトラック情報が表示されません。ただし、モバイルクライアントが使えなくなるわけではなく、曲の再生・停止やボリュームの操作などに問題はありません。

バージョン 0.9.10 から、トラック変更の通知がデフォルトで有効になっています。この通知は非常に邪魔に思えるかもしれません。無効にするには、以下の行を ~/.config/spotify/Users/<spotifylogin>-user/prefs に追加してください:

 ui.track_notifications_enabled=false

--ui.track_notifications_enabled=false オプションを付けて spotify を実行することでも設定できます。

トラック通知を表示

playerctl には python-gobjectdunst のような通知デーモンと一緒に使用するライブラリが付属しており、トラックが変更されたときにアーティストとタイトルを通知で表示することができます。

#!/usr/bin/env python3

from gi.repository import Playerctl, GLib
from subprocess import Popen

player = Playerctl.Player()

def on_track_change(player, e):
    track_info = '{artist} - {title}'.format(artist=player.get_artist(), title=player.get_title())
    Popen(['notify-send', track_info])

player.on('metadata', on_track_change)

GLib.MainLoop().run()

何度も再生されるラジオトラックをスキップ

playerctl ライブラリの他の使い道としてラジオで何度も再生されるトラックをスキップすることができます。ラジオ局で聞きたくない曲を低く評価する必要はもうありません。

#!/usr/bin/env python3

from gi.repository import Playerctl, GLib

player = Playerctl.Player()

played_out = ['Zu Fuss', 'Walk And Talk', 'Neuland']

def on_track_change(player, e):
    if player.get_title() in played_out:
        player.next()

player.on('metadata', on_track_change)

GLib.MainLoop().run()

コマーシャルをミュート

blockify

blockify を使えばコマーシャルをミュートできます。AURblockifyAUR でインストールできます。

Spotify が起動するたびに blockify をバックグラウンドで実行されるようにするには:

#!/bin/sh

spotify=/usr/bin/spotify

if [[ -x $spotify && -x /usr/bin/blockify ]];
then
  blockify &
  block_pid=$!
  $spotify
  trap "kill -9 $block_pid" SIGINT SIGTERM EXIT
fi

上のスクリプトを /usr/local/bin/spotify に配置すれば、Spotify を起動したときに /usr/bin/spotify が優先されます。他に変更する必要があるところはありません。アップデートしても消えることはありません。

spotblock

spotblock (spotblock-gitAUR) は systemd デーモンとして動作するリソース消費の少ない広告ブロッカーです。

Spotify-AdKiller

Spotify-AdKiller (spotify-adkiller-gitAUR) は Spotify の広告をブロックします。

Hosts ファイル

hosts ファイルに以下の行を追加することでも Spotify の広告をブロックできます:

/etc/hosts
# Block spotify ads
127.0.0.1 media-match.com
127.0.0.1 adclick.g.doublecklick.net
127.0.0.1 www.googleadservices.com
127.0.0.1 open.spotify.com
127.0.0.1 pagead2.googlesyndication.com
127.0.0.1 desktop.spotify.com
127.0.0.1 googleads.g.doubleclick.net
127.0.0.1 pubads.g.doubleclick.net
127.0.0.1 audio2.spotify.com
127.0.0.1 www.omaze.com
127.0.0.1 omaze.com
127.0.0.1 bounceexchange.com
127.0.0.1 spclient.wg.spotify.com
127.0.0.1 securepubads.g.doubleclick.net

リモートコントロール

SSH でコマンドを送信

サーバー上に ssh がセットアップされている場合、以下のコマンドでクライアントからリモートの Spotify インスタンスに制御コマンドを送信できます:

$ ssh user@host yourcommand

yourcommand は、サーバーにインストールした spotifycmd や上述の Linux 版の dbus スクリプトなどに置き換えてください。

SSH で Spotify ウィンドウをつかむ

サーバーをリモートで制御するために TeamViewer や VNC などでデスクトップ全体を取得するのでなければ、サーバーからクライアントに Spotify のウィンドウだけを抜き取ることができます。

サーバー側に sshd を設定して、サーバーとクライアントの両方に x11vnc をインストールしてください。クライアント側には tigervnc をインストールしてください。それから以下のスクリプトを使うことでデスクトップ全体を取得したり、Spotify ウィンドウだけを取得できます。MPD の GUI クライアントと同じように使うことができます。

#!/bin/bash
# vncget.sh

if [[ $1 == all ]];then
  ssh -f -t -L 5900:localhost:5900 user@host "x11vnc -q -display :0 -auth .Xauthority"
else
  ssh -f -t -L 5900:localhost:5900 user@host ".bin/vncgetspotify.sh"
fi
 
for i in {1..4}; do
  sleep 2
  if vncviewer localhost:0; then break; fi
done
#!/bin/bash
# vncgetspotify.sh

export DISPLAY=:0

id=$(wmctrl -lx | awk '/spotify.exe.Wine/ {print $1}')
[[ -z $id ]] && id=$(wmctrl -lx | awk '/spotify.Spotify/ {print $1}')

x11vnc -sid $id -display :0 -auth .Xauthority

2番目のスクリプトをサーバーの ~/.bin/vncgetspotify.sh にコピーして、1番目のスクリプトをクライアントのどこかに保存してください。

最後に、Spotify ウィンドウを掴むには、クライアント側で以下を実行:

$ sh vncget.sh

デスクトップ全体を取得する場合:

$ sh vncget.sh all

HiDPI モード

最新の Spotify ビルドも DPI に対応していないため、ターミナルコマンドでインターフェイスをスケールする量を指定します:

$ spotify --force-device-scale-factor=X

X はインターフェイスをスケールする量に置き換えて下さい。例: 2。

デスクトップファイルを使用する場合、パッケージを更新したときにファイルが上書きされないように、ローカルのアプリケーションフォルダにデスクトップファイルをコピーしてください:

$ cp /usr/share/applications/spotify.desktop ~/.local/share/applications/

~/.local/share/applications/spotify.desktop を編集して --force-device-scale-factor オプションを追加:

spotify.desktop
[Desktop Entry]
Name=Spotify
GenericName=Music Player
Comment=Spotify streaming music client
Icon=spotify-client
Exec=spotify --force-device-scale-factor=2 %U
TryExec=spotify
Terminal=false
Type=Application
Categories=Audio;Music;Player;AudioVideo
MimeType=x-scheme-handler/spotify

変更を適用するにはデスクトップマネージャを再起動する必要があります。

トラブルシューティング

デスクトップ環境のアラート (ビープ) によって Spotify がミュートになってしまう

PulseAudio の設定ファイルで "module-role-cork" をコメントアウトしてください。

テキストエディタで /etc/pulse/default.pa を開いて以下の行をコメントアウトしてください:

load-module module-role-cork 

もしくは以下のコマンドを実行してアンロードしてください:

$ pactl unload-module module-role-cork

検索を使うとインターフェイスが点滅してクラッシュする

Spotify は古いバージョンの Chromium Embedded Framework を使っており検索を使おうとするとバグによってクラッシュします。以下のコマンドラインオプションを使うことで回避できます:

--force-device-scale-factor=1.0000001

DWM で Spotify Linux を使用した時に画像が点滅したり正しく表示されない

フローティングウィンドウで spotify を起動してください。

以下のルールを config.h の rules 配列に追加してください:

 { "Spotify",     NULL,       NULL,        2,         True,     -1 },

上記の設定でウィンドウモードと関係なく spotify タグが "2" のフローティングウィンドウとして起動されます。新しい設定を適用するために dwm を再コンパイル・インストールしてください。

検索やブラウザ、ラジオが動作しない

ブラウジングなどのタブで何も表示されなかったり、検索フィールドが機能しなかったりラジオページが表示されない場合 (起動したときにフリーズして入力に反応しなくなる)、ロケールの設定が原因かもしれません (バグレポート を参照)。

Spotify を起動する前に LC_NUMERIC 環境変数を en_US.utf8 に設定してみてください。

SpotifyHelper.exe がクラッシュする (Windows クライアント)

Spotify を起動した時に SpotifyHelper.exe がクラッシュする場合、winecfg で d3d9 ライブラリを無効化してください。"Libraries" タブを開いて、"d3d9" を選んで Add をクリックしてください。無効化するには、edit をクリックして "Disable" オプションを選択してください。

ランチャーアイコンがおかしい (Windows クライアント)

ランチャーに Spotify アイコンが正しく表示されない場合、次の行を ~/.local/share/applications/wine/Programs/Spotify.desktop に追加してください:

StartupWMClass=spotify.exe

GUI スレッドのデッドロック

Awesome などのタイル型ウィンドウマネージャでは、新しい曲やプレイリストをダブルクリックしたときにデッドロックが発生することがあります。~/.config/spotify/Users/[1-9]*-user/prefs ファイルを編集して以下の行を追加してください:

ui.track_notifications_enabled=false

そして Spotify を再起動します。

ノート:
  • 問題の原因は複数存在し、上記の修正では特定のバージョンの Spotify クライアントと Awesome でしか問題が解決されません。Debian や Ubuntu ユーザーは Spotify 0.9.17.1.g9b85d436 と Awesome 3.4.15 で別の原因があると報告しています。
  • Spotify 1.0.17.75-2 現在、ui.track_notifications_enabled=false は無視されます。また、一部のユーザーは Awesome 3.5.6 からデッドロックが発生しなくなったと報告しています。デッドロックの原因はおそらく Awesome から呼び出されるスクリプトが Spotify の D-Bus プロパティに依存しているためかもしれません。詳しくは [2] を参照。

PulseAudio

PulseAudio/トラブルシューティング[3] を見て下さい。

プロキシを使ったときにアルバム画像が表示されない、四角が表示される

spotify を終了して、spotify の設定 ~/.config/spotify/prefs を開いて下さい。

@https を @http に変更してください:

 network.proxy.addr="your-proxy.com:80@http"
 network.proxy.mode=2

[4] を参照。

ノート: 1.0.17 現在、上記のように https を http に置き換えると全く接続できなくなることがあります。その場合、GUI では 'no proxy' に設定してから proxychains-ng で全ての TCP 接続を強制的にプロキシを通すようにする方法があります。

Spotify でローカルネットワーク上の他のデバイスが検出されない

ファイアウォールを使っている場合、UDP と TCP のポート 57621 を開いて下さい。iptablesシンプルなステートフルファイアウォールを使用している場合、以下で設定できます:

iptables -A TCP -p tcp --dport 57621 -j ACCEPT -m comment --comment spotify
iptables -A UDP -p udp --dport 57621 -j ACCEPT -m comment --comment spotify

ローカルネットワークの送信元と宛先を制限することもできます。

Spotify Connect を使用してワイヤレススピーカーやオーディオビデオレコーダで音楽を再生する場合、ファイアウォールを設定して Spotify の mDNS ルックアップが通るようにする必要があります。ランダムな非特権ポートが使われるため [5]、ファイアウォールのルールは面倒なものになります。送信元ポート 1900 または 5353 を以下のように設定してください:

iptables -A UDP -p udp --sport 1900 --dport 1025:65535 -j ACCEPT -m comment --comment spotify
iptables -A UDP -p udp --sport 5353 --dport 1025:65535 -j ACCEPT -m comment --comment spotify

ダークテーマを使っている場合に検索バーのテキストが読めない

検索バーのテキストは白色に決められているため、Qt のダークテーマを使っている場合見えなくなります。色を上書きすることで解決できます。

まず (ホームフォルダなど) 読み書きができる場所に css ファイルを作成してください。名前は何でもかまいません (例: spotify-override.css)。

作成した css ファイルを開いて以下を追加します:

QLineEdit { color: #000 }

ファイルを保存して終了してください。次に、Spotify のランチャーの末尾に以下を追加します (css ファイルのパスは実際のパスに置き換えて下さい):

-stylesheet=/home/user/spotify-overide.css

起動パスは以下のようになります:

/usr/share/spotify/spotify-client/spotify -stylesheet=/home/user/spotify-override.css

ローカルファイルを再生できない

ローカルファイルを再生しようとするとセグメンテーション違反や以下のようなエラーメッセージが発生する場合:

This song is not available. If you have the file on your computer you can import it.

依存パッケージが欠けているのが原因です。PulseAudio を使っている場合、ffmpeg-compat-54AUR をインストールすることで解決します。インストール時に PGP の検証エラーが起こる場合は適切な PGP 鍵をインポートしてください:

$ gpg --keyserver pgp.mit.edu --recv-keys FCF986EA15E6E293A5644F10B4322F04D67658D8

ウィンドウマネージャのルールが反映されない

特定のワークスペースで Spotify を起動したり、起動時に最大化するなどのルールをウィンドウマネージャで設定しても Spotify には反映されません。Spotify が ICCCM の仕様に違反しており、ウィンドウを作成する前に WM_CLASS プロパティを設定しないためです。spotifywm を使用することで解決できます。

参照

  • playerctl — メディアプレーヤーを操作するためのコマンドラインユーティリティ・ライブラリ
  • SpotCommander — Spotify のウェブベースのリモートコントロール
  • Spotify for Linux — Spotify の Linux クライアントのホームページ