Мои первые встречи с CLI (и компьютерами вообще) включали загрузку командной строки, обычно вставляя диск, и загрузку полноэкранной GUI-программы, которая не была оконной в том, что мы обычно видим сегодня как GUI-основанные ОС.
Это выглядело примерно так. Boot >> Prompt>> Load Rocky's Boots >>
Запустить Rocky's Boots >> Выйти >> Prompt
Я никогда не видел, чтобы такое происходило с системой на базе Unix / Linux, загружаясь непосредственно в графическую программу не в среде оконной ОС - только в программы на базе ascii, такие как Space Invaders или VIM. Существует ли возможность сделать вышеупомянутую DOS-подобную загрузку 8-битных графических программ (я подчеркиваю, не оконных в OSX или Unity или что-то еще)? Если нет, то почему это не так?
Ваш вопрос трудно понять полностью, но я так понимаю, вы спрашиваете, возможно ли в Linux запустить графическую программу из консоли текстового -режима без типичного (X -или Wayland -на основе )GUI.
Ответ на этот вопрос — да, и так всегда было (в Linux, по крайней мере ). Механизмы для этого менялись с годами. В настоящее время,программы, которые поддерживают этот тип функций, обычно делают это с помощью буфера кадра, также известного как fbdev
, часто с использованием библиотеки с именем libdirectfb
. Примеры включают VLC и mplayer, поэтому вы можете воспроизводить видео без запуска сервера X или Wayland. X и Wayland также являются примерами, и они также поддерживают fbdev
, но обычно используют другие механизмы (KMS с DRM или специальные драйверы ).
В прошлом многие игры поддерживали это с помощью библиотеки под названием SVGAlib, но она уже давно не поддерживается. Примеры этого включают Doom, Quake, Abuse...
Да, есть программы, которые (исторически )работали так на *nix-системах.
Два хороших примера, которые приходят мне в голову, — это оригинальное классическое землетрясение, (которому 20 с лишним лет, и которое до сих пор хреново! ),и, конечно же, система X windows.
Первый довольно очевиден -он работал таким образом в системах DOS, а с *nix вы могли выполнять программный рендеринг и использовать двоичный файл SVGALIB, и вы могли запускать игру из чистой системы командной строки, просто как вы описываете в своем вопросе. Нет необходимости в X-окнах.
Но что я сказал о системе X windows? Вы должны помнить, что X НЕ является частью операционной системы, это (в основном )пользовательское -наземное приложение само по себе. Если вы запустите X-сервер и не скажете ему запрашивать сервер входа в систему (, то есть удаленный ящик через XDMCP или даже локальный компьютер )для запуска/отображения менеджера дисплея/логина/приветствия, вы получите просто серый экран с заштрихованным курсором. Можно даже настроить графическое приложение для использования этого окна корневого уровня (самого первого «окна» )в качестве его отображения, и без запущенного оконного менеджера вы не получите кнопки закрытия/свертывания/разворачивания, возможно, нет полос прокрутки, строки заголовка, которую можно было бы захватить и перетащить, и т. д. Системы киосков, системы торговых точек и т. д., как правило, делают это. Не совсем то, на что вы ссылаетесь в своем вопросе (Quake, хотя и... ), но очень похоже на поведение.