我无法播放“受保护”的 Flash 视频,例如 Amazon Prime Instant Video。从我读到和发现的内容来看,这似乎是由于我的电脑上没有安装 HAL。在开头部分可以看到,确认它是受保护视频所必需的http://helpx.adobe.com/x-productkb/multi/flash-player-11-problems-playing.html
但是,hal 不在 gentoo portage 树中,而且无论如何已被弃用并被 udev 取代。我该如何让 Amazon Prime Instant Video 重新工作?我考虑从http://www.freedesktop.org/wiki/Software/hal但是那里的链接无法加载,并且尝试从旧的 ebuild 或声称仍然支持它的覆盖(例如 kde-sunset)安装它会导致编译错误:
In file included from addon-generic-backlight.c:38:0:
/usr/include/glib-2.0/glib/gmain.h:21:2: error: #error "Only <glib.h> can be included directly."
还有其他人解决过这个问题吗?
答案1
半闪现
这就是你现在在 portage 中要做的所有事情了。WFM
答案2
对于任何和我一样需要安装此软件的人来说,grawity 对他的回答的评论是安装此软件的关键。以下是明确的分步说明:
步骤 1:获取代码
# git clone http://cgit.freedesktop.org/hal-info/
# git clone http://cgit.freedesktop.org/hal/
第 2 步:安装 hal-info
# cd hal-info
# ./autogen.sh
# make && make install
# cd ..
步骤 3:修复 hal 代码
为此,请将所有 替换为#include <glib/gmain.h>
。#include <glib.h>
你可以使用以下命令执行此操作:
# find hal -name "*.c" -print|xargs sed -i 's/#include <glib\/gmain\.h>/#include <glib\.h>/g'
由于某种原因,错过了一个引用(我并不是真正的正则表达式/ sed 专家)所以我只是做了一个grep -r "#include <glib/gmain.h>" *
并手动修复了它。
步骤 4:安装 hal
# cd hal
# ./autogen.sh --disable-policy-kit
# make && make install
步骤5:不要忘记dbus配置!
# cp hal.conf /etc/dbus-1/system.d/
就是这样!现在只需使用hald
(/usr/local/sbin/hald)运行它即可
答案3
HAL工作原理在上面udev;它从未被完全“取代”;那些功能可以在 hal 中禁用(例如 ACL 管理)。只要 Flash Player 是 HAL 的唯一用户,就不会有任何冲突。