web-dev-qa-db-ja.com

ターミナルからstreamusアプリを実行する方法

Streamus を使用してYouTubeから音楽をストリーミングします。ターミナル自体からストリームを開始できるかどうか知りたい。私はメインのソフトウェアサイトでこの質問をしました、そして著者はそれにxdotoolを使うことを勧めました。 xdotool(Sudo apt-get install xdotool)をインストールし、アプリを正常に開くこともできます。

私は主に2つの問題を抱えています

  1. アプリをリロードする
  2. アプリから再生

問題は、アプリを開いた後、空白の画面が表示されることです。アプリをリロードするにはctrl+rを使用する必要があり、自動化するにはxdotoolを使用しました。これが私のスクリプトです。

 /usr/bin/chromium-browser --disable-gpu --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --app=chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/foreground.html & xdotool key ctrl+r

しかし、xdotoolsが機能しておらず、アプリをリロードしていないようです。また、アプリから曲を再生するのを手伝ってくれませんか。

1
potholiday

TL; DRそのショートカットがアクティブなウィンドウに送信されるため、スクリプトは機能しません。これはchromium-browserStreamusではありません。


これはあなたのreloadxdotoolコマンドです:

xdotool search --limit 1 --name "^Streamus$" | xargs -I {} xdotool windowactivate --sync {} key ctrl+r

あなたの場合の完全なコマンドは次のとおりです。

/usr/bin/chromium-browser --disable-gpu --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --app=chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/foreground.html & xdotool search --limit 1 --name "^Streamus$" | xargs -I {} xdotool windowactivate --sync {} key ctrl+r

ショートカットの実行は、sleep 1で多少遅れることがあります。

/usr/bin/chromium-browser --disable-gpu --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --app=chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/foreground.html & sleep 1; xdotool search --limit 1 --name "^Streamus$"| xargs -I {} xdotool windowactivate --sync {} key ctrl+r

これはあなたの再生/一時停止xdotoolコマンドです:

xdotool search --limit 1 --name "^Streamus$" | xargs -I {} xdotool windowactivate --sync {} key alt+z

サンプルスクリプト:

Streamusを開始するには、再生をリロードして「押す」

#!/bin/bash

# Start Streamus
/usr/bin/chromium-browser --disable-gpu --enable-offline-auto-reload --enable-offline-auto-reload-visible-only --app=chrome-extension://jbnkffmindojffecdhbbmekbmkkfpmjd/foreground.html &

# Wait three seconds to finish the previous command
sleep 3

WID=$(xdotool search --limit 1 --name "^Streamus$")

# Refresh the page
xdotool windowactivate --sync "$WID" key ctrl+r

# Wait three seconds to update the page (Ctrl+R).
sleep 3

# "Press" Play
xdotool windowactivate --sync "$WID" key alt+z

説明:

  • xdotool search --limit 1 --name "^Streamus$"

    • search

      正規表現パターンのタイトル、名前、またはクラスを持つウィンドウを検索します。

    • limit N

      N個の一致するウィンドウを見つけたら、検索を停止します。制限を指定すると、結果が少ない場合に検索を高速化できます。

    • --name

      ウィンドウ名と照合します。これは、ウィンドウのタイトルバーに表示されるのと同じ文字列です。

  • xargs -I {} xdotool windowactivate --sync {} key ctrl+r

    • xargs -I {}

      コマンドxdotoolをビルドして実行します

    • xdotool windowactivate --sync {} key ctrl+r

      • windowactivate

        ウィンドウをアクティブにします。

      • sync

        ウィンドウアクティベーションを送信した後、ウィンドウが実際にアクティベートされるまで待ちます。

      • {}

        xargsは、{}をウィンドウIDに置き換えます

      • key ctrl+r

        ショートカットを送信します Ctrl+R

1
A.B.