调试picockpit-client问题

Pi显示为脱机

检查picockpit-client服务在你的Raspberry Pi上是否处于激活状态。请打开终端并写入。

sudo service picockpit-client status

如果picockpit-client处于激活状态并且工作正常,将得到以下输出。

服务picockpit-client状态,激活(运行)。

接下来调查一下日志输出。你可以用下面的命令把它转储到一个文件中,发给我们,这样我们就可以分析问题了。

sudo journalctl -u picockpit-client.service -n 1000 > /tmp/log.txt
journalctl提供的部分日志

GLIBC错误

在尝试安装/运行picockpit-client时,你看到一个类似于以下的信息。

/usr/share/picockpit-client/bin/python。/lib/arm-linux-gnueabihf/libc.so.6: 没有找到`GLIBC_2.28'版本(/usr/share/picockpit-client/bin/python需要)。
/usr/share/picockpit-client/bin/python。/lib/arm-linux-gnueabihf/libc.so.6: 没有找到`GLIBC_2.25'版本(/usr/share/picockpit-client/bin/python需要)
/usr/share/picockpit-client/bin/python。/lib/arm-linux-gnueabihf/libc.so.6: 未找到`GLIBC_2.26'版本(/usr/share/picockpit-client/bin/python需要)

这个问题表明,你正在运行一个 不兼容的操作系统 版本.例如,如果你在Raspbian Stretch(之前的Raspbian版本)上运行picockpit-client,就会出现这种情况。

目前,只有树莓派操作系统的当前主要版本"拔河"是支持的。

技术解释:与picockpit-client一起发货的Python依赖于某个版本的GLIBC库,也就是2.28。其他版本的Raspbian则使用更早的/其他版本的GLIBC。

"任何应用程序和libc之间的接口都能向前兼容较新的版本,但不能向后兼容较旧的版本。"

解决GLIBC错误的方法

下面的信息没有经过测试,但我提供给愿意实验的社区成员。我们非常欢迎你对这个解决方案的反馈。 请让我们知道你在哪个操作系统上的工作方式。.

使用一个名为 补丁,你可以修改二进制文件以使用共享(动态链接)库的自定义版本。因此,你可以将所需的库添加到你的目录树中的一个自定义文件夹,并修改picockpit-client的python(位于 /usr/share/picockpit-client/bin/python )来使用它们。

下面的链接应该是有用的(注意它们是 不是 Debian/Raspberry Pi操作系统专用)。

如果你走这条路并遇到了成功。 请让我们知道 所以我们可以与大家分享解决方案。

在未来,我计划将picockpit-client移植到Go语言中,并将其与musl而不是glibc静态链接;这样,它应该可以在更多的系统中移植。

报告问题

当报告一个不同的问题,或者一个无法用本页提示解决的问题时,请务必包括PiCockpit网络界面的截图,以及网络界面和picockpit-client的日志。

picockpit-client的日志

以下是如何在Raspberry Pi操作系统上通过Raspberry Pi的命令行访问picockpit-client日志的说明。

sudo su
journalctl -u picockpit-client --since "4 天前"> /tmp/picockpit-client2.txt

请在你的电子邮件中附上日志输出。

网络界面的日志

为了支持我们进一步的调试,也请打开开发者工具(在Chrome上:Ctrl + Shift + I),并将JavaScript控制台的输出发送给我们。右键点击其中一条日志线,选择 "另存为 "来保存日志文件。

注意:如果你使用Firefox、Edge或其他浏览器,访问日志输出的方式将有所不同。

要报告一个问题,请 使用PI3G联系页面联系我们 (我们的母公司)。