如何使用 Yocto Project 工具更改 window 位经理?
How do I change window managers with Yocto Project tools?
我的意图
我有一个由 BitBake 生成的图像,我有兴趣将 window 管理器更改为 metacity 或类似的东西。
我的过程
我已将 require recipes-graphics/images/core-image-x11.bb
添加到我的核心配方中,它提供了一个简单的 Matchbox 终端 window 但似乎没有其他功能。如果我添加 matchbox-desktop
和 matchbox-session-sato
,它会增加一点可用性,但不是我想要的。
我在我的核心映像的 IMAGE_INSTALL
变量中包含了来自 OpenEmbedded Metadata Index 层的 metacity_2.34.13.bb
配方的默认包。这将安装几个组件,包括 /usr/bin
中的 metacity
命令。如果我 运行 该命令,我会收到以下消息:
GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications
(metacity:1124): GLib-GIO-ERROR **: Settings schema 'org.gnome.metacity' is not installed
Trace/breakpoint trap
我导航到 /usr/share/glib-2.0/schemas
和 运行 glib-compile-schemas .
,然后 运行:
startx
metacity --replace
再次。现在,输出是:
Window manager error: Unable to open X display
我还没有找到适用于我的具体情况的此错误的明确解决方案。
更新(2/29):
我现在可能已经找到解决此错误的方法,使用这些命令:
X&
export DISPLAY=:0
metacity&
此时,我似乎 运行正在我的一个 VT 上安装一些东西。我可以在那个 VT 中 运行 像 glxgears
这样的演示(glxgears
包含在 mesa-demos
配方中),但我不知道如何实际创建一个可用的环境。
我的问题(s)
- 我没有使用太多来自
meta-openembedded/meta-gnome
(只是 metacity
)或 meta/recipes-gnome
(adwaita-icon-theme
、gnome-desktop3
、gsettings-desktop-schemas
和gtk+3
), 那么我是否缺少一些自动添加 metacity 的配方?
(如果不是问题1)如何解决错误Window manager error: Unable to open X display
?
x11-common
配方添加了一个 X 会话脚本,它将 运行 /usr/bin/x-session-manager
:负责启动您的桌面环境。
在 OE-Core 中实现新 session/DE 的方法是对 "x-session-manager" 使用 update-alternatives:查看默认实现的 matchbox-session 配方和 mini-x-替代方案的会话配方。
mini-x-session 可能可以根据您的需要进行修改,因此您无需编写新的:像这样的 /etc/mini_x/session
文件可能可以解决问题:
# start any apps here, e.g. "my-desktop &"
exec metacity
从这个(运行宁 window 经理)到 "usable environment" 可能仍然需要大量工作,具体取决于您对可用的定义。
我的意图
我有一个由 BitBake 生成的图像,我有兴趣将 window 管理器更改为 metacity 或类似的东西。
我的过程
我已将 require recipes-graphics/images/core-image-x11.bb
添加到我的核心配方中,它提供了一个简单的 Matchbox 终端 window 但似乎没有其他功能。如果我添加 matchbox-desktop
和 matchbox-session-sato
,它会增加一点可用性,但不是我想要的。
我在我的核心映像的 IMAGE_INSTALL
变量中包含了来自 OpenEmbedded Metadata Index 层的 metacity_2.34.13.bb
配方的默认包。这将安装几个组件,包括 /usr/bin
中的 metacity
命令。如果我 运行 该命令,我会收到以下消息:
GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications
(metacity:1124): GLib-GIO-ERROR **: Settings schema 'org.gnome.metacity' is not installed
Trace/breakpoint trap
我导航到 /usr/share/glib-2.0/schemas
和 运行 glib-compile-schemas .
,然后 运行:
startx
metacity --replace
再次。现在,输出是:
Window manager error: Unable to open X display
我还没有找到适用于我的具体情况的此错误的明确解决方案。
更新(2/29):
我现在可能已经找到解决此错误的方法,使用这些命令:
X&
export DISPLAY=:0
metacity&
此时,我似乎 运行正在我的一个 VT 上安装一些东西。我可以在那个 VT 中 运行 像 glxgears
这样的演示(glxgears
包含在 mesa-demos
配方中),但我不知道如何实际创建一个可用的环境。
我的问题(s)
- 我没有使用太多来自
meta-openembedded/meta-gnome
(只是metacity
)或meta/recipes-gnome
(adwaita-icon-theme
、gnome-desktop3
、gsettings-desktop-schemas
和gtk+3
), 那么我是否缺少一些自动添加 metacity 的配方? (如果不是问题1)如何解决错误Window manager error: Unable to open X display
?
x11-common
配方添加了一个 X 会话脚本,它将 运行 /usr/bin/x-session-manager
:负责启动您的桌面环境。
在 OE-Core 中实现新 session/DE 的方法是对 "x-session-manager" 使用 update-alternatives:查看默认实现的 matchbox-session 配方和 mini-x-替代方案的会话配方。
mini-x-session 可能可以根据您的需要进行修改,因此您无需编写新的:像这样的 /etc/mini_x/session
文件可能可以解决问题:
# start any apps here, e.g. "my-desktop &"
exec metacity
从这个(运行宁 window 经理)到 "usable environment" 可能仍然需要大量工作,具体取决于您对可用的定义。