OberonCore
https://forum.oberoncore.ru/

headless-сборка для Windows (Linux).
https://forum.oberoncore.ru/viewtopic.php?f=114&t=4638
Страница 1 из 1

Автор:  Пётр Кушнир [ Пятница, 22 Ноябрь, 2013 20:44 ]
Заголовок сообщения:  headless-сборка для Windows (Linux).

Уважаемые коллеги, я смутно припоминаю, что кто-то делал сборку с модификацией хоста, вырезав gui-часть, но оставив остальной фреймворк полноценно работающим, то есть внутри работали Actions, крутился главный цикл и тому подобное.
По форуму не нашел.
Если таковой нет, предлагаю здесь её обсудить/реализовать. В частности, обсудить идею реализации blackbox-daemon :)

Автор:  Иван Денисов [ Суббота, 23 Ноябрь, 2013 05:04 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Не вызывай Views, Ports, Printers и подправь на этот счет Init и будет сборка без GUI... Но при этом TextView нельзя использовать будет... и тебе для O3 скорее всего понадобилось, а он использует TextViews насколько помню.

Автор:  Пётр Кушнир [ Суббота, 23 Ноябрь, 2013 22:34 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Иван Денисов писал(а):
Не вызывай Views, Ports, Printers и подправь на этот счет Init и будет сборка без GUI... Но при этом TextView нельзя использовать будет... и тебе для O3 скорее всего понадобилось, а он использует TextViews насколько помню.

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

Автор:  Пётр Кушнир [ Вторник, 26 Ноябрь, 2013 20:02 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Первой проблемой построения безголовой сборки, является, внезапно, безголовость.
То есть, все имеющиеся абстрактные разъемы внутри платформонезависимой части ББ необходимо заменить хуками-пустышками или реализациями, которые опираются на отсутствие гуя (или даже консоли). Дело осложняется тем, что хуки по-умолчанию не видны в интерфейсах модулей, так как наследованы от Kernel.Hook.

Реализация абстрактных разъемов это полдела. Вторая половина дела - это правильный порядок установки этих разъемов, так как не все реализации имеют щадящий режим работы, как, например, Log.Hook, а некоторые модули почти сразу начинают использовать, например, службы запуска команд Dialog.Call и так далее.

Определившись с порядком установки хуков нас ждет ещё одна неприятность, невозможность удобной отладки без наличия средств вывода. На первом этапе может даже получиться так, что ядро даже не сможет загрузить модули реализации до конца из-за ошибок.

Автор:  Иван Денисов [ Среда, 27 Ноябрь, 2013 09:17 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

В линукс версии это проблема решена как-то, там вроде какая-то модификация не очень сложная в DevDebug. А вместо Log просто цепляется hook консольной версии Log. И тоже проблем нет.

Если хочешь, давай на основе линукс версии делать безгуйный BlackBox? Мне это инетресно. А для Windows версии толк какой?

Автор:  Иван Кузьмицкий [ Среда, 27 Ноябрь, 2013 11:31 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Вброшу свои пять копеек: а зачем зацикливаться вообще на какой-то ОС? Надо иметь возможность легко переключаться с платформы на платформу, совершенно не обращая внимания на то, что под ББ - линукс, винда или вообще, нечто на ARMе :)

Автор:  Alexander Shiryaev [ Среда, 27 Ноябрь, 2013 14:24 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

См. здесь (_Windows_Interp, _Windows_).

dev0.exe -- консольный BlackBox с упакованным компилятором и линкером.

Можно просто собрать консольный BlackBox скриптом build.odc, только надо взять файлы Init, Config, Host* из _Windows_Interp, _Windows_ и __Interp/Host (ну и ещё Cons, и Console из System)...

Автор:  Пётр Кушнир [ Среда, 27 Ноябрь, 2013 15:10 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Alexander Shiryaev писал(а):
См. здесь (_Windows_Interp, _Windows_).

Да, я постепенно изучаю вашу сборку.

Автор:  Пётр Кушнир [ Четверг, 28 Ноябрь, 2013 17:55 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Иван Кузьмицкий писал(а):
Вброшу свои пять копеек: а зачем зацикливаться вообще на какой-то ОС? Надо иметь возможность легко переключаться с платформы на платформу, совершенно не обращая внимания на то, что под ББ - линукс, винда или вообще, нечто на ARMе :)

Учитывая наличие вот таких технологий: http://habrahabr.ru/post/203966/
Зацикливаться - нет, не стоит.

Автор:  Пётр Кушнир [ Среда, 04 Декабрь, 2013 11:51 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Alexander Shiryaev писал(а):
См. здесь (_Windows_Interp, _Windows_).

dev0.exe -- консольный BlackBox с упакованным компилятором и линкером.

Можно просто собрать консольный BlackBox скриптом build.odc, только надо взять файлы Init, Config, Host* из _Windows_Interp, _Windows_ и __Interp/Host (ну и ещё Cons, и Console из System)...
Александр, а вы уже думали о дальнейшем развитии ББ (в частности, вашей консольной сборки)?



Если что, можно обсудить стратегию развития viewtopic.php?f=127&t=4654

Автор:  Роман М. [ Пятница, 06 Декабрь, 2013 01:02 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Пётр Кушнир писал(а):
Уважаемые коллеги, я смутно припоминаю, что кто-то делал сборку с модификацией хоста, вырезав gui-часть, но оставив остальной фреймворк полноценно работающим, то есть внутри работали Actions, крутился главный цикл и тому подобное.
По форуму не нашел.
Если таковой нет, предлагаю здесь её обсудить/реализовать. В частности, обсудить идею реализации blackbox-daemon :)

Каркас БлэкБокс исторически основан на идее Оберон ОС, то есть активно использует графический вывод на экран, интерактивно взаимодействуя с пользователем. Это включает вывод графических примитивов и текста.
Поэтому логично задать вопрос о перечне возможностей такой сборки. Ведь если таковая предоставлят какие-то сервисы, то посредством какого канала? По некоторому сетевому протоколу, через файлы, сокеты (IPC)?
По-моему, для без-GUI режима работы имеет смысл вообще отвязаться от совместимости с БлэкБокс.

Автор:  Info21 [ Пятница, 06 Декабрь, 2013 08:37 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Роман М. писал(а):
По-моему, для без-GUI режима работы имеет смысл вообще отвязаться от совместимости с БлэкБокс.
Это с какой стати-то.

Автор:  Пётр Кушнир [ Пятница, 06 Декабрь, 2013 09:50 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Роман М. писал(а):
По-моему, для без-GUI режима работы имеет смысл вообще отвязаться от совместимости с БлэкБокс.
Мне кажется в силу своей консервативности интерфейс стандартных подсистем ББ, который не менялся уже лет 10 (а значит - он полноценный), является вполне себе надежным выбором для построения и безголовых компонентов. Вот О3 waf прекрасен в этом плане.
В целом, я предполагаю, что если написать вебконсоль управления этим безголовым ББ, то получится норм.

Автор:  Info21 [ Пятница, 06 Декабрь, 2013 21:04 ]
Заголовок сообщения:  Re: headless-сборка для Windows (Linux).

Пётр Кушнир писал(а):
если написать вебконсоль управления этим безголовым ББ, то получится норм.
Наверное, подразумевается, что остается полноценное управление с удаленной ГУЙ-ной станции.

А вебконсоль ограничится минимумом неотложно-оперативных средств.

Во всяком случае это естественное промежуточное состояние.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/