Приложение с графическим интерфейсом под linux

Содержание
  1. Создание графических приложений
  2. Цилюрик О.И.
  3. Графические интерфейсы Linux
  4. Budgie — графическая оболочка
  5. Cinnamon — среда рабочего стола
  6. Enlightenment
  7. GNOME — среда рабочего стола
  8. KDE (Plasma) — среда рабочего стола
  9. LXDE — lightweight desktop environment
  10. LXQt — легковесная среда рабочего стола
  11. MATE — продолжение развития классического Gnome
  12. Openbox — быстрый оконный менеджер
  13. Window Maker
  14. запуск приложений с графическим интерфейсом Linux на подсистема Windows для Linux (предварительная версия)
  15. Установка поддержки для приложений с графическим интерфейсом Linux
  16. Предварительные требования
  17. Новая установка — нет предыдущей установки WSL
  18. Существующая установка WSL
  19. Запуск приложений с графическим пользовательским интерфейсом Linux
  20. Обновление пакетов в дистрибутиве
  21. Установка Gedit
  22. Установка ГИМП
  23. Установка Наутилус
  24. Установка Влк
  25. Установка приложений X11
  26. Установка Google Chrome для Linux
  27. установка Microsoft Teams для Linux
  28. установка обозревателя Microsoft Edge для Linux

Создание графических приложений

Цилюрик О.И.

Настоящая статья является дополнением к книге «Инструменты Linux для Windows-программистов». Это не описание как делать GUI приложения в Linux, это описание того, как ПРИСТУПИТЬ к созданию графических приложений в Linux, и, хотелось бы надеяться что это прозвучит — чем принципиально программирование графики в Linux отличается от того же занятия в Windows. Главным требованием здесь была простота. Сделав простейший шаблон GUI прложения, дальше двигаться уже гораздо проще. Кроме того, все эти простейшие приёмы программирования показаны сравнительно: на основе основных графических технологий (библиотек), используемых в UNIX.

Все примеры к тексту вы можете скачать в виде общего архива.

Создание приложений, взаимодействующих с пользователем посредством графического интерфейса (GUI приложений), является частным классом задач, отдельной областью программирования. Из числа других подобных областей приложения можно было бы привести, как примеры:

  • реализация алгоритмов цифровой обработки сигналов (DSP): быстрые спектральные преобразования (FFT и другие), вэйвлеты, авторегрессионные разложения. ;
  • обработка аудио-потоков (пакеты: sox, ogg, speex и другие);
  • задачи IP-телефонии, SIP протокола, реализация разнообразных программных SoftSwitch;

Это сравнительный ряд автономных областей развития приведен как пример таких частных классов, одним из которых является и разработка GUI приложений. И как частный класс, со своей спецификой инструментов и средств, он не заслуживал бы отдельного упоминания, если бы не одно обстоятельство — принципиально отличающееся, диаметрально противоположное отношение к GUI в операционных системах семейства Windows и в UNIX (и в Linux, как его частный вид):

  • В Windows каждое приложение является принципиально GUI, неотъемлемым атрибутом любого приложения в Win32 API (низкого уровня) является главное окно приложения, уже само приложение «вяжется» вокруг его главного окна. Операционная система регистрирует классы окон и уже далее к ним соотносит конкретные приложения. Не может существовать приложения (взаимодействующего с пользователем, не системные службы) без окна, с этим были связаны и первоначальные сложности Windows в реализации консольных (терминальных) приложений.
  • в UNIX картина принципиально обратная: первичным является приложение, которое, по умолчанию, является консольным, текстовым, вся графическая система не является составной частью операционной системы, а является надстройкой пользовательского уровня. Чаще всего такой графической надстройкой является X11 (в реализации Xorg или X11R5), но и это не обязательно: практиковались и другие графические системы, хороший пример тому графические системы Qwindow, а затем Photon в операционной системе QNX, сосуществующие там одновременно с X11.
  • Показательно в этом смысле то, что вся оригинальная часть реализации X11 работает в пространстве пользователя, не в привилегированном режиме ядра (супервизора): работа с аппаратурой видеоадаптеров, устройствами ввода и другое. Отдельные реализации (видеосистемы NVIDIA или ATI Radeon) могут быть реализованы в режиме ядра (модули), но это а) сторонние относительно X11 разработки, и б) решение вопросов только производительности.
Читайте также:  Антивирусные системы для linux

Из-за обозначенной специфики, разработка GUI приложений в UNIX (Linux) принципиально отличается:

  • вся работа GUI приложений ведётся через промежуточные слои (библиотеки) пользовательского уровня;
  • из-за того, что это ординарный пользовательский уровень, для разработчика предлагается широкий спектр альтернативных инструментов (библиотек), практически равнозначных, и конкурирующих друг с другом: Xlib, GTK+, Qt, wxWorks и многие другие.
  • базовый API работы с X11 предоставляет Xlib, все другие используют уже её функционал, как это показано на рисунке.

  • разработчик имеет возможность широкого выбора тех уровня и инструментов, которые он предполагает использовать, начиная от Xlib и выше (хотя уровень Xlib и слишком низок и работа с ним громоздкая).

Из-за названной специфики GUI приложений в Linux, все они, независимо от используемых средств создания, имеют абсолютно сходную структуру. Рассмотрим, для сравнения, код нескольких простейших GUI приложений, подготовленных с помощью различных инструментов. Важнейшей задачей такой экспозиции будут команды компиляции и сборки, чтобы, исходя из таких примеров, показать возможность начать создавать свои собственные GUI приложения.

Средства Xlib (архив Xlib.tgz ):

Средства GTK+ (архив GTK+.tgz ):

$ gcc gtk.c -o gtk `pkg-config —cflags —libs gtk+-2.0`

Средства Qt (архив Qt.tgz ):

Средства Qt предполагают написание приложений на языке С++, и имеют развитый инструментарий, в частности, построения сценария сборки приложения. Создадим в рабочем каталоге (изначально пустом) файл исходного кода приложения с произвольным именем:

Теперь проделываем последовательно:

Исходя из «подручных» файлов исходных кодов, у нас сгенерировался файл проекта и, далее, сценарий сборки ( Makefile ). Далее проделываем традиционную сборку, а заодно и посмотрим опции компиляции и сборки, которые нам сгенерировал проект:

g++ -c -pipe -Wall -W -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector —param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables

g++ -o Qt index.o -L/usr/lib/qt-3.3/lib -lqt-mt -lXext -lX11 -lm

index.cc index.o Makefile Qt Qt.pro

Средства wxWidgets (архив wxWidgets.tgz):

$ g++ simple.cc `wx-config —cxxflags` `wx-config —libs` -o simple

Средства GLUT (архив glut.tgz):

OpenGL Utility Toolkit, как и следует из названия, это средства использования технологии OpenGL в приложениях, которая требует определённой поддержки со стороны видео оборудования.

$ gcc glut.c -o glut -lX11 -lglut

То, что показано выше, это фактически не приложения, а скелеты приложений, но они позволяют: а) сравнить подобие всех GUI технологий в X11, и б) быть отправной точкой для сборки более содержательных GUI приложений. Показано только несколько GUI технологий, применяемых в X11 (большинство из них являются кросс-платформенными, и применимы в большинстве существующих операционных систем). Каждая из этих технологий, а названы только немногие из значительно большего числа, присутствующих в UNIX, могут быть полной альтернативой любой другой из этого же ряда, они взаимно заменимы, и даже взаимно дополняемые.

В данной статье были показаны образцы кода GUI приложений. Естественно, визуальные образы таких приложений строятся не путём непосредственного кодирования, а при использовании некоторых визуальных построителей, в составе тех или иных интегрированных средств разработки (IDE).

Источник

Графические интерфейсы Linux

В данном разделе сайта публикуется информация о графических интерфейсах операционной системы Linux. Интерфейсы разделены на две группы: среды рабочего стола и оконные менеджеры.

Среда рабочего стола Linux (Desktop Environment) — это комплексная готовая к работе оболочка. Обычно среда рабочего стола включает панель задач, функциональные меню, менеджер входа в систему, программы настройки, базовые программы и другие функциональные элементы, включая оконный менеджер.

Оконный менеджер Linux (Window Manager) — это программа, которая занимается отрисовкой окон, позволяет перемещать и изменять размер окна, обрабатывает действия пользователя, которые он делает в окне программы. Оконный менеджер может работать независимо или быть в составе среды рабочего стола.

Читайте также:  Updating windows from microsoft

Budgie — графическая оболочка

Budgie — графическая оболочка, которая была написана с нуля, но использует технологии GNOME.

Cinnamon — среда рабочего стола

Cinnamon — самостоятельная среда рабочего стола, являющаяся ответвлением от Gnome 3, но имеющая дизайн в стиле классического Gnome.

Enlightenment

Enlightenment (или просто E) — легковесный оконный менеджер (пользовательское окружение) не требовательный к ресурсам компьютера, потребляет очень мало оперативной памяти.

GNOME — среда рабочего стола

GNOME (GNU Network Object Model Environment) — популярная среда рабочего стола для Linux. Включает в себя набор утилит для настройки среды, прикладное программное обеспечение, системные утилиты и другие компоненты.

KDE (Plasma) — среда рабочего стола

KDE — полнофункциональная среда рабочего стола. В рамках проекта KDE разрабатывается большое количество приложений для повседневных нужд. KDE использует библиотеки Qt.

LXDE — lightweight desktop environment

LXDE (Lightweight X11 Desktop Environment) — быстрая легковесная среда рабочего стола, не требовательная к ресурсам компьютера. В качестве оконного менеджера используется Openbox. Окна и меню открываются без задержек, интерфейс отзывчивый и не вызывает раздражения.

LXQt — легковесная среда рабочего стола

LXQt — легковесная среда рабочего стола, использующая библиотеки (фреймворк) Qt.

MATE — продолжение развития классического Gnome

MATE — среда рабочего стола, которая является продолжением развития Gnome 2. MATE является сбалансированной средой с хорошим набором программ и утилит и приятным классическим интерфейсом.

Openbox — быстрый оконный менеджер

Openbox — легковесный оконный менеджер с простым минималистским интерфейсом. Данный оконный менеджер не требователен к системным ресурсам и работает очень быстро. При клике правой кнопкой мыши вызывается главное меню Openbox, через которое можно вызывать любые программы. Openbox хорошо настраивается и поддерживает темы оформления.

Window Maker

Window Maker — менеджер окон для Linux. Главными элементами интерфеса в Window Maker являются функциональные кнопки на рабочем столе и меню, вызываемое при клике правой кнопкой мыши по рабочему столу. Работает быстро, хорошо настраивается.

Источник

запуск приложений с графическим интерфейсом Linux на подсистема Windows для Linux (предварительная версия)

теперь можно предварительно просмотреть подсистема Windows для Linux поддержку для запуска приложений с графическим пользовательским интерфейсом Linux (X11 и вайланд) на Windows в полностью интегрированном рабочем столе.

WSL 2 позволяет приложениям с графическим интерфейсом Linux работать в собственном и естественном виде для Windows.

  • запуск приложений Linux из Windows меню
  • закрепление приложений Linux на панели задач Windows
  • используйте alt-tab для переключения между приложениями Linux и Windows
  • вырезать и вставить в приложениях Windows и Linux

теперь вы можете интегрировать как Windows, так и приложения Linux в рабочий процесс для удобства работы с рабочим столом.

Установка поддержки для приложений с графическим интерфейсом Linux

Предварительные требования

чтобы получить доступ к этой функции, необходимо включить Windows 11 сборки 22000 или более поздней версии . вы можете присоединиться к программе «предварительные оценки» Windows , чтобы получить последние предварительные сборки.

Установленный драйвер для GPU

Чтобы запустить приложения для графического пользовательского интерфейса Linux, сначала необходимо установить драйвер предварительной версии, соответствующий вашей системе. Это позволит использовать виртуальный графический процессор (GPU), чтобы можно было воспользоваться преимуществами визуализации OpenGL с аппаратным ускорением.

Новая установка — нет предыдущей установки WSL

Установите WSL и настройте имя пользователя и пароль для дистрибутива Linux, если вы еще этого не сделали.

Читайте также:  Как установить кодеки для windows movie maker

Откройте окно командной строки с правами администратора.

нажмите кнопку пуск, введите PowerShell, щелкните правой кнопкой мыши Windows PowerShell, а затем выберите запуск от имени администратора.

Выполните эту команду и перезагрузите компьютер при появлении запроса:

После завершения перезагрузки компьютера установка продолжится, и вам будет предложено ввести имя пользователя и пароль. Это будут учетные данные Linux для дистрибутива Ubuntu.

Теперь вы готовы приступить к использованию приложений с графическим интерфейсом Linux на WSL!

Существующая установка WSL

Если на компьютере уже установлен WSL, можно выполнить обновление до последней версии, которая включает поддержку графического пользовательского интерфейса Linux, выполнив команду Update из командной строки с повышенными привилегиями.

нажмите кнопку пуск, введите PowerShell, щелкните правой кнопкой мыши Windows PowerShell, а затем выберите запуск от имени администратора.

Введите команду WSL Update:

Чтобы обновление вступило в силу, необходимо перезапустить WSL. Вы можете перезапустить WSL, выполнив команду shutdown в PowerShell.

Приложения с графическим интерфейсом Linux поддерживаются только с WSL 2 и не будут работать с дистрибутивом Linux, настроенным для WSL 1. Узнайте , как изменить дистрибутив с WSL 1 на WSL 2.

Запуск приложений с графическим пользовательским интерфейсом Linux

Для загрузки и установки популярных приложений Linux можно выполнить следующие команды в терминале Linux. При использовании другого дистрибутива, отличного от Ubuntu, он может использовать диспетчер пакетов, отличный от apt. После установки приложения Linux его можно найти в меню » Пуск » под именем распространения. Например: Ubuntu -> Microsoft Edge .

Обновление пакетов в дистрибутиве

Установка Gedit

Gedit является текстовым редактором по умолчанию среды GNOME Desktop.

Чтобы запустить файл bashrc в редакторе, введите: gedit

Установка ГИМП

ГИМП — это свободный графический редактор с открытым исходным кодом, который используется для обработки изображений и редактирования изображений, рисования произвольной формы, перекодирования между различными форматами файлов изображений и более специализированных задач.

Для запуска введите: gimp

Установка Наутилус

Наутилус, также известные как файлы GNOME, — это диспетчер файлов для рабочего стола GNOME. (одинаковые в Windows Explorer).

Для запуска введите: nautilus

Установка Влк

Влк — это бесплатный мультимедийный проигрыватель и платформа с открытым исходным кодом, который воспроизводит большинство мультимедийных файлов.

Для запуска введите: vlc

Установка приложений X11

X11 — это система окон Linux, которая представляет собой набор приложений и средств, поставляемых с ней, таких как ксклокк, кскалк калькулятор, ксклипбоард для вырезания и вставки, Ксев для тестирования событий и т. д. Дополнительные сведения см. в документации по x.org .

Для запуска введите имя инструмента, который вы хотите использовать. Вот несколько примеров.

Установка Google Chrome для Linux

Чтобы установить Google Chrome для Linux, выполните следующие действия.

  1. Измените каталоги во временную папку: cd /tmp
  2. Используйте wget, чтобы скачать его: sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  3. Получить текущую стабильную версию: sudo dpkg -i google-chrome-stable_current_amd64.deb
  4. Исправьте пакет: sudo apt install —fix-broken -y
  5. Настройте пакет: sudo dpkg -i google-chrome-stable_current_amd64.deb

Для запуска введите: google-chrome

установка Microsoft Teams для Linux

установка Microsoft Teams для Linux:

  1. Измените каталоги во временную папку: cd /tmp
  2. Используйте фигурную скобку для скачивания пакета: sudo curl -L -o «./teams.deb» «https://teams.microsoft.com/downloads/desktopurl?env=production&plat=linux&arch=x64&download=true&linuxArchiveType=deb»
  3. Для установки используйте apt: sudo apt install ./teams.deb -y

Для запуска введите: teams

установка обозревателя Microsoft Edge для Linux

сведения о том, как установить браузер Microsoft Edge для Linux, можно найти с помощью командной строки на сайте предварительнойверсии. Выберите получить инструкции в разделе Установка командной строки на странице.

Источник

Оцените статью