首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >容器:未能启动嘟嘟声(作为gnome会话的无头wayland作曲家)

容器:未能启动嘟嘟声(作为gnome会话的无头wayland作曲家)
EN

Unix & Linux用户
提问于 2022-05-18 08:50:30
回答 1查看 851关注 0票数 3

我想做的是

  • 一种容器(最好是OCI容器),它不需要暴露在“它”中的主机会话管理器接口,并且
  • 运行wayland作曲家
  • 有一个>= gnome40会话,其中包括其中的所有UI元素。
  • 允许通过RDP或VNC远程显示和交互。

因此,这分别说明/暗示为工具:

  • podman
  • mutter (这就是Gnome想要的)
  • gnome-shell
  • gnome-remote-desktop,随Gnome42而来

我现在做的是

代码语言:javascript
复制
podman run -it --rm -p 9999:9999 ubuntu:22.04
#           ^---------------------------------Interactive
#               ^-----------------------------Don't keep state after finishing
#                    ^------------------------We'll need a port fwd into the container for RDP/VNC
#                                ^------------Not a great fan of Canonical, but 22.04 brings Gnome42

root@container$> apt update; apt install -y mutter gnome-remote-desktop gnome-shell
[… [success]]

root@container$> mutter --no-x11 --wayland --headless --virtual-monitor 1600x1000 
mutter-Message: 10:30:35.151: Running Mutter (using mutter 42.0) as a Wayland display server
mutter-Message: 10:30:35.191: Created surfaceless renderer without GPU
mutter-Message: 10:30:35.205: Disabling DMA buffer screen sharing (not hardware accelerated)
mutter-Message: 10:30:35.205: Added virtual monitor Meta-0

(mutter:13413): mutter-WARNING **: 10:30:35.211: WL: error: XDG_RUNTIME_DIR not set in the environment
(mutter:13413): mutter-ERROR **: 10:30:35.211: Failed to create socket
root@container$> export XDG_RUNTIME_DIR=/run/user/0/ ; mkdir -p ${XDG_RUNTIME_DIR}
root@container$> mutter --no-x11 --wayland --headless --virtual-monitor 1600x1000 
mutter-Message: 10:30:47.657: Running Mutter (using mutter 42.0) as a Wayland display server
mutter-Message: 10:30:47.698: Created surfaceless renderer without GPU
mutter-Message: 10:30:47.712: Disabling DMA buffer screen sharing (not hardware accelerated)
mutter-Message: 10:30:47.712: Added virtual monitor Meta-0
mutter-Message: 10:30:47.717: Using Wayland display name 'wayland-0'
**
mutter:ERROR:../src/wayland/meta-wayland.c:379:set_gnome_env: assertion failed: (session_bus)
Bail out! mutter:ERROR:../src/wayland/meta-wayland.c:379:set_gnome_env: assertion failed: (session_bus)

[1]+  Aborted                 (core dumped) mutter --sm-disable --no-x11 --wayland --headless --virtual-monitor 1600x1000

不太确定从这里往哪里走。我应该直接启动一个侏儒壳吗?

代码语言:javascript
复制
# fresh container to avoid any conflicts
root@7396d1bb8693:/> gnome-shell --no-x11 --wayland --headless --virtual-monitor 1600x1000
mutter-Message: 10:45:06.276: Running GNOME Shell (using mutter 42.0) as a Wayland display server
mutter-Message: 10:45:06.323: Created surfaceless renderer without GPU
mutter-Message: 10:45:06.337: Disabling DMA buffer screen sharing (not hardware accelerated)
mutter-Message: 10:45:06.338: Added virtual monitor Meta-0
Failed to connect to session bus: Cannot autolaunch D-Bus without X11 $DISPLAYroot@7396d1bb8693:/>

也不管用。

  • 如何在非特权容器中启动无头gnome wayland会话?
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2023-02-10 10:16:42

我成功地完成了以下GitHub操作(不确定它是否像OCI那样没有权限,所以它可能不能完全适用于您):

代码语言:javascript
复制
  run: |
    sudo apt-get install mutter dbus-x11;
    dbus-launch --auto-syntax > dbus-env;
    source dbus-env;
    mutter --no-x11 --headless --virtual-monitor 1920x1080 &

source dbus-env将为进一步的进程设置正确的环境变量,以连接到显示器。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/702991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档