12.04では、XBMCでビデオを見ているときに画面がスリープ状態になることはありませんでした。ただし、12.10にアップグレードして設定を変更しなかった場合は、そうなります。
XBMCでビデオを再生しているときに画面が自動的にオフになるのを防ぐ方法はありますか?
理想的には、XBMC固有の設定がありますか?これはXBMCの機能でしたが、12.10で何らかの形で機能しなくなったのですか、それともUbuntu内でのXBMC以外の他の変更により変更されたのですか?
12.04では、XBMCでビデオを見ているときに画面がスリープ状態になることはありませんでした。ただし、12.10にアップグレードして設定を変更しなかった場合は、そうなります。
XBMCでビデオを再生しているときに画面が自動的にオフになるのを防ぐ方法はありますか?
理想的には、XBMC固有の設定がありますか?これはXBMCの機能でしたが、12.10で何らかの形で機能しなくなったのですか、それともUbuntu内でのXBMC以外の他の変更により変更されたのですか?
回答:
これはubuntuのXBMCパッケージのバグのようです
インストールされているバージョンがわかりませんが、システムにPPA *のバージョンがインストールされていないようです。もちろん、ubuntuで設定が異なるため、ミラーリングが異なる場合があります。
そうでない場合は、XBMCをセッションとして使用してみてください(ログイン画面で、名前の横にあるubuntuロゴを押してXBMCを選択します。統一は行われませんが、フルスクリーンのXMBCのみです)。unityの設定はそこにはないので、スクリーンセーバーがないことで運が良さそうです。(自動ログインが設定されている場合は、ログアウトを押してログイン画面を表示する必要があります)
指定された間隔(XBMCが実行中の場合のみ)でマウスの動きをシミュレートし、画面がオフにならないようにするシェルスクリプトを作成できます。
手順に従ってください:
必要なツールをインストールします。
この作業を行うには、xdotoolが必要です。ターミナルで次のコマンドを実行してインストールします。
sudo apt-get install xdotool
スクリプト:
次のスクリプトをPCの任意の場所に保存します。sleep_period
必要に応じて変更できます。60秒に設定しました。スクリプトは、xbmc.bin
running というプロセスがあるかどうかを確認します。見つかった場合は、プロセスがアクティブな間、ループしてマウスの動きをシミュレートします。それ以外の場合は、指定された間隔の後にプロセスを再度確認します。
#!/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
このスクリプトを実行可能にします。
保存したファイルを右クリック>>選択Properties>> Permissionタブで、チェックマークをオンにしExecuteます。
起動ごとにこのスクリプトを自動的に実行します。
これは、スタートアップアプリケーションの助けを借りて行うことができます。を押してダッシュを開き、>>のEnterクエリを実行してStartup Applications
、[スタートアップアプリケーション]ウィンドウで[ Add>> ]をクリックします。次に、ポップアップダイアログで情報を入力します。
名前:オプション、これに名前を付けたいものは何でも。
コマンド:保存したファイルへのパス。
コメント:オプション、必要に応じて追加します。
システムを再起動して、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文字に制限されています)。
ここでは、Firefoxの名前が単にであることがわかりfirefox
ます。したがって、Firefoxの実行中にこの動作が必要な場合は、xbmc.bin
スクリプトで置き換え、firefox
他のすべては問題なく動作します。
謝辞:ここでスクリプトを見つけました。しかし、私はそれをコンパクトにし、質問の要求を満たすために必要な変更を加えました。
非常に簡単な解決策はカフェインです。カフェインは、「スクリーンセーバーと「スリープ」省電力モードの両方のアクティブ化を一時的に防止できるステータスバーアプリケーションです。」
有効にするのはステータスバーインジケーターをクリックするのと同じくらい簡単ですが、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
楽しい!
私はこれらを〜/ 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も使用していません
これらのソリューションはすべて、ビデオの再生中だけでなく、xbmcの実行中は常にスクリーンセーバーをオフにします。UPnPサーバーが組み込まれているので、24時間365日稼働させておきますが、ビデオがローカルで再生されているときはスクリーンセーバーを無効にしたいだけです。
XBMCでhttpとJSONのサポートをオンにします。次にループして、プレーヤーがアクティブかどうかを確認する要求を出します。そうであれば、xscreensaver-command -disableを発行します(これはスクリーンセーバーごとに調整できます)。そうでない場合は、何もしません。50秒ごとにチェックするのは十分です。
ここにPythonコード:http : //sumnerhayes.com/software/