0

i3blocks で、クリックすると Spotify が起動する (閉じている場合) ブロックを作成しようとしています。

ほとんど問題なく動作しますが、Spotify が起動すると、Spotify が閉じられてブロックが役に立たなくなるまでスクリプトが停止します。

また、i3 をリロードすると Spotify が閉じます。

Spotify をバックグラウンド (&) で起動し、disown フラグを使用してみました。しかし、問題は発生し続けます.i3blocks構成ファイルでも同じことを試しました(スクリプトをバックグラウンドで起動します)。

#!/bin/sh

if pgrep spotify >/dev/null

then

spotifycli --status

case $BLOCK_BUTTON in

1) spotifycli --playpause;;

2) spotifycli --prev;;

3) spotifycli --next;;

esac

else

echo 

case $BLOCK_BUTTON in

1) spotify & disown; sleep 3; spotifycli --play;;

esac

fi
4

1 に答える 1

1

解決策を見つけました。Spotify の出力を /dev/null にリダイレクトするのを忘れていました。また、EOF が返されないため、ブロックは Spotify の出力の読み取りにスタックしていました。

于 2020-07-17T13:04:30.060 に答える