Jump to content

    
Sign in to follow this  
jenya7

Linux без GUI

Recommended Posts

 

18 minutes ago, jenya7 said:

мне важно понять принцип. :)

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

Вот такая аналогия.
Сейчас вы со своей платкой возитесь, как с питомцем - даёте ему имя, переживаете, как бы он не заболел, тратите кучу времени, чтобы вылечить его, если он заболел.

В случае с виртуалкой, вы действуете как со скотом:
Вы его нумеруете. Если он заболел, то пристреливаете, и нумеруете нового.

Edited by one_eight_seven

Share this post


Link to post
Share on other sites
1 hour ago, one_eight_seven said:

 

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

Вот такая аналогия.
Сейчас вы со своей платкой возитесь, как с питомцем - даёте ему имя, переживаете, как бы он не заболел, тратите кучу времени, чтобы вылечить его, если он заболел.

В случае с виртуалкой, вы действуете как со скотом:
Вы его умеруете. Если он заболел, то пристреливаете, и нумеруете нового.

 

да это так. но я например игрался и что то там запорол. так потом просто переписал образ на карте и все. пару минут делов. и потом я против насилия над животными :)

Share this post


Link to post
Share on other sites

https://doc.qt.io/qt-5/embedded-linux.html

А теме сабжа - просто отключите старт сервера X11 (Xorg, Wayland или что там нынче на пях). Или возможно там Display / Login Manager стартует.

Share this post


Link to post
Share on other sites

Как отключить Х-сервер легко и красиво.

В Линуксе есть 6 конфигураций работы. Они называются runlevels.

3 runlevel и 5 runlevel отличаются тем, что в 5 Х-сервер работает, а в 3 нет. Иногда отчего-то вместо 5го используют 2-й.

Почитайте про runlevels и найдите какой вам подходит.
В нем и стартуйте свою систему.

 

Команда runlevel покажет вам какой runlevel активен.

On 4/6/2020 at 5:57 AM, jenya7 said:

не знаю такого способа. там все таки графическая оболочка.

Тем не менее это так. Когда хотят сделать графику без Х11 используют Qt

Share this post


Link to post
Share on other sites

есть ещё способ без иксов использовать SFML, вот SFML-Pi для raspberry pi, но я думаю и для orange он пойдёт, графика работает через "/dev/fb0". Embedded Qt кстати только в платной лицензии.

Edited by gridinp

Share this post


Link to post
Share on other sites
1 hour ago, aaarrr said:

Мир systemd в embedded лучше не допускать.

И в чём же конкретно противоречия? Или какие сложно преодолимые ограничения накладывает systemd?

Share this post


Link to post
Share on other sites
4 minutes ago, one_eight_seven said:

И в чём же конкретно противоречия? Или какие сложно преодолимые ограничения накладывает systemd?

В случае сферического "Linux без GUI", с вероятностью 99% один только systemd со своими зависимостями будет весить больше всего остального вместе взятого.

И главный вопрос: зачем он нужен? Какие сложно преодолимые задачи позволяет решить?

Share this post


Link to post
Share on other sites

Да, собственно, те, для которых он и сделан - управление сервисами. Особенно, если система динамическая, с подключениями-отключениями устройств, клиентов и т.п.

Бинарные логи опять же - весьма неплохо для отладки собственных сервисов. Кроме того, то, что это огномный монлолит, отжирающий кучу ресурсов - это миф, не имеющий ничего общего с действительностью.

Если всё, что нужно - это только запустить демона, и всё... больше потом с ним ничего не делать, то тут, да, старый init - будет лучше.
Но это не embedded, это подмножество embedded'а, в котором init справляется.

Share this post


Link to post
Share on other sites
2 минуты назад, aaarrr сказал:

И главный вопрос: зачем он нужен? Какие сложно преодолимые задачи позволяет решить?

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

Поэтому куда интереснее вопрос не как отказаться от systemd в embedded-решениях, а как его оптимизировать для оптимизации по ресурсам и зависимостям.

5 минут назад, one_eight_seven сказал:

Кроме того, то, что это огномный монлолит, отжирающий кучу ресурсов - это миф, не имеющий ничего общего с действительностью.

Между тем памяти он жрёт довольно прилично и init ее потребляет заметно меньше. Цифр сейчас дать не смогу, но разница была где-то на порядок. Т.е. init в пределах 6-9 МБ, а systemd 20 с лишним.

Share this post


Link to post
Share on other sites
21 minutes ago, makc said:

Между тем памяти он жрёт довольно прилично и init ее потребляет заметно меньше. Цифр сейчас дать не смогу, но разница была где-то на порядок. Т.е. init в пределах 6-9 МБ, а systemd 20 с лишним.

Так инит и делает "ничего". Если нужно именно делать "ничего", то я выше написал, что init вполне может оказаться лучше. Но обобщать-то зачем? (обобщали не вы, а выше по комментариям).

Сейчас запустил top у себя на сервере. 8 МБ оперативы взял себе systemd. CentOS7.

Edited by one_eight_seven

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this