Нужно ли окну для существования графическое окружение?

Это мой довольно странный вопрос, поэтому я постараюсь объяснить как можно лучше..

В дистрибутиве Linux DOS, если я не установлю графическое окружение, если я запусту приложение с графическим интерфейсом, смогу ли я взаимодействовать с этим окном через код?

Я подумал, что если роль KDE/GNOME заключается в графическом представлении существующего графического интерфейса, я должен иметь возможность взаимодействовать с ним, но если эти графические среды играют активную роль в создании окна, то я ничего не могу сделать..

Я думаю, что вопрос можно синтезировать следующим образом: "Нужно ли окну, чтобы существовать, графическая среда?"

Спасибо за ваше время и извините за мой плохой английский!

1 ответ

Решение

Вы не сможете запустить графическую программу без оконного менеджера.

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

Единственное исключение - если программа содержит весь встроенный в нее графический код и не использует оконный менеджер. Реально это может произойти только для довольно простой программы и в особых случаях; Например, Raspbian включает OMXPlayer, который показывает полноэкранное видео без использования какого-либо оконного менеджера.

Цитата (с некоторой адаптацией) из /questions/34595847/t-sql-udalit-desyatichnuyu-tochku-iz-tipa-dannyih-money/34595876#34595876, которая отвечает, как запустить mplayer в X11 без оконного менеджера:

X-сервер действительно обычно называется Xи можно просто запустить. Вы можете установить номер DISPLAY в качестве аргумента вместе с некоторыми другими вещами.

Однако вы можете захотеть провести какой-то сеанс и все же пройти xinit или что-то подобное и начинайте X с startx. Вы можете использовать.xinitrcили типа скрипта и просто не запускать там оконный менеджер. Вам понадобится "волшебный клиент" в качестве последней оставшейся команды, чтобы X не завершился немедленно. В традиционном "отказоустойчивом" сеансе это было xterm. Если вы знаете, что запускать и запускать только один раз, это может быть эта программа или любой пользовательский интерфейс / оболочка, которая запускает за вас. Когда завершается последний ("волшебный") клиент в сценарии инициализации, X завершается.

Если все, что вам нужно, это воспроизвести видео, вы можете посмотреть, сможете ли вы запустить mplayer с directfb вместо этого и полностью отказаться от использования X11.

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