tho*_*ter 8 xbmc power-management 12.10
在 12.04 中,在 XBMC 中观看视频时屏幕从未进入睡眠状态。但是,在升级到 12.10 并且不更改任何设置后,它确实如此。
有什么方法可以防止在 XBMC 中播放视频时屏幕自动关闭,而无需在其他时间实际禁用屏幕关闭?
理想情况下,是否有针对此的 XBMC 特定设置?这是 XBMC 的一个功能,现在在 12.10 中以某种方式被破坏了,还是由于 Ubuntu 中的其他一些非 XBMC 变化而改变了?
Adi*_*tya 11
我们可以创建一个 shell 脚本,它会以指定的时间间隔(仅在 XBMC 运行时)模拟鼠标移动并防止您的屏幕关闭。
按照步骤:
安装必要的工具:
我们需要xdotool为我们做这项工作。通过在终端中运行以下命令来安装它:
sudo apt-get install xdotool
Run Code Online (Sandbox Code Playgroud)剧本:
将以下脚本保存在 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
Run Code Online (Sandbox Code Playgroud)使这个脚本可执行:
右键单击您刚刚保存的文件 >> 选择Properties>> 在Permission选项卡中,将复选标记放在 上Execute。

在每次启动时自动执行此脚本:
我们可以在Startup Applications的帮助下做到这一点。通过按下Enter并查询Startup Applications>> 在启动应用程序窗口中打开您的 Dash ,单击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
Run Code Online (Sandbox Code Playgroud)
并用xbmc.bin您选择的进程名称替换第 2 行和第 3 行。
使用 GUI (GNOME):
我们可以使用System Monitor来查找进程的名称。按Super打开 Dash 并查询“系统监视器”以启动它。在Processes选项卡中,我们可以找到进程名称作为第一列。

带终端:
我们可以运行top列出所有正在运行的进程。调用的最后一Command列为我们提供了进程的名称(但仅限于前 15 个字符)。

在这里我们可以看到 Firefox 只是命名为firefox. 所以,如果我们想要在 Firefox 运行时出现这种行为;我们将xbmc.bin在脚本中替换为,firefox其他一切都可以正常工作。
致谢:我在这里找到了脚本。但是,我进行了必要的修改以使其紧凑并满足问题的要求。
一个非常简单的解决方案是咖啡因。Caffeine 是一个“状态栏应用程序,能够暂时阻止屏幕保护程序和“睡眠”省电模式的激活。
启用它就像单击状态栏指示器一样简单,但您也可以将其设置为在您启动 xbmc 时自动禁用屏幕保护程序。看下面的截图

如果您使用 Gnome,则可以安装caffeine gnome 扩展。如果没有,对于 Ubuntu 15.04(生动),您可以从启动板 ppa 安装咖啡因:
sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine
Run Code Online (Sandbox Code Playgroud)
从 15.10 开始,您可以在没有 ppa 的情况下安装
sudo apt install caffeine
Run Code Online (Sandbox Code Playgroud)
享受!
这似乎是ubuntu 的 XBMC 包中的一个错误
我不确定您安装了哪个版本,但 PPA* 中的版本似乎没有出现在我的系统上。这当然可能是因为我在 ubuntu 中有不同的设置,所以你的千年可能会有所不同。
如果你不这样做,你可以尝试使用 XBMC 作为会话(在你的登录屏幕上,按你的名字旁边的 ubuntu 标志并选择 XBMC。你不会得到统一,但只是全屏 XMBC)。unity 的设置将不存在,因此您可能会因为没有屏幕保护程序而走运。(如果您设置了自动登录,则需要按注销才能获得登录屏幕)
* https://launchpad.net/~team-xbmc/+archive/ppa
| 归档时间: |
|
| 查看次数: |
18229 次 |
| 最近记录: |