Разработка приложения с графическим интерфейсом для CLI Ubuntu Server

Мне нужно иметь возможность отображать свой графический интерфейс на экране, но я не совсем уверен, как это сделать, учитывая, что я нахожусь в среде CLI. Я не хочу устанавливать Ubuntu-рабочий стол или что-то еще, мне не нужен весь рабочий стол, только возможность рендеринга прямо на экран.

Я немного прочитал о X . Я предполагаю, что мне нужно сделать что-то, что реализует это. Есть ли ссылки, которые объясняют это? Я предполагаю, что язык низкого уровня (например, C) будет необходим, но, очевидно, я бы чувствовал себя более комфортно, если бы требовался язык более высокого уровня (например, Python).

Пожалуйста, дайте мне знать, я не могу найти что-либо в Google. Я не думаю, что я ищу правильную вещь, возможно, мне просто нужны изысканные поисковые термины.

Я разрабатываю приложение, которое хочу установить на одноплатный компьютер. Компьютер будет использоваться только для целей этого приложения, поэтому я не хочу тратить ресурсы на загрузку ubuntu-desktop или gnome только для того, чтобы я мог отобразить свое приложение. Я действительно просто не хочу лишних накладных расходов. Дайте мне знать, если это что-то изменит.

4
задан 1 March 2013 в 17:34

2 ответа

Если вы хотите создавать полноэкранные приложения без окон и использовать Python поверх C, у вас есть несколько вариантов:

Игровые движки : например, SDL [ 114] библиотека. Привязки Python существуют здесь . Приложения SDL работают поверх X, Wayland, Framebuffer, SVGALib и многого другого. Он предоставит вам полноэкранную графику, а для SOC вам понадобится только устройство с буфером кадров, например, когда вы видите талисман Linux во время загрузки, вы уже там. Однако, если вы имеете в виду некоторый продвинутый графический интерфейс, например, кабину современного автомобиля, он может использовать OpenGL для сглаживания. Для банкомата (банкомата), такого как GUI, в нем будут отсутствовать стандартные кнопки и поля, которые вы должны реализовать самостоятельно. Многие SDL-игры в репозиториях Ubuntu можно перекомпилировать для запуска в фрейм-буфере.

Установщики Linux : Debian-установщик использует инструментарий gtk + поверх устройства framebuffer , X не задействован. В вашем распоряжении будут все виджеты Gtk + и хорошая визуализация текста с pango , современная графика с сглаживанием с cairo . Привязки Python существуют. В дистрибутиве OpenSuse есть аналогичный установщик поверх QT .

Графика в текстовом режиме (TUI) : Если у вас есть только текстовый вывод с несколькими кнопками для рендеринга, рассмотрите возможность использования библиотеки ncurses . Это позволит вам текстовый пользовательский интерфейс с высокоуровневым API. Полночный командир - хороший пример. Привязки Python существуют.

Коммерческие торги : Если это профессиональный проект, можно использовать другие коммерческие наборы инструментов и операционные системы реального времени. См. Также этот и похожие теговые вопросы , даже без linux в Stack Overflow.

Полезные ключевые слова для поиска

  • библиотека графического интерфейса микроконтроллера
  • графика непосредственного режима
  • DirectFB
  • графика RTOS
  • ]
  • RTOS GUI Toolkit
  • Пользовательский Linux Gui
0
ответ дан 1 March 2013 в 17:34

Большинство пользователей, которые не устанавливают GUI, не хотят запускать приложения GUI. Существует множество вариантов установки графического интерфейса на сервере , и некоторые из них довольно легковесны. Вам не требуется целая среда рабочего стола для использования системы X Window. Установка X11 и оконного менеджера или, возможно, даже облегченной среды рабочего стола, вероятно, сделает то, что вам нужно.

Если вы учли это (включая часть о пользователях CLI, желающих запускать программы CLI), у вас, вероятно, есть замечательный, уникальный набор обстоятельств для желания сделать это. Если вы расширите свой вопрос, чтобы объяснить их, вы можете получить более полезные ответы.

Если вы действительно хотите заново изобрести лампочку и переопределить свой собственный графический интерфейс, комментарий аквахерда (который, я надеюсь, скоро станет ответом) объясняет основы того, как.

0
ответ дан 1 March 2013 в 17:34

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

Похожие вопросы: