YOCTO 上的 CUPS Web 界面

CUPS web interface on YOCTO

我有一个 yocto 图像,其中包含 CUPS 包(使用 IMAGE_INSTALL_append)。

虽然 运行 OS,但我在 /etc/init.d 中找不到 cups 文件。

我开始使用 cupsd 杯子。当我尝试使用 localhost:631 访问 Web 界面时,我得到了一个 not found error。控制台显示它无法加载任何这些 URL 上的资源:

http://localhost:631/cups.css

http://localhost:631/

http://localhost:631/favicon.ico

html 和相关文件似乎在 cups.inc file 中列出。在进行 YOCTO 构建之前或在 CUPS 设置上是否需要进行其他配置更改?

由于我是 yocto 的新手并且在 linux 环境中开发,我不确定我是否遗漏了一些明显的东西。

您针对配方进行了很好的研究,实际上已经接近找到解决方案。

In the recipe,您可以阅读:

# Remove sysinit script and symlinks if sysvinit is not in DISTRO_FEATURES
if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then
    rm -rf ${D}${sysconfdir}/init.d/
    rm -rf ${D}${sysconfdir}/rc*
fi

sysvinit在你的DISTRO_FEATURES中吗?

如果你不知道你可以

bitbake cups -e | grep "^DISTRO_FEATURES="

这个问题很老了,已经有了一个公认的答案。尽管如此,它可能对面临同样问题的其他人有用,即缺少 CUPS Web 界面的静态 html 内容。

CUPS 配方将静态网页内容打包成 cups-doc。 因此,而不是

IMAGE_INSTALL_append = " cups"

应该是

IMAGE_INSTALL_append = " cups cups-doc"

在你的 conf/local.conf 中。 然后,/usr/share/doc/cups 下的文件也被添加到 rootfs.

勾选

# Replace <target>, <image> and <version> to match your configuration
# e.g.: raspberrypi3-poky-linux-gnueabi/core-image-full-cmdline/1.0-r0

$YOUR_POKY_DIRECTORY/build/tmp/work/<target>/<image>/<version>/rootfs/usr/share/doc/cups

在添加 cups-doc 包之前完全没有。