XBMCでビデオを見ているときに画面がオフにならないようにする[終了]


8

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

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

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


1
XBMCの[Power Saving]> [Turn off on idle]などの設定で、その効果が得られるはずです。試しましたか?
Ye Lin Aung 2013年

問題は、アイドル状態ではない映画の視聴中に発生しています。アイドル中に画面をオフにすることは気にしません(実際に好きです)。
thomasrutter 2013年

どのバージョンを使用していますか?ubuntuで特別な電源設定はありますか?PPAからの(通常、不安定ではない)XBMCを使用して12.10の新規インストールを実行していますが、これによる影響はないため、デフォルトではないようです//すべての人に影響はありません。(そうですね、それはあまり役に立ちませんが、それが常に存在するバグではないことを知るのに役立つかもしれません。私は知りません:))
Nanne

私は、PPAからではなく、Ubuntuからのバージョン(12.10、最近12.04からアップグレード)を使用しています。特別な電源設定はありません。デフォルトでは、非アクティブな状態が続くとモニターがオフになります。
thomasrutter 2013年

アディティアの回答にご尽力いただきありがとうございますが、私はまず、ナンネの回答で提案された2つの代替案を試してみたいと思います。
thomasrutter 2013年

回答:


7

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

インストールされているバージョンがわかりませんが、システムにPPA *のバージョンがインストールされていないようです。もちろん、ubuntuで設定が異なるため、ミラーリングが異なる場合があります。

そうでない場合は、XBMCをセッションとして使用してみてください(ログイン画面で、名前の横にあるubuntuロゴを押してXBMCを選択します。統一は行われませんが、フルスクリーンのXMBCのみです)。unityの設定はそこにはないので、スクリーンセーバーがないことで運が良さそうです。(自動ログインが設定されている場合は、ログアウトを押してログイン画面を表示する必要があります)

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


Ubuntuのxbmcパッケージを使用しているので、バグリンクをありがとう、それが私の問題の理由のようです。家にいるときは、XBMCをセッションとして使用してみて、問題が解決するかどうかを確認します。
thomasrutter 2013年

11

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

手順に従ってください:

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

    この作業を行うには、xdotoolxdotoolをインストールするが必要です。ターミナルで次のコマンドを実行してインストールします。

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

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

    #!/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ます。

    スクリプトを実行可能にする

  4. 起動ごとにこのスクリプトを自動的に実行します。

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

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

    コマンド:保存したファイルへのパス。

    コメント:オプション、必要に応じて追加します。

    スタートアップアプリケーションの設定

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


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

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

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

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


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

  • GUI(GNOME)の場合:

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

    システムモニター

  • ターミナル付き:

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

    ターミナルの<code> top </ code>コマンド

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


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


それが最後、最後、最後の何もない仕事の手段ではないでしょうか?
ナンヌ2013年

1
@ナン:いいえ...なぜそうなのでしょうか。シェルスクリプトはシステムリソースを占有しません。XMBCが実行されていないときは、マウスの動きをシミュレートしません。また、このスクリプトを毎回実行することを覚えておく必要はありません... XMBCのPreference設定が明らかに最良の解決策ですが。XMBCを使用していないため、そのような設定が存在するかどうかはわかりません。このシェルスクリプトをFirefoxでテストしましたが、OPで期待どおりに動作します。
Aditya 2013年

問題は、ビデオの再生中にシステムがスリープ状態にならないようにすることです(私にとってはそうなりません)。これは明らかに回避策です(あなたはそれをハックと呼ぶかもしれません)、私はそれが悪いと言っていません、この素晴らしい投稿のためのあなたへの助言ですが、それでも私は最初に実際の解決策を探します(あなたが言うように、あなたはしませんXBMCについて知っているので、実際に試してみてください)。繰り返しになりますが、実際の投稿には何も悪いことはありませんが、「通常の」設定が失敗した後、マウスを動かすことを試す必要があることに同意しませんか?
ナンヌ2013年

1
@Nanne私が言ったように、それを制御するためのXMBC内の設定は明らかに最良のソリューションでしょう。しかし、私はOPが宿題を終えたことを期待するのが賢明です。さらに、そのような設定がXMBC内で利用可能であった場合、誰かが思い付き、彼の回答を投稿したと思います。質問は今のところ7日経過しています-XMBCには存在しないと思います。とにかく、XMBCを使用しているときに、それが可能かどうかを確認してください:)
Aditya

3
これをハックとは呼びません。人々はシェルスクリプトを使用して、これらのことを常に行っています。素晴らしい答え+1。
2013年

8

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

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

ここに画像の説明を入力してください

Gnomeを使用している場合は、カフェインgnome拡張機能をインストールできます。そうでない場合、Ubuntuが最大15.04(vivid)の場合、ランチパッド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

楽しい!


これは良いツールのように見えます。
thomasrutter 2013年


@PeterMortensen 16.04でさえ、その答えは時代遅れです。ただし、私の回答では更新も使用できるため、headsupをありがとう;)新しいUbuntuバージョンのインストール手順を追加しました。
Gerhard Burger

0

私はこれらを〜/ 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も使用していません


私はGnomeを使用しているので、xscreensaverを使用しているとは思わない。ご回答有難うございます。
thomasrutter 2013年

0

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

XBMCでhttpとJSONのサポートをオンにします。次にループして、プレーヤーがアクティブかどうかを確認する要求を出します。そうであれば、xscreensaver-command -disableを発行します(これはスクリーンセーバーごとに調整できます)。そうでない場合は、何もしません。50秒ごとにチェックするのは十分です。

ここにPythonコード:http : //sumnerhayes.com/software/


この質問は、Ubuntu 12.10のXBMCに関するもので、ビデオの再生中にスクリーンセーバーを無効にできないというバグがありました。このバグは、Ubuntuの最新バージョンのXBMCには存在しないため、回避策は必要ないと思います。XBMCは、ビデオの再生中にスクリーンセーバーを無効にします。
thomasrutter、2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.