Как изменить оконные менеджеры с помощью инструментов Yocto Project?

Мое намерение

У меня есть изображение, сгенерированное BitBake, на котором я заинтересован в изменении менеджера окон на metacity или, может быть, что-то подобное.

Мой процесс

я добавил require recipes-graphics/images/core-image-x11.bb в мой основной рецепт, который предоставляет простое окно терминала Matchbox, но, похоже, никаких других функций. Если я добавлю matchbox-desktop а также matchbox-session-sato, это добавляет немного больше юзабилити, но не то, что я ищу.

Я включил пакет по умолчанию из metacity_2.34.13.bb рецепт из meta-gnome слой из индекса OpenEmbedded Metadata в IMAGE_INSTALL переменная моего основного образа. Это устанавливает несколько компонентов, включая metacity команда в /usr/bin, Если я запускаю эту команду, я получаю следующее сообщение:

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. Я могу запустить демо, как glxgears в этом VT (glxgears входит в mesa-demos рецепт), но я не знаю, как на самом деле создать удобную среду.

Мой вопрос

  1. Я не использую много отmeta-openembedded/meta-gnome(простоmetacity) или же meta/recipes-gnome (adwaita-icon-theme, gnome-desktop3,gsettings-desktop-schemasа также gtk+3), поэтому я пропускаю какой-то рецепт, который автоматизирует добавление метасити?
  2. (если нет Вопрос 1) Как я могу решить ошибкуWindow manager error: Unable to open X display?

1 ответ

Решение

x11-common рецепт добавляет сценарий X сессии, который будет запускаться /usr/bin/x-session-manager: это отвечает за запуск вашего рабочего стола.

Способ реализации нового сеанса /DE в OE-Core заключается в использовании альтернатив обновления для "x-session-manager": см. Рецепт matchbox-session для реализации по умолчанию и рецепт mini-x-session для альтернативы.

mini-x-session может быть изменяем для ваших нужд, поэтому вам не нужно писать новый: A /etc/mini_x/session Файл, как это может сделать трюк:

# start any apps here, e.g. "my-desktop &"
exec metacity

Переход от этого (работающий оконный менеджер) к "пригодной для использования среде" все еще может быть очень трудоемким, в зависимости от вашего определения пригодности для использования.

Другие вопросы по тегам