Docker运行图形化程序

原理

Docker支持图形化程序,是利用Linux的X11技术。

相关文章

引文详情

如何在Docker容器中启动D-Bus

翻译自 https://georgik.rocks/how-to-start-d-bus-in-docker-container/

很多Linux应用需要用到 D-Bus, 但它在Docker容器中默认并不存在

当你尝试启动这类应用时,你会收到一个错误信息:

D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/var/lib/dbus/machine-id": No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
  D-Bus not built with -rdynamic so unable to print a backtrace
Aborted

首先你需要通过下面命令生成缺失的 machine-id(译者注:我一般是直接在容器启动时挂载host上的machine-id):

dbus-uuidgen > /var/lib/dbus/machine-id

这样以来,即使DBus守护进程没有启动,应用也能启动

要在容器中启动D-Bus守护进程,你需要运行下面命令

mkdir -p /var/run/dbus
dbus-daemon --config-file=/usr/share/dbus-1/system.conf --print-address

在 Centos 上则改为:

dbus-daemon --config-file=/etc/dbus-1/system.conf --print-address

现在守护进程运行起来了,你的应用也能用了. 输出的结果类似于下面这样:

unix:path=/var/run/dbus/system_bus_socket,guid=9cfabcc6f66027251e092e955d09e707
posted @   jiftle  阅读(1077)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示