Знаете, что общего между GUI и стояночным тормозом на автомобиле? Их наличие упорно игнорируют матёрые юзеры. Но если бывалому водителю легко трогаться под уклон только с педали тормоза, то новичку ручник будет очень кстати. Точно такая ситуация с графическими оболочками для серверов. 

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

От командной строки до графической оболочки: путь интерфейсов за полвека

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

Когда администратора попросили поставить графический интерфейс на сервер
Когда администратора попросили поставить графический интерфейс на сервер

Графический пользовательский интерфейс (от англ. — graphical user interface, GUI) — графическая оболочка с оконным менеджером, позволяющая запускать приложения без работы с консолью.

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

Вот как это было:

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

  • 1981 — Xerox выпускает Star 8010, которая становится первой коммерческой информационной системой с внедрёнными элементами графического интерфейса. В это же время выходит MS-DOS, которая в дальнейшем станет основой для ранних версий Windows, представляющих первые GUI, запущенных поверх командной строки.

  • 1983 — Apple выпускает первый персональный компьютер Lisa с полноценным графическим интерфейсом. 

  • 1985 — Microsoft презентует Windows 1.0 как расширение MS-DOS. Первая Windows имела мозаичную структуру, которая оказалась неудобной для пользователей. Позже Microsoft скопируют режим окон у Apple и выпустят Windows 2.0, что станет причиной затяжных судебных разбирательств, тормозящих развитие GUI. 

  • 1987 — появляется стандарт X Window System, который определил базовые функции для графической среды. X Window впервые программно разделил сервер и клиент, что позволило реализовать графический интерфейс для управления другим компьютером по сети через удалённый доступ. 

  • 1992 — Linux получает поддержку TCP/IP, которая позволила импортировать X Window. Этот момент считается зарождением GUI в Linux. 

  • 1995 — выходят Windows 95 и графическая среда KDE для Linux. Функциональность и юзабилити программ примерно на одном уровне, KDE внешне напоминала Windows.  

  • 1999 — появляется графическая среда GNOME Linux, главный конкурент KDE. Визуально GNOME полностью отличалась от KDE — с этого момента GUI для Linux перестали быть похожими на импорт оконного менеджера из Windows. 

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

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

Историческая битва — кто кого: CLI vs GUI

Интерфейс командной строки (CLI) — способ общения с компьютером с помощью командной строки. Такой подход появился раньше графических интерфейсов и считается более трушным инструментом для администратора, но всё не так однозначно. В графических оболочках тоже есть свои плюшки — разберёмся, в чём основные плюсы и минусы. 

За — GUI удобнее, чем консоль

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

Наш конфигуратор: здесь можно найти панель под любую ОС
Наш конфигуратор: здесь можно найти панель под любую ОС

На сайте RUVDS можно оформить лицензию на панель ispmanager 6 Lite всего за 200 рублей в месяц при заказе любого сервера на ОС Ubuntu, Debian и CentOS 7. Это удобная панель управления, в которой объединены графический интерфейс и командная строка. Подойдёт как для профи, так и начинающих администраторов. 

Панель ispmanager. Здесь есть и CLI, и GUI
Панель ispmanager. Здесь есть и CLI, и GUI

За — лучше подходит для многозадачности

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

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

Фактически из преимуществ GUI появляются и недостатки, которых нет у CLI: нагрузка на сервер и более низкий порог безопасности, определяемый человеческим фактором.

Против — GUI расходует ресурсы сервера 

GUI не подходит для установки на слабые машины — вместо полезной нагрузки графический UI использует мощности сервера для комфортной работы оператора. Как возможное решение — использование многочисленных легковесных графических оболочек вроде LXDE, Xfce и других вместо тяжеловесных KDE или Gnome.

Пример легковесной графической  оболочки
Пример легковесной графической оболочки

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

Против — больше бэкдоров из-за человеческого фактора

Отход от точных инструкций в угоду пользовательской доступности снижает безопасность системы. Обеспечить безопасность графического UI сложнее, чем консольного интерфейса. Ярким примером более слабой защищённости графических оболочек стала история вируса ILOVEYOU в 2000 году. 

В 2000 году вирус заразил более 50 миллионов компьютеров за 10 дней, это 10 % всех пользователей интернета на то время
В 2000 году вирус заразил более 50 миллионов компьютеров за 10 дней, это 10 % всех пользователей интернета на то время

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

Так что лучше — консоль для сервера или графический UI?

GUI считается логичным развитием интерфейсов после CLI. Исторически командная строка считается более функциональной и безопасной, чем графическая оболочка, а GUI — более удобным и лёгким для пользователей. Для работы с CLI важно знать команды и разбираться в синтаксисе, а для графической оболочки — нужны свободные ресурсы сервера. Оптимальный вариант — софт, совмещающий возможности CLI и GUI. Например, панели управления. 

Наши партнёры из ispmanager разрабатывают панель управления, в которой объединены графическая оболочка и командная строка. Инструментарий панели позволяет работать с графическим интерфейсом на серверах с KVM виртуализацией и даже VNC, на которых поставить GUI напрямую невозможно. 

Панель управления ispmanager. Все элементы в GUI информативны и интуитивно понятны, но при желании всё можно сделать и в CLI
Панель управления ispmanager. Все элементы в GUI информативны и интуитивно понятны, но при желании всё можно сделать и в CLI

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

Если устали от командной строки, попробуйте ispmanager.

Комментарии (45)


  1. garwall
    08.08.2023 13:04
    +4

    Хм, в двацатых годах двадцать первого века смысл графической оболочки на сервере исчезающе мал. Для винды есть RSAT, для линукса - горка приблуд, начиная с анзибля..


    1. DaemonGloom
      08.08.2023 13:04

      RSAT — штука хорошая, ага. Пока не пробуешь на сервер с IIS поставить через его удалённый менеджмент сертификат и не выясняешь, что "удалённо это нельзя, запускайте на самом сервере". И проблеме минимум 10 лет уже.
      https://serverfault.com/questions/426865/use-server-certificates-remotely-in-iis


  1. warus
    08.08.2023 13:04

    Быстрее и удобнее чем консоль для управления компом человечество ещё не изобрело.
    Любой ФМ в консоли mc, или проводник, ты вынужден искать нужный файл в длиннющем списке, в bash первые буквы набрал и ты уже нашёл, для так называемой "многозадачности" tmux изобрели, странно что хостер об этом не знает, поменять часто встречающейся параметр sed, найти grep ом, смотреть свежие ошибки tail. Консоль в администрировании может больше чем Gui и быстрее, удобнее. Gui хорош для создания Gui, рисования и работы с видео, но и этих случаях консоль никак не лишняя.


    1. Viacheslav01
      08.08.2023 13:04
      +10

      "bash первые буквы набрал и ты уже нашёл" это если знаешь, что искать )


      1. Fell-x27
        08.08.2023 13:04

        ls - l


    1. iig
      08.08.2023 13:04
      +12

      Быстрее и удобнее чем консоль для управления компом человечество ещё не изобрело.

      Особенно быстрее для редко выполняемых задач ;) Вынуть файл из архива и положить ровно в это место - вы для всех архиваторов все ключи помните? ;)


      1. warus
        08.08.2023 13:04

        для unzip да, а tar и остальное через mc (единственно для чего его использую)

        если бы не лень давно бы выучил, а так да костыль


      1. nikto_b
        08.08.2023 13:04

        Универсальный алиас в дюжину строк на сжатие/разжатие для разных архиваторов и все сводится к

        ex data.{tar*,zip,rar}


        1. iig
          08.08.2023 13:04

          А в mc, например, уже все костыли запилены ;)


    1. ColdPhoenix
      08.08.2023 13:04
      +3

      проводник, ты вынужден искать нужный файл в длиннющем списке, в bash первые буквы набрал и ты уже нашёл

      Хочу отметить, что в винде проводник проскролит при вводе букв(думаю не только там)


    1. Merzavets
      08.08.2023 13:04

      Так и во всех этих "Проводниках" и "Файндерах" точно так же -- нажимаешь буковки и попадаешь на нужный файл. Удивительно, что многие этого не знают -- и я не о "юзерах", а о профессионалах. В МС не знаю, а в FAR-e то же самое делается с нажатой клавишей Alt.


  1. Viacheslav01
    08.08.2023 13:04
    +5

    "Особенно сильно GUI нагружает серверы на базе семейства Linux, у которых в ОС нет предустановленной и стандартизированной графической оболочки, как в Windows."

    Я бы не обратил на это внимания если бы статья не была в RUVDS+ispmanager, вам самим не смешно это читать?


    1. editor_ruvds
      08.08.2023 13:04
      +1

      Спасибо за замечание. Подумаем, как исправить этот момент в тексте.


    1. randomsimplenumber
      08.08.2023 13:04
      +1

      Что это за вялый сервер, который не тянет GUI? ;)


      1. vanxant
        08.08.2023 13:04
        +3

        оверселлинг штука жестокая


        1. iig
          08.08.2023 13:04

          Что-то на менеджерском, не могу разобрать ;)


          1. vanxant
            08.08.2023 13:04
            +2

            Это когда вы продаёте 128 ядер и 256 рамы под виртуалки и потом запускаете это на 32 ядрах и 64 озу, в надежде, что все юзеры сразу одновременно утилизировать 100% не будут.


            1. iig
              08.08.2023 13:04

              Как правило, все одновременно на 100% не загружены.


              1. vanxant
                08.08.2023 13:04

                ... а потом наступает чёрная пятница или что-то похожее. И тады ой.


                1. iig
                  08.08.2023 13:04

                  Влияние наличия или отсутствия GUI на сервере и феномена черной пятницы пока не изучено ;)


      1. Viacheslav01
        08.08.2023 13:04

        Тут вопрос, какое отношение GUI OS имеет к веб морде контрольной панели сервера?


  1. insighter
    08.08.2023 13:04

    А можно сделать настройку и отключить панель, что бы не платить за неё каждый месяц?


    1. editor_ruvds
      08.08.2023 13:04
      +1

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


  1. mike66
    08.08.2023 13:04

    Если вы устали от командной строки

    Это как, пользовался ею N лет, привык ко всем удобным фичам и вдруг… устал ?

    или только начинаете её осваивать

    И как GUI может помочь освоить командную строку ?


    1. Dolios
      08.08.2023 13:04
      +2

      И как GUI может помочь освоить командную строку ?

      Гуглить через гуевый браузер удобнее, имхо :)


      1. mike66
        08.08.2023 13:04

        Так в чём проблема гуглить через браузер на клиенте ? Серверу-то это надобности иметь GUI не добавляет. За исключением случая если вы подключаетесь через последовательный порт старым терминалом с чёрно/зелёным элт монитором. )


        1. Dolios
          08.08.2023 13:04

          Так в чём проблема гуглить через браузер на клиенте ?

          Не спортивно..


  1. kekoz
    08.08.2023 13:04
    +5

    Вы бы сильно упростили жизнь и сэкономили кучу времени пользователями Хабра, если бы вначале таких (безграмотных и/или ложных) постов указывали «Ахтунг! Этот пост —рекламный!»

    GUI не только не является развитием CLI, они также не являются и альтернативами. Таким образом, в статье сравниваются член с пальцем.


    1. MTyrz
      08.08.2023 13:04
      +3

      если бы вначале таких… постов указывали «Ахтунг! Этот пост —рекламный!»
      Со всем моим уважением что к вам, что у рувдс: эта статья опубликована в корпоративном блоге. Она по умолчанию рекламная.

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


      1. VADemon
        08.08.2023 13:04
        +2

        И вот поэтому Хабр нынче находится в том месте, в котором находится.


        1. MTyrz
          08.08.2023 13:04
          +2

          Я полагаю, если вы можете предложить иную, лучшую схему монетизации ресурса — вас выслушают с чрезвычайным вниманием. А пока, увы, даже редакции Хабра фактор денег достаточно существенен, чтобы не отметать его с порога. Мир не идеален, это правда.


          1. VADemon
            08.08.2023 13:04
            +1

            С моделью монетизации согласен, а со вседозволенностью компанийных блогов нет. Но "Habr Blockchain Publishing Ltd." сами осознанно сделала такой выбор, как и найм "редакторов", некоторые из коих словосочетание IT, видимо, впервые увидело после выхода на работу. Поэтому выхолащивание пользовательской базы, которая, минуточку, была после создания многие годы уникальной по своим знаниям, неизбежно прогрессирует.

            Немного осталось авторов (из прежних), которые публикуются рядом с этим. Либо по старой привычке, либо потому что не озаботились хоть каким-то подобием собственного блога.


  1. den_rad
    08.08.2023 13:04

    Пользовался IspManager – классная вещь, если нет опыта в администрировании серверов, можно очень просто поднять виртуальный хост, получить SSL от Let's Encrpyt.
    Но опытному админу работать в консоли быстрее, можно быстро что-то развернуть через Ansible


    1. foobarbaz
      08.08.2023 13:04
      +2

      Когда у вас больше сотни аккаунтов на сервере, ispmanager очень окупает себя по трудозатратам.


      1. truthseeker
        08.08.2023 13:04
        +1

        У таких панелей беда с гибкостью. Есть несколько пресетов, к примеру связок из вариантов: сервер + php-обработчик, и немного настроек, что можно изменить у этой связки из панельки. Шаг в право от этого, шаг в лево — панель уже вас посылает куда подальше. К примеру, из интересного, попробуйте хомяк виртуального хоста мувнуть в другое место, а на старое место, где панелька ожидает видеть каталог, поместить симлинк на перемещённый вами каталог(к примеру, вы его из каталога /var/www/u1234567/data/www/example.com ранее мувнули в /var/www/u1234567/data/private/example.com). Сайт даже будет работать, и панель ничего вам не сделает. Пока вы не начнёте изменять свойства виртуального хоста(WWW-домена в терминологии ISPManager). Панель выдаст вам интересную ошибку. Суть которой в том, что у неё есть проверка на то, что /var/www/u1234567/data/www/example.com - каталог, а у вас там не каталог. И не переустановит вам сертификат от LE, или не сменит версию PHP для сайта. Здорово, правда? Хотите не стандартные настройки стандартной связки nginx + Apache + FastCGI, или nginx + PHP-FPM, и только конкретно для этого виртуального хоста? Что-то сможете настроить чисто для него через отдельный php.ini для виртхоста, вместо одного общего на аккаунт, а что-то, к примеру настройки пула PHP-FPM, ЕМНИП, только на уровне юзера и его пула изменяются, но не отдельных WWW-хостов.

        Для не шарящих в администрировании сервером панель управления хостингом — находка. А для админов — не нужная, ограничивающая своими рамками, за которые не выйти никак, вещь. И тот же вариант с Ansible может вам изменять настройки кучи виртхостов у кучи пользователей так же быстро, как и панель, если не быстрей, плюс обеспечить большую гибкость. Одна беда, на написание плейбуков для этого однажды придётся потратить прилично времени, зато потом у вас будет способ выполнять типовые операции на сервере очень быстро. Люди платят за панель не потому, что она даёт им быстроту выполнения операций. Они платят за простоту и наглядность, за возможность не изучать сложные для них вопросы, на которые придётся потратить немало человекочасов своей жизни, чтобы разобраться как там всё работает. А изучение консоли, Ansible, настроек серверного ПО, особенностей связкой вида Сервер + Сервер приложений/обработчик + БД + Кэш нужно тем, кто готов потратить немало времени в обмен на знания и гибкость. Это нужно обычно профессионалам, а не простому владельцу сайта/VPS-ки с пачкой сайтов.

        Однако, если "админ" VPS-ки с панелью начнёт упираться в ограничения панели, и своих знаний, их хотеть большего, рано, или поздно, ему придётся всё это изучать. Или нанять того, кто уже изучил. Если пока панель человека устраивает, возможно его задачи пока ещё вполне укладываются в то немногое, что даёт панелька. И кто мы, чтобы его осуждать за её использование? Для меня панели управления похожи на фаст-фуд. Вроде и не самое изысканное блюдо, но некоторым и его достаточно, а кто-то и за такое сказал бы спасибо, но не имеет и его. Это не плохо, и не хорошо, что кто-то пользуется панелью(или есть фаст-фуд). Это нормально. Это жизнь. Возможно когда-то он подрастёт, и перейдёт на более сложные способы администрирования. И это OK. А может и не перейдёт, и это тоже не наше дело, если ему нравится юзать панели, и не разбираться в вопросах администрирования его сервера.


    1. Fell-x27
      08.08.2023 13:04
      +1

      ...если нет опыта в администрировании серверов, можно очень просто...

      Наделать страшных дел.

      Помню, разворачивал как-то клиенту сервис под ключ. Говорю, мол, так и так, вот креды доступа. Могу GUI прикрутить к серверу, все дела, чтобы вам удобнее было. На что получил ответ - а давай мы лучше тебя прикрутим к серверу за отдельную плату, а сами вообще касаться даже не будем ничего "по ту сторону браузера"? Мол, от греха подальше.


    1. Iron_Butterfly
      08.08.2023 13:04
      +1

      Для ansible playbook для разворачивания пары десятков пользователей и сайтов с майлбоксами точно быстрее и проще будет написать, чем натыкать в интерфейсе ispmanager? Не уверен.


  1. vagon333
    08.08.2023 13:04

    В это же время выходит MC DOS ...

    Не помню такую.
    MS - да, DR - да, а вот MC - не помню.


    1. editor_ruvds
      08.08.2023 13:04

      Спасибо. Речь в тексте, конечно, идёт про MS-DOS.


  1. RalphMirebs
    08.08.2023 13:04
    +1

    В последнее время стал запускать программы в виндоус не кликом по иконке, а набором первых букв названия в строке "выполнить" и enter. Заметил удобство и можно рабочий стол расчистить.


    1. Viacheslav01
      08.08.2023 13:04
      +1

      Уже много, много лет, использую Win и потом имя нужного приложения, быстро и просто.

      На фоне этого, с попкорном смотрю сериал по сценарию, как же в очередной раз испортили меню пуск )))


      1. VADemon
        08.08.2023 13:04

        Это попкорн пока Пуск моментально открывается. Ведь это не данность со всё большею распухлостью и засунутыми туда динамическими плитками.

        Другое дело, что поиск подразумевает знание того, что нужно искать. То есть процесс обнаружения и изучения все еще должен был произойти. Когда вы впервые научились пользоваться виндовым Пуском?

        PS: Использую сам также под KDE. А вот GNOME-вский лаунчер на чуть медленной конфигурации уже нещадно тормозит(л).


  1. truthseeker
    08.08.2023 13:04

    Побуду занудой, но вот это вот:

    Наши партнёры из ispmanager разрабатывают панель управления, в которой объединены графическая оболочка и командная строка. Инструментарий панели позволяет работать с графическим интерфейсом на серверах с KVM виртуализацией и даже VNC, на которых поставить GUI напрямую невозможно.

    это разве не про WebUI? Просто GUI — это интерфейс, что рисуется графическим тулкитом, где приложение с GUI дёргает соответствующие вызовы API(API calls) библиотеки, отвечающей за отрисовку GUI. А WebUI отдаёт HTML+CSS+JS, что веб-браузером отрисовываются на стороне клиента в соответствующие контролы. Немного другое решение получается, с совсем другой архитектурой приложения, и способом отрисовки интерфейса. Не стоит обычные GUI-приложения(нативные для платформы где они запускаются, чаще всего) путать с WebUI, это немного разные вещи.


  1. idimus
    08.08.2023 13:04

    Чисто моё мнение: думаю стоит рассмотреть Web interface, как альтернативу CLI и GUI. Он не сильно то и жрет ресурсы, потому что генерится тока по запросу, а функционала туда можно наворотить будь здоров. Тот же CUPS web interface меня не раз спасал от прочтений киллотонн мануалов, на тривиальные хотелки и эксперименты.


  1. tsem13
    08.08.2023 13:04

    В смысле сервер без нескучных обоев на рабочем столе?!