Нужно ли окну для существования графическое окружение?
Это мой довольно странный вопрос, поэтому я постараюсь объяснить как можно лучше..
В дистрибутиве 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.