Linux: почему консоль, а не графический интерфейс?

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

В консоли (текстовом интерфейсе) вся информация выводится последовательно и построчно и может быть ОДНОЗНАЧНО и гарантированно воспринята умеющим читать пользователем. В случае с графическим интерфейсом наблюдаются такие проблемы, как:

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

Наглядный пример — скрипт Winetricks для установки дополнительных компонентов в Wine. Это консольный скрипт, который имеет дополнительный режим работы в графическом интерфейсе через Zenity

Если запустить Zenity в графическом режиме, то можно выбрать, какие компоненты установить. Однако их же можно устанвоить, передав их список в виде аргументов командной строки, перечислив через пробел:
winetricks adobeair mfc40 (adobeair mfc40 лишь для примера).

В графическом режиме Zenity запускает консольные команды (например, для скачивания файла, а потом для его распаковки, то есть установки), пошаговый лог работы которых виден в консоли, читает вывод коноли и на основе вывода принимает решение о выводе того или иного сообщения пользователю. Таким образом, вся поступающая пользователю информация фильтруется и поступает только та, для вывода которой разработчики графического интерфейса Zenity предусмотрели возможность ее «вычисления» в информационном потоке консоли. На скриншоет выше ошибка, и очень четко видно, что произошло. Графические инетрфейсы не дают такого понимания происходящего.

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

Разумеется, важность графических интерфейсов не отрицается.

Отправить ответ

avatar
  Subscribe  
Сообщать по почте