sshを介してRhythmboxを管理する

rhythmbox logo



複雑なことがあるようです。 rhythmbox自体にも、この素晴らしいプレーヤーを設定するための簡単なコマンドを引数として取るコンパニオンプログラムrhythmbox-clientがあります。 しかし、すべてが私たちが望むほど単純ではありません。 sshを介してrhythmboxを再生するリモートマシンにログインし、このプログラム自体を呼び出す場合、たとえば次のようになります。



user@host:~$ rhythmbox-client --play

(rhythmbox-client:32434): Rhythmbox-WARNING **: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.






私たちは最も楽しいメッセージを見ることができません。 少なくとも、X11を初期化することはできません。

そして、すでに実行中のリズムボックスでプレイできるようにしたかっただけです。 たとえば、次のような多くのことができます。



 ユーザー@ホスト:〜$ rhythmbox-client --help
使用法:
   rhythmbox-client [オプション...]

オプション:
   -?、-helpヘルプを表示(オプション)

アプリケーションオプション:
   -デバッグ                    
   --no-start rhythmboxの新しいコピーを開始しません
   --Rhythmboxを終了します
   --no-present既存のRhythmboxウィンドウを表示しません
   --hide Rhythmboxボックスを隠す
   --next次の曲
   --previous前の曲
   --notify現在の曲の通知を表示
   --play再生を続ける
   -一時停止一時停止
   --play-pause一時停止と再生を切り替える
   --play-uri =再生するURI指定したURIを再生し、必要に応じてインポートします
   --enqueueトラックを再生キューに追加します
   --clear-queueトラックを追加する前に再生キューをクリアします
   --print-playing現在の曲のトラック名とアーティスト名を印刷する
   --print-playing-formatフォーマットされたトラック情報を印刷する
   --set-volumeボリュームの設定(最大1.0)
   --volume-up増加ボリューム
   --volume-down音量を下げる
   --print-volume現在のボリュームを印刷する
   -ミュートミュート
   -ミュート解除音を有効にする 


リストからわかるように、オプションはそれほど多くありません。 トラックのリピートリストとランダム/シーケンシャルリストの間には切り替えがないとします。 ただし、これは基本的なコマンドセットであり、既にうんざりしているトラックを切り替えるのに十分な場合がありますが、ハードドライブから手を拭くだけでは到達できません。



実験のために、仮想X11をssh経由で転送して接続する場合、これは単に-Xオプションでリモートホストにアクセスすることで行われます。 つまり アプリケーション全体がリモートホスト上で実行され、X11プリミティブがsshを介して転送およびレンダリングされます。



user@localhost:~$ ssh -X user@host





しかし、この方法でも、リズムボックスを制御することはできません。 プログラムのコピーが呼び出されるだけで、(弱いチャネルを使用して)sshを作成したコンピューターにひどく長く描画されます。 つまり タスクはrhythmboxを起動し、1つのX11ディスプレイからrhythmbox-clientから管理することです。 おそらく、これを行う唯一の方法は、すべてを画面上で実行することであることがわかっていました。これは、sshを介して接続し、実行中のrhythmboxを制御できます。 これで、尊敬されているKeksSWがコメントでプロンプトを表示したので、環境変数DISPLAY =:0を指定してコマンドを実行すると、クライアントパーツは問題なく実行され、後で説明するトリックなしでsshを介して実際にrhythmboxを管理できます。 制御コマンドをショートカットにプッシュすることを決めた場合に必要になることがあります。



そして、続けましょう。

コンソールで上記の計画全体をテストし、すべてが計画どおりに機能することを確認したら、かわいらしさをもたらしましょう。 たとえば、リズムボックスが実行されている非アクティブな画面セッションを呼び出すには、次のコマンドを実行する必要があります。



user@host:~$ /usr/bin/screen -D -m -S box rhythmbox-client





2つの説明、画面への直接パスを示しました。 別の場所にインストールしたり、自分で組み立てたりした場合(...でも、この出版物があなたの興味を引くとは思えませんが)。 そして、実行中のrhythmboxがない場合、rhythmbox-clientを起動すると、プレーヤー自体が起動します(少なくともUbuntu 9.04の場合はそうでした)。



まあ、毎回ペンでプレーヤーを起動しないでくださいね? これを行うエイリアスを作成できます。 しかし、完全に怠laな場合は、GNOMEのponelkaにランチャーアイコンを作成できます。 そして、プレーヤー自体を開始するには、マウスに手を伸ばすだけで、ポインターをアイコンにゆっくりと移動するだけで、最後の努力からあなたの忍耐と決意を賞賛するだけです-一度クリックしてください(主なことは過労しないことです...ほぼ2倍の作業ですよね?)



launcher








この場合、name boxでスクリーンセッションが作成され、その中でrhythmbox-clientが起動され、セッションが切断されます(切断され、完全に正確であるため、参加せず、パッシブモードでも発生します)。



おそらく、パネルにアイコンを作成する最も簡単な方法は、アプリケーションメニューからパネルにリズムボックスアイコン自体をドラッグすることです。 したがって、画像を選択することを心配する必要はありません。実行コードの行を上記の行に変更するだけです。 そして、別のスクリーンセッションでプレーヤーを起動する準備ができました。



さらに、さらに興味深いトリックです。 リズムボックスが実行されている別のコンピューターからホストに移動し、可能であればインタラクティブではなく、受動的に(パイプ経由またはスクリーンへのオプションを使用して)画面セッションにコマンドを送信する必要があります。



画面の男は、-Xオプションはセッションに実行するコマンドを送信する必要があると主張しています。 外に出なかったので、できませんでした。 これまでのところ、linux.orgフォーラムの賢い仲間は、このオプションを別の追加の引数とともに渡すことを提案していません。 たとえば、次のように入力した場合:



user@host:~$ screen -r box -X stuff - -





このテキストは、キーボードから入力したかのように、単にセッションに転送されます。 ただし、個人的にEnterボタンを押しても、そのようにはなりません。 しかし、代わりに、コマンドを実行するオプションを送信できます。 そして、オプションがexecと呼ばれることを推測することは難しくありません。 つまり 結局、リモートホスト上でトラックを次のトラックに変更するためにローカルマシンから開始するコマンドは次のようになります。



user@host:~$ ssh user@host screen -r box -X exec rhythmbox-client --next







また、このコマンドをいくつかのクイックキーに割り当てることもできます。 Vostro 1500のフロントパネルには、コンピューター自体ではほとんど使用しないメディアキーのセットがあるため、必要なコマンドをそれらに入れることにしました。



launcher








原則として、それだけです。 これを以前に行ったことがない場合にのみ追加でき、毎回パスワードを入力せずにssh経由でリモートホストへのアクセスを許可します。 これは次のように実行できます。



user@host:~$ ssh-copy-id user@host





リモートコンピューターのユーザーパスワードを求められます。 すでに鍵を生成している場合、公開鍵はローカルマシンからリモートマシンのauthorized_keysファイルにコピーされます。 キーが存在しないというエラーが発生した場合は、すぐに作成できます。



user@host:~$ ssh-keygen





そしてさらに指示に従って。 パスフレーズは設定しないことをお勧めします。 それ以来、毎回入力する必要があります。



それだけです ご清聴ありがとうございました。



PS:作業中のコンピューターが、Habrの写真の返品で負荷を引き上げることを願っています。 そして、彼が正当な理由でそれをするように、メインとhabracatの後のコンテンツへのアクセスについて動的に描かれた写真があります。 数日前にすでに1人の若い男性が似たようなものを作ったことを知っていますが、私は自分の目標を追求し、正直なところ、スケジュールはそれほど暑くありませんでした。 IPによるフィルターまで、つまり 複数のアクセスは異なる訪問としてカウントされます。 次に、フィルタリングを追加することを考えます-これにより、何が起こっているのかをよりよく把握できます。



launcher








ZYY:この投稿の背後に3時間を費やした後、Habrのメインページからプレビューイメージを描画するスクリプトと、habracatの下で見た人のビューの数だけが貴重なことだと理解しています。 評価はそれほど高くはありませんでしたが、マイナスにもジャンプしませんでした。 したがって、統計分析に関して非常に良い点を得ることができます。 つまり RSSを介して、または朝にハブをすばやくブラウジングして、受信したリクエストの数を含む多くの写真を取得しました。「成功」トピックから同じ情報を収集すると、興味深い統計を取得できます。 しかし、あなたが幸運であれば、これは次回です=)



ZYY:まあ、おそらくすべて。 ベタの状態になった訪問の統計を描画するスクリプト。 つまり 彼は1分あたりのリクエスト数を描画します。 ご覧のように、メインページで投稿のエントリを追跡したり、2ページ目で出発を追跡したりできます。 わあ!



All Articles