🖥 GUI, TUI и CLI: поговорим про способы вывода информации в Linux (и не только) 🖥



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



1️⃣ GUI (Graphical User Interface)



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



2️⃣ CLI (Command Line Interface)



Это программа в командной строке, которая читает вводимые команды и выполняет запрошенные действия. В целом, любая программа, которой можно пользоваться через команды из терминала, попадает в эту категорию. У старых компьютеров не было мыши или других манипуляторов для управления операционной системой. Всё взаимодействие выполнялось через текстовый ввод и вывод, т. е. через CLI. У командной строки есть свои преимущества, особенно если речь идёт о настройке Linux на глубинном уровне: поднятии сетевого брандмауэра, организации локальной сети или даже управлении пакетами. Со всеми этими вопросами можно разобраться и с помощью GUI-программ, но CLI даёт более прямой и прицельный доступ к операционной системе. В любом случае, работа GUI-приложений также основана на обращении к ОС с помощью команд (которые прописаны в их программном коде). Многие известные утилиты с GUI представляют из себя графическую обёртку для инструментов CLI.



3️⃣ TUI (Text-based User Interface)



Как было сказано выше, работа со старыми компьютерами была целиком основана на CLI. Однако некоторый ограниченный спектр возможностей GUI можно имитировать и в текстовом терминале. Это и будет TUI: в отличие от интерфейса командной строки, в нём представлено больше виджетов и доступно управление как и с клавиатуры, так и с помощью мыши. TUI – это сокращение для text-based user interface (текстовый пользовательский интерфейс) или terminal user interface (терминальный пользовательский интерфейс). Слово "текстовый" в этом словосочетании означает, что всё показанное на экране, в сущности, представляет собой большой текст – набор символов, с помощью которого имитируются различные элементы управления, а слово "терминальный" – что обратиться к этому интерфейсу возможно только из терминала. TUI-приложения не так популярны, как GUI и CLI, но примеров можно найти множество. Так, к этой категории относятся текстовые браузеры и текстовые игры. Программы с TUI часто относят в категорию CLI, поскольку их интерфейс доступен только из текстовой консоли.



🏁 Несомненно, графические интерфейсы сейчас очень популярны, но стоит помнить, что вся суть работы графического интерфейса состоит в том, чтобы не показывать ранимому юзверю, что на самом деле происходит под капотом, когда он тычет кнопки и передвигает ползунки. Как известно, во многих знаниях многие печали. Напишите в комментариях, каким видом интерфейса пользуетесь чаще всего вы и почему?