web-dev-qa-db-ja.com

XBMCでビデオを見ているときに画面がオフになるのを防ぐ

12.04では、XBMCでビデオを見ている間に画面がスリープ状態になることはありませんでした。ただし、12.10にアップグレードして設定を変更しなかった場合は、変更されます。

XBMCでビデオを再生しているときに、他のときに画面がオフになるのを実際に無効にせずに、画面が自動的にオフになるのを防ぐ方法はありますか?

理想的には、これにXBMC固有の設定がありますか?これは12.10で何らかの形で壊れたXBMCの機能でしたか、それともUbuntu内のXBMC以外の変更により変更された機能ですか?

8
thomasrutter

これは buntuのXBMCパッケージのバグ のようです

どのバージョンをインストールしたかはわかりませんが、PPA *のバージョンは私のシステムにインストールされていないようです。これはもちろん、ubuntuの設定が異なるためである可能性があります。

そうでない場合は、XBMCをセッションとして使用することができます(ログイン画面で、名前の横にあるubuntuロゴを押してXBMCを選択します。統一されず、フルスクリーンXMBCになります)。団結の設定はそこにないので、スクリーンセーバーがないと幸運になるかもしれません。 (自動ログインを設定している場合は、ログアウトを押してログイン画面を取得する必要があります)

* https://launchpad.net/~team-xbmc/+archive/ppa

7
Nanne

指定した間隔(XBMCが実行されている場合のみ)でマウスの動きをシミュレートし、画面がオフにならないようにするシェルスクリプトを作成できます。

手順に従ってください:

  1. 必要なツールをインストールします:

    xdotool Install xdotool この仕事をしてくれます。ターミナルで次のコマンドを実行してインストールします。

    Sudo apt-get install xdotool
    
  2. スクリプト:

    次のスクリプトをPCのどこかに保存します。必要に応じてsleep_periodを変更できます。60秒に設定しました。このスクリプトは、xbmc.bin実行中というプロセスがあるかどうかを確認します。そして、それが見つかると、プロセスがアクティブな間、マウスの動きをシミュレートするためにループします。それ以外の場合は、指定された間隔後にプロセスを再度チェックします。

    #!/usr/bin/env bash
    
    sleep_period=60s #seconds
    
    mouse_x=0
    mouse_y=0
    
    movement_px=2
      mouse_x=$(xdotool getmouselocation 2>/dev/null |  sed -e 's/x://' -e 's/y//' -e 's/ screen:.*$//' -e 's/ //' | awk 'BEGIN {FS=":"} {print $1}')
      mouse_y=$(xdotool getmouselocation 2>/dev/null |  sed -e 's/x://' -e 's/y//' -e 's/ screen:.*$//' -e 's/ //' | awk 'BEGIN {FS=":"} {print $1}')
    
    while true; do
      if [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; then
        while [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; do
          xdotool mousemove $((mouse_x+${movement_px})) $((mouse_y+${movement_px}))
          xdotool mousemove $((mouse_x-${movement_px})) $((mouse_y-${movement_px}))
          sleep ${sleep_period}
        done
      else
        sleep ${sleep_period}
      fi
    done
    
  3. このスクリプトを実行可能にします:

    保存したファイルを右クリック>>選択 Properties >>で Permission タブ、チェックマークを付ける Execute

    make the script executable

  4. すべての起動時にこのスクリプトを自動的に実行します:

    これを行うには、Startup Applicationsを使用します。を押してダッシュを開きます Enter Startup Applicationsのクエリ>>スタートアップアプリケーションウィンドウで、をクリックします Add >>次に、ポップアップするダイアログで、情報を入力します。

    Name:オプション、これに名前を付けたいものは何でも。

    Command:保存したファイルへのパス。

    コメント:オプション、追加したい場合。

    startup applications preferences

  5. システムを再起動し、XBMCで映画をお楽しみください。


他のアプリケーションで使用する方法

これはXBMCの例です(プロセス名xbmc.bin)。ただし、ステップ2で説明したスクリプトのxbmc.binを希望するプロセスの名前に置き換えるだけで、他の任意のプロセスに使用することもできます。上記のスクリプトで次の行を見つけます。

while true; do
  if [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; then
    while [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; do

2行目と3行目のxbmc.binを、選択したプロセス名に置き換えます。


プロセス名を見つける方法

  • GUI(GNOME)の場合:

    System Monitorを使用して、プロセスの名前を見つけることができます。押す Super ダッシュを開き、「システムモニター」を照会して起動します。の中に Processes タブでは、最初の列としてプロセス名を見つけることができます。

    System Monitor

  • ターミナル付き:

    topを実行して、実行中のすべてのプロセスをリストできます。 Commandという最後の列は、プロセスの名前を示しています(ただし、最初の15文字に制限されています)。

    Terminal <code>top</code> command

ここでは、Firefoxがfirefoxという名前になっていることがわかります。したがって、Firefoxの実行中にこの動作が必要な場合は、スクリプト内のxbmc.binfirefoxに置き換えれば、他のすべては問題なく動作します。


謝辞:スクリプトを見つけました here 。しかし、私はそれをコンパクトにし、質問の要求を満たすために必要な修正を加えました。

11
Aditya

非常に簡単な解決策は、 カフェイン です。カフェインは「スクリーンセーバーと「スリープ」省電力モードの両方の起動を一時的に防ぐことができるステータスバーアプリケーションです」。

有効にするには、ステータスバーインジケーターをクリックするのと同じくらい簡単ですが、xbmcの起動時にスクリーンセーバーが自動的に無効になるように設定することもできます。下のスクリーンショットをご覧ください

enter image description here

Gnomeを使用している場合は、 カフェインgnome拡張 をインストールできます。そうでない場合、15.04(vivid)までのUbuntuの場合、ランチパッドppaからカフェインをインストールできます。

Sudo add-apt-repository ppa:caffeine-developers/ppa
Sudo apt-get update
Sudo apt-get install caffeine

15.10以降では、PPAなしでインストールできます

Sudo apt install caffeine

楽しい!

8
Gerhard Burger

これらのソリューションはすべて、ビデオを再生しているときだけでなく、xbmcが実行されているときは常にスクリーンセーバーをオフにします。 UPnPサーバーが組み込まれているため、24時間365日稼働していますが、ビデオがローカルで再生されている場合にのみスクリーンセーバーを無効にします。

XBMCでhttpおよびJSONサポートを有効にします。次に、プレーヤーがアクティブかどうかを確認するリクエストをループします。その場合は、xscreensaver-command -disableを発行します(スクリーンセーバーごとに調整できます)。そうでない場合は、何もしません。 50秒ごとに確認するだけで十分です。

Pythonコードはこちら: http://sumnerhayes.com/software/

0
SumnerHayes

これらを〜/ bin /で使用します。

#!/bin/bash

# ssoff - disable screensaver and power mgmt
pkill xscreensaver
xset s 0
xset -dpms

#!/bin/bash

# sson - activate screen and power mgmt
xscreensaver > /dev/null 2>&1 &
xset s 100
xset +dpms

もちろん、これらを実行するアイコンを作成できますが、XBMCも使用しません

0
jamon