Пол Венеция (Paul Venezia) поднял (http://infoworld.com/d/networking/take-gui-and-shove-it-374) в своем блоге тему оптимального создания интерфейсов для конфигурирования системы и выполнения административных задач, выступив с критикой GUI-интерфейсов, подобных YaST. По мнению Пола GUI-интерфейс должен быть лишь надстройкой над проработанным интерфейсом командной строки и текстовых файлов кофигурации, но не заменой. В качестве примера приводится успех продукции фирм Cisco и Juniper, изначально сделавших ставку на универсальный и проработанный командный интерфейс управления, в то время как компании развивающие только GUI-интерфейсы были со временем почти вытеснены с рынка коммуникационного оборудования.
GUI- и web-интерфейс имеет право на жизнь, но применим лишь для выполнения несложных одноразовых настроек, кода возникает необходимость создания нетривиальной конфигурации или требуется произвести типовые изменения на нескольких системах, использование GUI-интерфейса превращается в пр...URL: http://infoworld.com/d/networking/take-gui-and-shove-it-374
Новость: http://www.opennet.me/opennews/art.shtml?num=28176
Всё правильно говорит.P.S. Предвидя наступающий баттхерт - неосиляторы CLI пусть удавятся.
ППКС.
По-моему, даже идиоту должно быть понятно что на ВСЕ опции которые бывают в утилитах командной строки GUI просто задолбаешься делать. Кто не верит - может попробовать сделать гуй включающий в себя *все* возможные опции таких программ как ffmpeg или iptables например. Кстати даже если кто-то осилит таки родить монстра с парой десятков вкладок с опциями (иначе они на экран не влезут) - юзеры удавятся. В текстовой утиле можно загрепать нужное, а в гуе грепа нет, так что нужную фичу придется искать в 20 табах полдня. Юзабилити будет понятно какое :).И автоматизации почти не поддается.Это даже до MS уже дошло, правда, как они не умели делать консоли и интерпретеры, так и не умеют. Но пыжатся что-то такое изобразить.
хрень.пользователю часто не нужно ВСЕ в iptables крутить. Нужно чтобы Apache заработал из Инета или чтобы torrent заработал. а какие правила для этого будут изменены - фиолетово. Это проблема админов, но не пользователей.
> пользователю часто не нужно ВСЕ в iptables крутить. Нужно чтобы Apache заработал
> из Инета или чтобы torrent заработал. а какие правила для этого
> будут изменены - фиолетово. Это проблема админов, но не пользователей.Ага, только юзеры зачастую хотят наворотов ну совсем как админы :). Типа хочу чтобы две-три локалочки которые тут проведены работали, блаблабла. Казалось бы - чего сложного?! А теперь покажите мне веб-морды которые позволяют однозначно увязать между собой 2-3 локалки и которых гарантированно хватит на *все* возможные особенности таких конфигураций? :) И, главное, столь простая казалось бы хотелка требует порой неплохого ломания головы. Например, а что если в обоих локалках еще и айпишники одинаковые? Разрулите такое через вебморду? Извините, я даже в случае OpenWRT где вебморда довольно крЮтая по сравнению с 30-баксовыми коробочками пришел к тому что часть рулезов донавешивается айпитаблезу с командлайна, т.к. я не понял как убедить морду делать мне то что мне надо - проще и быстрее оказалось накормить айпитаблес руками парой команд, воткнув их опосля того что генерит морда :)
Вот пусть пользователи и не лезут со своими идеями в интерфейсы.
> пользователю часто не нужно ВСЕ в iptables крутитьА не нужно всё. Хватит единственной хотелки и GUI пойдёт лесом.
Про правило "80/20" слыхал?
Ну для пользователей есть "кастрированные" GUIёвины, а кому нужны "финты ушами" - бобро пожаловать в консоль. Вроде всё просто и логично.
> Ну для пользователей есть "кастрированные" GUIёвины, а кому нужны "финты ушами" -
> бобро пожаловать в консоль. Вроде всё просто и логично.Проблема в том, что некастрированных нет. YaST напрмиер кастрированный.
> Проблема в том, что некастрированных нет. YaST напрмиер кастрированный.Дык, вроде сошлись на том, что некастрированные ОЧЕНЬ неудобны. См., к примеру, xine-ui настройки.
Т.е. какой-либо смысл построения GUI теряется.
>некастрированные ОЧЕНЬ неудобныУдобны, только их должны делать умные люди. Проектирование графического интерфейса - это искусство. Подчас не менее трудное и важное, чем проектирование, скажем, ядра ОС. Только труЪ-программисты его часто презирают, а поскольку в опенсорсном мире большинство именно таких, то и GUI никакие.
Правильный GUI никогда не должен показывать ВСЕ настройки. Он должен показывать только РЕЛЕВАНТНЫЕ настройки. А не как это делает xine-ui. Например:
1.Какого *** я вижу вкладки с надписями "Для выбранного уровня опытности здесь нет настроек"? Такие вкладки надо просто скрывать, не засорять ими экран!
2.Какого *** переключатели и флажки имеют названия типа playlist_audio_reload или a52.dynamic_range? А вся информация указана в заголовке панели, в которой отображается соответствующий флажок? Ну вот чего надо выкурить, чтобы так сделать?
3.Зачем копировать GUI с набора консольных опций? Консоль - отдельно, GUI отдельно. GUI может быть враппером для консольной утилиты, но это не значит, что надо тупо сделать поля с названиями опций из командной строки и позволить пользователю вписать туда значения. Такой интерфейс должен быть спроектирован так, как будто это совершенно отдельная программа с своей логикой настроек, а потом уже она должна приводить свои настройки к настройкам backend'а.
xine-ui плох не потому, что он "некастрированный", а потому, что он плохо сделан, неразумно. Помимо индусского кода бывают индусские интерфейсы. Это надо помнить и таких интерфейсов не делать. И это _трудная_ задача.
>>некастрированные ОЧЕНЬ неудобны
> Удобны, только их должны делать умные люди. Проектирование графического интерфейса - это
> искусство. Подчас не менее трудное и важное, чем проектирование, скажем, ядра
> ОС. Только труЪ-программисты его часто презирают, а поскольку в опенсорсном мире
> большинство именно таких, то и GUI никакие.Можно пример хорошего и удобного GUI дизайна для системы с туевой хучей настроек?
Если брать библиотеки для работы с мультимедиа, то вот, например, Xilisoft Video Converter (правда, под винду). Построен вокруг библиотеки ffmpeg. И вот, черт возьми, офигенно удобен. Где бы под линукс такой взять?
>пользователю часто не нужно ВСЕ в iptables крутитьтут слова "часто" и "ВСЁ" - лишние.
Пользователь должен пользоваться, а вот "крутить" систему должен специалист.
Специалист провайдера, специалист IT-службы организации, спе-ци-а-лист.
Вы зубы себе сами пломбируете?
И одежду шьёте?
А ведь, вроде бы, ничего сложного в работе портного нет?
Блин! Ну почему не ходят к стоматологу с гинекологическими проблемами, а вот домашнему пользователю обязательно нужен фотошоп и тонкая настройка iptables?!
> Блин! Ну почему не ходят к стоматологу с гинекологическими проблемами, а вот
> домашнему пользователю обязательно нужен фотошоп и тонкая настройка iptables?!Ну вы как маленький:) понты в стомато/гинекологии обходятся дороже, нежели понты в фотошопе.
Есть, есть гуй для iptables! :-)
http://habrahabr.ru/blogs/linux/86844/
на Ncurses
Да есть и гуевая надстройка КДЕ-шная. Вполне себе даже удобная, предлагает два вариант: кастрат (нажмите кнопочку тут чтоб заблокировать то-то) и полный для выстраивания цепочек и т.д. только мышкой.
> По-моему, даже идиоту должно быть понятно что на ВСЕ опции которые бывают
> в утилитах командной строки GUI просто задолбаешься делать. Кто не верит
> - может попробовать сделать гуй включающий в себя *все* возможные опции
> таких программ как ffmpeg или iptables например.Ну, уж не надо перебарщивать... Такой GUI сделать не сложно. Ведь разбор опций авторы ffmpeg и iptables сделали? Сделали. И не задолбались. А алгоритм GUI к опциям будет в разы проще.
А с автором статьи Я соглашусь, но только с оговоркой: к хорошо проработанному CLI должен быть _очень_ хороший HELP + побольше примеров, типовых решений и хорошо комментированных конфигурационных файлов.
> Такой GUI сделать не сложно.Ну так сделай! :) Я например очень плохо представляю себе такой интерфейс, который позволяет делать хотя бы все те примеры из мана, не говоря уж о юзере, который в этом гуе сможет ориентироваться :)
Давай ты попробуешь осилить хотя бы графический макет, прототип гуя со всей этой кучей опций? :) Самое интересное для меня - как ты собирался собирать из опций конечные конструкции. Мне так видится, что ты сделаешь Visio для iptables, т.е. тебе придётся сделать графический интерфейс из блоков-опций, в которых можно будет из выпадающего списка выбирать подходящие к месту этого блока опции и значения, а значит, реализовать некисло сложный алгоритм определения допустимых опций и значений. Если ты это не осилишь - получишь "стандартный кастрированный гуй" ;)
И кстати, в коммандной строке этот алгоритм частично уже реализован - стандартным механизмом bash completition. Примитивно конечно, ибо безумно делать полный анализ возможных опций.
Но тем не менее оно есть и работает, например, по набору iptables --de и нажатию два раза таба, подсказка будет из трёх опций: --delete --delete-chain --destination
Фактически твой гуй будет симулировать командную строку :)
> И кстати, в коммандной строке этот алгоритм частично уже реализован - стандартным
> механизмом bash completition.Ну, вот видишь... Первый шаг уже узрел. Далее пойдет контекстная подсказка, контроль типов, шаблоны, контроль зависимостей и т.д. GUI можно расширять до бесконечности. (И он не отрицает ввод некоторых данных с клавиатуры)
> Примитивно конечно, ибо безумно делать полный анализ возможных опций.
Еще раз: а что там такого безумного? В самой программе полный анализ возможных опций делается + еще и выполнение действий по этим сочетаниям. И разработчики программ, вроде бы, не сильно умом тронулись.
А зачем?
))) Если бы видел MS ISA Server или MS TMG Server то так не говорил. Отлично и удобно настраивается через GUI. И всё очень наглядно. А когда начинаешь его использовать каждый день начинаешь создавать группы и замена большого объёма данных становится тривиальнейшей задачей. Опен сорсу очень не хватает грамотных гуёв. Именно поэтому ему приходится плестись в хвосте.
> ))) Если бы видел MS ISA Server или MS TMG Server то
> так не говорил. Отлично и удобно настраивается через GUI. И всё
> очень наглядно. А когда начинаешь его использовать каждый день начинаешь создавать
> группы и замена большого объёма данных становится тривиальнейшей задачей. Опен сорсу
> очень не хватает грамотных гуёв. Именно поэтому ему приходится плестись в
> хвосте."И сервер ваш тоже гуевый!"(С)
видели видели, когда такой вот админ уложил бродкастами серверный сегмент компании :))))))Админа без хороших знаний iptables категорически нельзя подпускать к компу с двуме адаптерами!!!
> видели видели, когда такой вот админ уложил бродкастами серверный сегмент компании :))))))
> Админа без хороших знаний iptables категорически нельзя подпускать к компу с двуме
> адаптерами!!!Ну... иногда бывает чел знает иптаблес и ничего более, добирается до компа и выдает фразу "а где!?".
>к компу с двуме адаптерами!!!Можно и с одним, если коммутатор умный, с vlan-ами :)
По теме, да, согласна, ни один GUI заменить CLI никогда не сможет! В тех же политиках AD, или ветках реестра WinNT можно годами рыться, и не найти то, что нужно, даже почитав документацию. "Интуитивной же понятности" там и близко и на горизонте не наблюдается!
Больше всего, кстати, неудобно, что виндовые ошибки Explorer.exe не умеет отдавать в виде, допускающем копипаст в Google/msdn/etc. Вот почему в Kwin эту маленькую деталь предусмотрели, а в лидирующей на десктопе WinNT забыли?
конфигурация же man 5 service.conf, копипаст нужной опции, и vim/nano/joe/подставить нужное /etc/service/service.conf с копипастом нужной опции будет быстро работать всегда :)
> ))) Если бы видел MS ISA Server или MS TMG Server то так не говорил.=)
Вы знаете, большинство из присутствующих здесь не возьмет ISA Server в продакшн, ни бесплатно, ни с доплатой.
А некоторая часть (включая меня) может вам даже рассказать "байки из склепа" из своего опыта работы с ISA.
Но это все лирика.Суть в том, что на нормальных системах через CLI существует такая гибкость настройки, которой не достичь через GUI.
Опять-таки, можем много чего рассказать из своего опыта про нетривиальные настройки.
Когда на вопрос "а как оно так работет?" есть только один ответ "Ну как-то работает же" =)
ага, особенно когда в ISA надо разрешить доступ на какой либо порт SSL отличающихся от стандартных.... на самом мсдн - вот этот скрипт для просмотра какие порты открыты, вот этот скрипт для добавления портов, вот этот для удаления.а про удаление одного умершего контролера в домене открываешь страницу мсдн и там в начале главы написано: 2С ПОМОЩЬЮ ЭТОЙ ОБВЯЗКИ ВЫ МОЖЕТЕ СДЕЛАТЬ ВСЁ", и дальше по тексту когда доходит до нужных мне вещей начинается "это сделать через гуй нельзя, открывайте консоль и ..." в общем понеслась
после этого их GUI ничем кроме как гуйнёй назвать не получается.
>[оверквотинг удален]
> в утилитах командной строки GUI просто задолбаешься делать. Кто не верит
> - может попробовать сделать гуй включающий в себя *все* возможные опции
> таких программ как ffmpeg или iptables например. Кстати даже если кто-то
> осилит таки родить монстра с парой десятков вкладок с опциями (иначе
> они на экран не влезут) - юзеры удавятся. В текстовой
> утиле можно загрепать нужное, а в гуе грепа нет, так что
> нужную фичу придется искать в 20 табах полдня. Юзабилити будет понятно
> какое :).И автоматизации почти не поддается.Это даже до MS уже дошло,
> правда, как они не умели делать консоли и интерпретеры, так и
> не умеют. Но пыжатся что-то такое изобразить.Как печально, что для многих есть только консоль и формочки.
> Как печально, что для многих есть только консоль и формочки.Приведите примеры недостающих вариантов)
>Приведите примеры недостающих вариантов)Посмотреть в литературе по гуям?
кто вытеснил? куда вытеснил?
циска - это разумеется круто, но сильно дорого,
поэтому покупают и немало китайских длинков, у которых основное управление - через веб-морду (через телнет и ссш тоже управлению поддаются) и конечному пользователю совершенно фиолетово, текстом оно настраивается или тыканием галочек, главный показатель здесь - юзаблити, когда домашний рутер за 30 баксов вытащил из целлофана, подключил все провода и оно сразу работает
за настройку более сложных устройств админам платят зарплатуесли обратить внимание на GUI оболочки разных программ, то имхо, здесь ситуация скорее упирается в неумение гениев программирования серверов состряпать простейшую оболочку с чекбоксами, поэтому и получаются они такие страшные и тупые (практически ко всем поргам под NIX относится, согласен, тоже критикую)
но автора понесло не в ту степь
> поэтому покупают и немало китайских длинков, у которых основное управление - через
> веб-мордуВсе опции айпитаблеса ни в какую морду не запихаешь. Много вы видели вебморд позволяющих скажем прибить пакеты по критерию "строка такая-то по смещению такому-то"? А такое может быть полезно чтобы скажем бороться с определенными типами атак, например. При том это зачастую по зубам даже 30-баксовой железке на самом деле, благо айпитаблес там такой же как и везде (в хучшем случае правда без соотв. модуля). Если не утыкаться в тупорылый гуй как единственно возможный вариант.
> конечному пользователю совершенно фиолетово, текстом оно настраивается или
> тыканием галочек, главный показатель здесь - юзаблити,Вот когда вы попробуете сделать гуй включающий в себя ВСЕ возможности того самого командлайнового айпитаблеса, которому эта самая морда и сливает рулезы - тогда и поговорим. Правда там страниц 20 выйдет :) и юзер долбанется искать в них нужную опцию. Тогда можно будет про юзабилити поговорить.
> за настройку более сложных устройств админам платят зарплату
На самом деле - гуйня должна упрощать частые типовые операции. А за наворотами добро пожаловать в командную строку. В которой работать с утилями у которых 100500 опций намного проще.
> скорее упирается в неумение гениев программирования серверов состряпать простейшую оболочку
> с чекбоксами,Состряпайте ее для айпитаблеса? А чтоб еще и все опции, всех модулей? Как, слабо? :) А чтобы потом еще и юзабилити не в полной Ж - сможете? А то там получится страниц на 20 опций - удачи в приведении такого интерфейса в юзабельный вид, ага.
> ко всем поргам под NIX относится,
Да ладно вам. В *никсах такие же программы как и везде. Какойнить файрфокс например - он и в африке файрфокс. А уж командная строка... если хочется поблевать с юзабилити, попробуйте после bash+Konsole поюзать виндовый дефолтный командный промпт + powershell например. Культурный шок гарантирован :). Ну да ладно, попробуйте в винде настроить правило фаера которое убьет пакеты у которых по некоему смещению есть некая строка. В пингвине - одну команду набрать! И даже если ее не знать - она ... гуглится! Минут за 5. А вот в гуе... эээ... как-то не видел гуя в который засунуты ВСЕ фичи айпитаблеса. Да что там, в гуе "advanced" файрвола дорогущей вин2008 несмотря на всю его монструозность и неюзабельность ... почему-то низзя даже просто элементарный диапазон портов открыть :))).А если надо окно на 100 портов открыть - это что, 100 рулесов вфигачивать? Юзабилити обалденное - всего сутки клацания мышкой и готово. Я правда боюсь себе представить что будет если портов надо будет, допустим, 10 000 :)
Вы мне клавиатуру чуть не забрызгали. ;))
>Много вы видели вебморд позволяющих скажем прибить пакеты по критерию "строка такая-то по смещению такому-то"?В любом более менее нормальном управляемом коммутаторе такое есть, называется ACL, более того это чуть-ли не единственный способ фильтровать пакеты на 2L коммутаторах, и скажем в самом дешевом D-Link 3028 это можно реализовать и при помощи GUI. Пример: http://dlink.ru/ru/faq/62/201.html
>Все опции айпитаблеса ни в какую морду не запихаешь.
А тут все точно.
> Все опции айпитаблеса ни в какую морду не запихаешь.Ща, парсек,... только QT поставлю....
Ну в общем, их всего около 48 - 12 флагов (-A, -D, -I, -R, -F, -Z, -L, -S, -N -X, -E, -P ) на 4 таблицы raw/mangle/nat/filter
При применении -N - генерим новую вкладку.
-------
Даже очень супер-пупер продвинутый фраервол, будет намного проще фотошопа.
>> Все опции айпитаблеса ни в какую морду не запихаешь.
> Ща, парсек,... только QT поставлю....
> Ну в общем, их всего около 48 - 12 флагов (-A,
> -D, -I, -R, -F, -Z, -L, -S, -N -X, -E, -P
> ) на 4 таблицы raw/mangle/nat/filter
> При применении -N - генерим новую вкладку.
> -------
> Даже очень супер-пупер продвинутый фраервол, будет намного проще фотошопа.Не забывай, что опции могут комбинироваться и повторяться. Давай ты нарисуешь жпег смакетом, охота посмотреть на твою фантазию :)
>>> Все опции айпитаблеса ни в какую морду не запихаешь.
>> Ща, парсек,... только QT поставлю....
>> Ну в общем, их всего около 48 - 12 флагов (-A,
>> -D, -I, -R, -F, -Z, -L, -S, -N -X, -E, -P
>> ) на 4 таблицы raw/mangle/nat/filter
>> При применении -N - генерим новую вкладку.
>> -------
>> Даже очень супер-пупер продвинутый фраервол, будет намного проще фотошопа.
> Не забывай, что опции могут комбинироваться и повторяться. Давай ты нарисуешь жпег
> смакетом, охота посмотреть на твою фантазию :)Вот, нарисовал
В свое время юзал на Винде довольно навороченный брандмауэр с гуевым интерфейсом настройки. Очень гибкая настройка была при желании. При нежелании были простые быстрые типовые операции. Решений на основе анализа траффика там, конечно, не было, но и не нужно оно там - это же десктопный софт.
По теме: гуй надо уметь готовить, а не лепить контрол на каждый ключ в программе.
> В свое время юзал на Винде довольно навороченный брандмауэр с гуевым интерфейсом
> настройки. Очень гибкая настройка была при желании. При нежелании были простые
> быстрые типовые операции. Решений на основе анализа траффика там, конечно, не
> было, но и не нужно оно там - это же десктопный
> софт.
> По теме: гуй надо уметь готовить, а не лепить контрол на каждый
> ключ в программе.Хороший пример Cisco ADSM, в PIX_ах и ASA_ах
Для домохозяек "выпустить два компьютера в интернет" - достаточно. Для чего-то сложнее - нет.
> здесь - юзаблити, когда домашний рутер за 30 баксов вытащил из
> целлофана, подключил все провода и оно сразу работаетВам видимо не приходилось работать ботом, исправляя кучу IP-шников или проставляя какой-нибудь новый атрибут всем пользователям в web-морде одного из таких рутеров.
В квартирной сетке через роутер ходящей в инет править IP? Зачем?
"Влияние ЧСВ на блогосферу". За уши там все притянуто.>> изначально сделавших ставку на универсальный и проработанный командный интерфейс управления,
Да дешевле хотели сделать. "Проработанностью" там и не пахнет, универсальностью тож не очень, отладка зачастую в ад превращается.
>>когда нужно поменять адреса в настройках межсетевого экрана, число правил в котором исчисляется сотнями.
Это уже к авторам подобных конфигов, а не к дизайнерам GUI.
Пьяный бред. Всему своё место. Например вместить администрирование каталогов в CLI - я посмотрю на этого автора.
> Пьяный бред. Всему своё место. Например вместить администрирование каталогов в CLI
> - я посмотрю на этого автора.Да без проблем: "sh# user move Petya Pupkin to Managers"
Правда, просматривать не очень удобно.
> Правда, просматривать не очень удобно.А если контекст russia.moscow.office.vladikino.223.sales.managers.Pupkin? И там надо роли переназначить, фильтры прав просмотреть и драйвера по машинам проглядеть? Можно не спорю, но вот просмотреть и в мозг вместить будет проблематично. В командной строке выйдут километры.
> Можно не спорю, но вот просмотреть и в мозг вместить будет
> проблематично. В командной строке выйдут километры.Ну и что? Слава богу, для работы с текстовыми файлами уже давно все придумано. Начни с grep.
В GUI очень удобно делать разнообразные одиночные операции. А если тебе предложат, например, проставить номера кабинетов и внутренние телефоны у 2000 пользователей по списку в Excel - сам быстро побежишь командную строку изучать.
При выборе инструмента от задачи исходим, от задачи, а не пытаемся создать универсальный комбайн для решения любых задач, которым потом никто пользоваться не захочет.
>> Правда, просматривать не очень удобно.
> А если контекст russia.moscow.office.vladikino.223.sales.managers.Pupkin? И там надо
> роли переназначить, фильтры прав просмотреть и драйвера по машинам проглядеть?
> Можно не спорю, но вот просмотреть и в мозг вместить будет
> проблематично. В командной строке выйдут километры.Помните слова из Матрицы, когда у оператора спросили, - как он понимает этот бред на экране?
...
В двух словах - километры командной строки не предназначены для рук и глаз, они генерируются скриптами.
for i in `russia usa europe`
do
for j in `moscow chicago oslo rome`
do
for k in `office market port`
do
for l in `vladikino garlem hosle fidenae`
do
echo $i.$j.$k.$l.223.sales.managers.Pupkin
done
done
donedone
Получим:
russia.moscow.office.vladikino.223.sales.managers.Pupkin
russia.moscow.office.garlem.223.sales.managers.Pupkin
russia.moscow.office.hosle.223.sales.managers.Pupkin
russia.moscow.office.fidenae.223.sales.managers.Pupkin
...
russia.chcago.port.garlem.223.sales.managers.Pupkin :)и т.д.
вместо echo, то что надо с ними делать.
>В командной строке выйдут километры.Да не выйдут никакие километры! Проснитесь! Командная строка тоже не пальцем на коленке делана - удобств хватает. Тут и история, и подстановки из истории и команд, и грепы со скриптами в двух-трех строчных файлах. Если руки под мышку заточены, тады конечно, километры!
>> Например вместить администрирование каталогов в CLI - я посмотрю на этого автора.Смотрите: ldapadd(1), ldapdelete(1), ldapmodify(1), ldapmodrdn(1), ldapsearch(1).
Да, какой-нибудь gq несколько удобнее и нагляднее, я в курсе. :-)
> Пьяный бред. Всему своё место. Например вместить администрирование каталогов в CLI
> - я посмотрю на этого автора.А я с удовольствием посмотрю как вы будете автоматизировать работу с гуем, например. А то задачи разные бывают и работа с каталогом может быть одним из 20 действий. Все остальные 19 действий каждый раз педалить вручную обезьянами только потому что вот этот шаг - только через гуй и никак иначе? Идиотизм чистой воды.
>А я с удовольствием посмотрю как вы будете автоматизировать работу с гуем, например.Не бойся, через пару лет будешь писать скрипт на Python с управлением GUI-утилит через DBus. И не плюйся: если ребята с FreeDesktop.org сказали, что DBus - это хорошо, значит это хорошо. А ещё спустя пару лет /bin/sh будет ссылкой на /usr/bin/python, а всякие coreutils, findutils, sed, gawk, ... будут удалены за ненадобностью, а в ядро Linux встроят X-сервер.
P.S.: когда уже сделают конфирм на ссылке "к модератору", постоянно на неё по ошибке жму.
Идея, кстати, не так саркастична, как кажется. Только не DBus-интерфейс к GUI-утилите, конечно - а "демон конфигурации" (возможно, запускаемый лишь по требованию - D-Bus это умеет), к которому цепляются и утилиты командной строки, и скрипты, и гуёвая морда, и сами конфигурируемый приложения. При этом никто не мешает хранить конфиги в читабельном/реадктируемом виде - зато имеем возможность при использовании API верификации корректности конфига (разные ограничения на значения), версионирования, толковых хелпов, не загромождающих сам конфиг... В общем, сплошные плюсы. Это я не говорю о том, что в таком вариант тривиально поддерживаются, скажем, сессии - когда приложению отдаётся тот или иной конфиг в зависимости от каких-то внешних условий. И всё это унифицированно и написано один раз.
>...а всякие coreutils, findutils, sed, gawk, ... будут удалены за ненадобностью, а в ядро Linux встроят X-сервер.Ну не иначе как дядя Билли за пивком по секрету на ушко нашептал. :-) Я такие опусы и 15 лет назад читал, но, почему-то, никто не торопится это делать.
> А я с удовольствием посмотрю как вы будете автоматизировать работу с гуем,
> например.См eDirecotry. Автоматизируется и схемы прописываются и не надо ничего изголять. Или как обычно user294 считает скрипты командной строкой и считает плана чиста команднострочными ?
>> Пьяный бред. Всему своё место. Например вместить администрирование каталогов в CLI
>> - я посмотрю на этого автора.
> А я с удовольствием посмотрю как вы будете автоматизировать работу с гуем,
> например. А то задачи разные бывают и работа с каталогом может
> быть одним из 20 действий. Все остальные 19 действий каждый раз
> педалить вручную обезьянами только потому что вот этот шаг - только
> через гуй и никак иначе? Идиотизм чистой воды.Вот кстати да, подпишусь. Мне как-то нужно было периодически из АД брать список пользователей определённого ОУ и дальше скармливать его некоей утилите. И ведь не через гуй я это делал каждый день.
"А в остальном, прекрасная маркиза, всё хорошо, всё хорошо, всё хорошо..."
Даже читать не буду - ежу понятно что там написано и насколько это очевидно. Но люди, которые называют консоль "архаичной" всегда будут, и над ними всегда будут смеяться :))Кстати, не стоит забывать что кроме чистого CLI, есть интерактивный консольный софт на ncurses, который также имеет преимущества перед иксовым софтом.
>..., который также имеет преимущества перед иксовым софтоми недостатки.
Что-то так много радикальных заявлений, будьте проще. :)
Пока GUI - это набор контролов (button, checkbox, radio, combo, input... и все?!), естественно, он не годится для настройки серьезных программ, где нужно "немножко программировать", как в iptables или ldap.
Нужно менять парадигму и выдумывать новый интерфейс - достаточно абстрактный, чтобы быть удобным для пользователя, и достаточно однозначный, чтобы компьютер мог распарсить идею пользователя в конфиг. Увы, пока положительных примеров таких конфигураторов нет, а с модой на веб-морды - и не предвидится.
CLI - это, конечно, круто и профессионально, но ситуация, когда изучение настройки программы приближается по сложности к изучению нового языка - не комильфо. Куча народу бьется над тем, чтобы "осилить" маршрутизацию при том, что 90% этих людей хотят довольно тривиальных вещей, а не "прибивания пакетов по критерию"...Я считаю, что проблема не в GUI vs CLI, а в интерфейсах в целом и дистанцией между тем, что сделал разработчик и тем, что удобно пользователю. Проблема характерна и для Linux, и для MS & Co.
> Я считаю, что проблема не в GUI vs CLI...Правильно! Проблема в том, что студенты перестали учиться. Их теперь знакомят с методами заработка, а не с профессией.
Специалисту, незнакомому со своими инструментами должно быть стыдно.
Причём это касается не только IT-спецов.
Должно быть стыдно и делопроизводителю, незнакомому с правилами оформления документов вкупе со стилями в текстовом процессоре.
Должно быть стыдно IT-менеджеру, не понимающему разницы между администрированием SQL и маршрутизацией.
Должно быть стыдно руководителю предприятия, не знакомому с методами организации процессов...А в нашей сфере - должно быть стыдно за незнание ОСНОВ.
А разработчику, соответственно, должно быть стыдно, если специалист, разбирающийся в предмете, не может без дополнительной подготовки настроить написанный разработчиком инструмент. При этом не играет роли, каков интерфейс настройки - GUI или CLI.Хотя мое имхо, что GUI имеет более широкие возможности в плане интуитивности, наглядности и возможности охватить взглядом всю настройку разом. С распознаванием образов и нахождением путей человек справляется не в пример лучше, чем с парсингом строк. А компьютер - наоборот. Так пусть каждый занимается своим делом.
При этом повторюсь: GUI, ограниченный россыпью контролов - убожество и тупик.
Ничего вне определенной ниши ему не светит, и ниша эта сильно ограничена.Конечно, CLI-интерфейс делать проще, что греха таить. Но когда сотни часов одного программиста экономятся за счет миллионов часов пользователей - оправдания такой экономии нет.
> А разработчику, соответственно, должно быть стыдно, если специалист, разбирающийся в предмете, не может без дополнительной подготовки настроить написанный разработчиком инструмент. При этом не играет роли, каков интерфейс настройки - GUI или CLI.А вот тут не могу не согласиться!
И документированность должна быть на высоте, и дизайн инструмента (имеется в виду не только внешний вид). Вот только описание GUI сложнее описания значений аргументов CLI.
> Хотя мое имхо, что GUI имеет более широкие возможности в плане интуитивности, наглядности и возможности охватить взглядом всю настройку разом. С распознаванием образови нахождением путей человек справляется не в пример лучше, чем с парсингом строк. А компьютер - наоборот. Так пусть каждый занимается своим делом.
И тут возразить почти нечего. Разве что вспомнить о том, что "визуализация" многих параметров многих программ без использования многомерных изображений практически невозможна...
> При этом повторюсь: GUI, ограниченный россыпью контролов - убожество и тупик.ТАК!!!!11
А более "продвинутый" зачастую израсходует больше ресурсов (человеческих и системных), чем сам инструмент.> Конечно, CLI-интерфейс делать проще, что греха таить. Но когда сотни часов одного программиста экономятся за счет миллионов часов пользователей - оправдания такой экономии нет.
Один программист не сможет создать "продвинутый" GUI. А для многих "утилит" и десяток программистов "продвинутый" GUI будут создавать не один год...
Под продвинутым GUI вы, видимо, имеете в виду нечто универсальное и всеобъемлющее.
Я же говорю всего лишь о том, что в каждом конкретном случае визуализация настроек может принести ощутимую пользу. И именно графика позволит приблизить настройку программы на экране к тому, что представляет себе специалист, обдумывая эту настройку. Чем сложнее программа, тем меньше видение специалиста похоже на список параметров и команд. Просто потому, что человеческий мозг не слишком приспособлен для обработки информации такого рода. Взаимосвязи системы для человека значительно понятнее в виде графа, чем в виде таблицы.
Да и ошибки человек чаще видит, чем вычитывает.
>Взаимосвязи системы для человека значительно понятнее в виде графа, чем в виде таблицы.
> Да и ошибки человек чаще видит, чем вычитывает.Да с этим-то я и не спорю. Только вот трудозатраты для создания _действительно_ эффективного GUI для большинства _сложных_ программных комплексов (iptables, squid & c.t.r.) ещё нет достаточно эффективных инструментов, не сводящих "на нет" усили по разработке.
Похоже - время не пришло.
Для типовых операций -- GUI. Как только количество опций переваливает за 50, нужно думать о CLI, если их больше сотни однозначно CLI.
> Для типовых операций -- GUI. Как только количество опций переваливает за 50,
> нужно думать о CLI, если их больше сотни однозначно CLI.Если количество необходимых опций переваливает за 50 думать разработчик уже не способен. См Макос - там ничего никуда не переваливает.
> Если количество необходимых опций переваливает за 50 думать разработчик уже не способен. См Макос - там ничего никуда не переваливает.Контрпример:
Есть SQL и есть множество построителей запросов к базам данных, которые в итоге генерируют предложения на SQL. Количество опций там не то что за 50 - за 5000 переваливает. Однако здесь все счастливы - пользователь, не зная SQL, формирует запросы к базам данных, зато программист может написать любой навороченности запрос или процедуру. Где противоречие?
Просто "кесарю кесарево".
>> Если количество необходимых опций переваливает за 50 думать разработчик уже не способен.
> Контрпример:
> Есть SQL и есть множество построителей запросов к базам данных, которые в
> итоге генерируют предложения на SQL. Количество опций там не то что
> за 50 - за 5000 переваливает. Однако здесь все счастливы -
> пользователь, не зная SQL, формирует запросы к базам данных, зато программист
> может написать любой навороченности запрос или процедуру. Где противоречие?
> Просто "кесарю кесарево".Опций там всего штук 50 наберется, вроде select,insert и прочих ключевых слов. А остальное уж аргументы, не путайте их пожалуйста.
>> Есть SQL и есть множество построителей запросов к базам данных, которые в
>> итоге генерируют предложения на SQL. Количество опций там не то что
>> за 50 - за 5000 переваливает.
> Опций там всего штук 50 наберется, вроде select,insert и прочих ключевых слов.
> А остальное уж аргументы, не путайте их пожалуйста.Вообще-то операторов (команд) там действительно штук 50, а вот опций (аргументов) у них - немеряно, особенно с учетом возможных комбинаций, которые могут существенно влиять на смысл SQL предложения.
Пример:
SELECT c FROM (SELECT c FROM a UNION SELECT c FROM (SELECT a1.c1+a2.c2 c FROM a1 JOIN a2 ON a1.k=a2.k)))
Разных ключевых слов всего 4, зато опций в этом SELECT, по моим прикидкам - 33.Если же речь идет о ключевых словах, то в PostgreSQL, например, их 627 (http://www.postgresql.org/docs/8.1/interactive/sql-keywords-...)
>SELECT c FROM (SELECT c FROM a UNION SELECT c FROM (SELECT a1.c1+a2.c2 c FROM a1 JOIN a2 ON a1.k=a2.k)))Объединять запросы и наращивать их вложенность можно сколько угодно, операторов от этого больше не станет. С точки зрения проектирования GUI это множество однотипных запросов (вызов одного метода) объединенный в один, по семантическим правилам. С точки зрения пользователя это несколько однотипных операций заканчивающихся нажатием кнопки "Выполнить".
Именно по этому на большой бд, такие запросы выполняются очень медлено, иногда днями, именно по этому программисты их оптимизируют и ускоряют в сотни раз, и результат получается не за дни а за считанные минуты.
>Если же речь идет о ключевых словах, то в PostgreSQL, например, их 627
И сколько из них используются в GUI конструкторе запросов?
>> Для типовых операций -- GUI. Как только количество опций переваливает за 50,
>> нужно думать о CLI, если их больше сотни однозначно CLI.
> Если количество необходимых опций переваливает за 50 думать разработчик уже не способен.
> См Макос - там ничего никуда не переваливает.См ОС Стэн.
Полностью поддерживаю. GUI должен быть простым и понятным юзеру, но в итоге отображаться в доступные стандартной обработке файлы (в том числе и содержащие команды).
Почему:
1. Потому как тиражировать и модифицировать текстовые конфиги можно без участия юзера, а GUI - замучаешься.
2. Потому как анализировать текстовый конфиг или массово править текстовые конфиги намного проще.
3. Потому как текстовый конфиг можно изменить из собственного скрипта по некоторому событию, в отличии от ГУЕвого.
> GUI должен быть простым и понятным юзеруНет.
>Пол Венеция (Paul Venezia) поднял в своем блоге темуКто такой? Почему его мнение постится на новостной ресурс как новость?
пардон, о чем спор? Как говорится кому хрен, кому горчица :)
> пардон, о чем спор? Как говорится кому хрен, кому горчица :)Как раз про это и спор, что если кому то нравится хрен (GUI), то это не значит, горчица не должна быть доступна (командная строка). Соломоново решение - пусть GUI результат своей работы сохраняет в тексте, видимо, многих здесь не устраивает. Собаки на сене, блин...
> GUI- и web-интерфейс имеет право на жизнь, но применим лишь для выполнения несложных одноразовых настроекВ существующем виде
абсолютно согласен с Полом Венеция
К сожалению, он не прав. Да, настроить простой текстовый конфиг ручками не проблема, но с засильем xml это становится проблемой. Взять хотя бы тот же реестр гнома или hal/dbus/udisks.> GUI- и web-интерфейс имеет право на жизнь, но применим лишь для выполнения несложных одноразовых настроек
А со сложными тут затык. Особенно когда дефолтного конфига нет, а что бы его создать надо прочитать выхлоп кучи утилит.
После слов "успех продукции фирм Cisco и Juniper ...." можно не читать - у Пола явно разжижение мозга. Удобство и продуманность интерфейса конфигурирования большинства их железяк играют последнюю роль при выборе продукции.
Про виндовый файрволл тут верно заметили. У Аутпоста хороший продукт, а майкрософт видимо забили или не осилили написать такое же.
По теме: ну гуи пусть будет, только не надо такого, чтобы гуи сохранял свои настройки в собственных файлах в своем формате. Пример - networkmanager. Хотя, конечно, это вопрос того, что в дистрибутивах разные способы настройки сети. Все равно это не дело. Гуи должен подстраиваться под системные настройки, а не плодить новые сущности.
Спорить об этом бесполезно и бессмысленно, если взять тот же YAST например так это всего лишь надстройка над cli реализованная на python, которая тупо сохраняет все конфиги в .conf файлики . Т.е. например тот же NOVELL не отошел от привычного для всех UNIX-оидов BASHa. Я даже больше скажу по своему опыту все настройки сделанные, естественно с правильным синтаксисом, корректно воспроизводятся YASTом - проверено на личном опыте и не один раз. Другой вопрос так это стандартизация .conf, а то получается например Apach один, squid-другой, samba,ftp,sntp,ldap и т.д. - у всех синтаксис разный!! - Тут просто голова кругом пойдет!!! А еще действительно gnom со своими конфигурационными файлами в XML!!! Понятен успех cli CISCO там сквозные команды независимо от версии продукта и язык программирования один!!! Так что верхом блаженства для админов было бы создание CLI подобной CISCO IOS. А еще синтаксис команд консольных в разных linux-ах бывает разный и конфиги в разных файлах и даже каталогах!!! Взять тот же SUSE и DEBIAN или SLACK!!!
> "...но применим лишь для выполнения несложных одноразовых настроек"Из этого правила есть одно хорошее исключение: http://fwbuilder.org/
Ну всё это можно подытожить так - без гуя никуда во всяких кадах, графредах, геморойно в издательстве а в остальном везде нисчак (настоящему индейцу ;) )Взять никсы как сложную интеграцию всяких CLI + подмножество GUI. Без GUI можно справиться с системой, без CLI никак.
Взять винду как сложную интеграцию всяких GUI + подмножество CLI. Без GUI справиться мало шансов, без CLI (слов нормальных нет, а эмоции выражать воспитание не позволяет, хотя можно было ситуацию анекдотом разрулить).Вот два в корне разных подхода к GUI, и если его переводить как "графический интерфес пользователя", то о чём вообще спор? Многие авторы правы - пользователю гую. Админу итого и другого, но только чтоб оно тогда называлось GAI и соответствовало этому званию :)
Так.GUI Нужен в системах индикации и с единственно правильной реакцией.
На пример в самолёте - есть крен на левое крыло, отобразим на дисплее,
летчик или автопилот компенсирует элеронами, выровнялись - отобразили.Как вы себе представляете, не конечно представить можно,
управление самолётом из командной строки?# echo "15 degree" > /sys/devices/system/left_wing/front/eleron2
# echo "-5 degree" > /sys/devices/system/right_wing/rear/eleron1
# echo "stabilize" > /sys/devices/system/motor/turbo0
# echo "stabilize" > /sys/devices/system/motor/turbo1
# sleep 2
# echo "0 degree" > /sys/devices/system/first_lever/front/eleron2
# echo "0 degree" > /sys/devices/system/first_lever/rear/eleron1
# sleep 5
# echo "forsage" > /sys/devices/system/motor/turbo0
# echo "forsage" > /sys/devices/system/motor/turbo1# echo "Yahooo......." > /dev/null
# wall
Ура Товарищи, мы тока что сделали бочку!
^D
как бы тыкание мышкой по кнопкам, галкам и заполнение полей здесь тоже не проканает. нужен штурвал и куча рычагов.
Пока будешь мышкой тыкать в опции и ползунками выставлять градусы, на экране появится надпись "Пилот выполнил недопустимую операцию и будет катапультирован" :)))
> Пока будешь мышкой тыкать в опции и ползунками выставлять градусы, на экране
> появится надпись "Пилот выполнил недопустимую операцию и будет катапультирован" :)))С другой стороны еще взлететь надо, да и тут командная строка вам не особо поможет.
Только голосовой интерфейс, говоришь пилоту "любезный, на базу и аккуратнее, не растрясите пассажиров, спасибо, ик".
>[оверквотинг удален]
> # sleep 2
> # echo "0 degree" > /sys/devices/system/first_lever/front/eleron2
> # echo "0 degree" > /sys/devices/system/first_lever/rear/eleron1
> # sleep 5
> # echo "forsage" > /sys/devices/system/motor/turbo0
> # echo "forsage" > /sys/devices/system/motor/turbo1
> # echo "Yahooo......." > /dev/null
> # wall
> Ура Товарищи, мы тока что сделали бочку!
> ^DЗато, можно написать скрипт bochka.sh =)
>[оверквотинг удален]
>> # echo "0 degree" > /sys/devices/system/first_lever/front/eleron2
>> # echo "0 degree" > /sys/devices/system/first_lever/rear/eleron1
>> # sleep 5
>> # echo "forsage" > /sys/devices/system/motor/turbo0
>> # echo "forsage" > /sys/devices/system/motor/turbo1
>> # echo "Yahooo......." > /dev/null
>> # wall
>> Ура Товарищи, мы тока что сделали бочку!
>> ^D
> Зато, можно написать скрипт bochka.sh =)Прально, а вместо echo - snprintf(fd, "15 degree", 10);
открыть QT, нарисовать батон, и виндюрить туда этот код,
добавить ползунков и крутилок по вкусу.
> Прально, а вместо echo - snprintf(fd, "15 degree", 10);
> открыть QT, нарисовать батон, и виндюрить туда этот код,
> добавить ползунков и крутилок по вкусу.Потом изменятся параметры двигателя и пересобирать это счастие заново? В скрипте только строчку поменять. Не, оба способа реальны, но соотносить трудозатраты с пользой от решения задачи тоже надо.
Умер Тикль, а он на такое и расчитывался когда с ТиКеем связывался.:)
>> Прально, а вместо echo - snprintf(fd, "15 degree", 10);
>> открыть QT, нарисовать батон, и виндюрить туда этот код,
>> добавить ползунков и крутилок по вкусу.
> Потом изменятся параметры двигателяНа самолётах такого не бывает. Авионика, физюляж, оперение и двиган - это единое целое.
Вон, МиГ-29, который стал M2, впиндюрили управляемую тягу, так от старого там
осталось лишь интегральная схема фюзеляжа и пушка ГШ-301
>>> Прально, а вместо echo - snprintf(fd, "15 degree", 10);
>>> открыть QT, нарисовать батон, и виндюрить туда этот код,
>>> добавить ползунков и крутилок по вкусу.
>> Потом изменятся параметры двигателя
> На самолётах такого не бывает. Авионика, физюляж, оперение и двиган - это
> единое целое.А значит на кьюте самолеты бывают?
>>>> Прально, а вместо echo - snprintf(fd, "15 degree", 10);
>>>> открыть QT, нарисовать батон, и виндюрить туда этот код,
>>>> добавить ползунков и крутилок по вкусу.
>>> Потом изменятся параметры двигателя
>> На самолётах такого не бывает. Авионика, физюляж, оперение и двиган - это
>> единое целое.
> А значит на кьюте самолеты бывают?У Боинга спроси, они чего-то впиндюрили на Linux в свой 777
>>>>> Прально, а вместо echo - snprintf(fd, "15 degree", 10);
>>>>> открыть QT, нарисовать батон, и виндюрить туда этот код,
>>>>> добавить ползунков и крутилок по вкусу.
>>>> Потом изменятся параметры двигателя
>>> На самолётах такого не бывает. Авионика, физюляж, оперение и двиган - это
>>> единое целое.
>> А значит на кьюте самолеты бывают?
> У Боинга спроси, они чего-то впиндюрили на Linux в свой 777Вот только в системе управления двигателем ни кьюта ни чего то подобного, только разве там где индикаторы инфу выводят. Возможно.
Господин Венеция не осилил гуй?
Пусть посмотрит на Kerio Control, видать гении его делали, раз смогли сделать через гуй управление фаерволом, шейпером, встроеным антивирусом трафика, веб сервером, разграничением правами пользователей и еще кучи всего. И самое интересное, ай-ай-ай, никто до сих пор не подавился.Стыдно когда взрослые люди несут подобную ахинею. Не нравится тебе гуй, дрочи дальше на свой шелл, зачем брызжать слюной?
>Пусть посмотрит на Kerio Control...Далеко не самый простой гуй, и керио далеко не просто файрвол. А как файрвол он весьма так себе, честно говоря. А если сравнить керио, например, с InJoy Firewall, то вообще бледно выглядит. Между прочим, в InJoy Firewall при наличии гуя оставили и обычные текстовые конфиги, и полное управление с командной строки. Это просто мода такая на комбайнов-монстров, которые что только не делают. Поэтому и кажется, что все в керио идеально. А когда дело доходит до хоть какой-нибудь минимальной автоматизации, то керио вообще выглядит как хрень на палочке.
> Господин Венеция не осилил гуй?
> Пусть посмотрит на Kerio Control, видать гении его делали, раз смогли сделать
> через гуй управление фаерволом, шейпером, встроеным антивирусом трафика, веб сервером,
> разграничением правами пользователей и еще ...Когда заменил Win-server на linux с iptables+squid+apache+clamav перекрестился и теперь моя сеть "мягкая и шелковистая".
Теперь настройка Kerio перестала сниться, а поначалу мучился...
Разумеется. Ведь сказать коту "иди принеси тапок из коридора" всегда проще, чем взять его за шкирку, сходить показать тапок, сходить показать, куда его нужно принести, и при этом самому дверью не ошибиться.
>>Особенно ярко преимущество такого подхода проявляется когда нужно поменять адреса в настройках межсетевого экрана, число правил в котором исчисляется сотнями.Видать человек не в курсе, что можно использовать переменные, например я уже лет сто в ipfw использую конструкции вида:
fwcmd="/sbin/ipfw"
# Interface ROSTELECOM
oif="xl0"# Deny Win
${fwcmd} add 101 deny udp from any to any dst-port 137,138 via ${oif}
${fwcmd} add 102 deny tcp from any to any dst-port 139,445 via ${oif}
# Deny CUPS
${fwcmd} add 103 deny tcp from any to me dst-port 631 via ${oif}
# Deny PGSQL & MYSQL
${fwcmd} add 104 deny tcp from any to me dst-port 5432 via ${oif}
${fwcmd} add 105 deny tcp from any to me dst-port 3306 via ${oif}
....
${fwcmd} add 500 deny tcp from any to me dst-port XXXX via ${oif}Меняем имя интерфейса в одном месте и все.
А в остельном CLI рулит, но с той лишь оговоркой, что он должен быть хорошо продуман и удобен, как у Cisco например :)
>[оверквотинг удален]
> ${fwcmd} add 104 deny tcp from any to me dst-port 5432 via
> ${oif}
> ${fwcmd} add 105 deny tcp from any to me dst-port 3306 via
> ${oif}
> ....
> ${fwcmd} add 500 deny tcp from any to me dst-port XXXX via
> ${oif}
> Меняем имя интерфейса в одном месте и все.
> А в остельном CLI рулит, но с той лишь оговоркой, что он
> должен быть хорошо продуман и удобен, как у Cisco например :)Можно ещё круче:
num="100"
for a in "udp:137,138" "tcp:139,445" "tcp:631" "tcp:5432" "tcp:3306" "tcp:XXXX"
do
proto=`echo ${a} | cut -d: -f1`
port=`echo ${a} | cut -d: -f2`
num=`expr ${num} + 1`
${fwcmd} add ${num} deny ${proto} from any to me dst-port ${port} via ${oif}
doneНо сам такое не использую.
Ибо при малейшем глюке возрастает шанс брать такси до серверной =)
надо этому чуваку сделать мобилу с cli. пусть звонит такcall +79233654456 -tone
> надо этому чуваку сделать мобилу с cli. пусть звонит так
> call +79233654456 -toneДа все мобилки клавиатурные это чистой воды CLI интерфейс, чего велосипед то изобретать?
> надо этому чуваку сделать мобилу с cli. пусть звонит так
> call +79233654456 -tonetone вообще должно быть default, в отличие от pulse;
Если в переменных среды можно будет поставить default префикс +7, и научить утилиту выбрасывать из аргумента команды дефисы и скобки, что бы можно было, например, скопипастить из запущенного на cli-смартфоне mutt'а номер из нового письма вида +7(923)365-44-56, а так же добавить автокомплит на быстрые имена в справочнике и телефоны, имхо, могло бы быть удобно для гиков :) Особенно с учетом того, что можно будет погрепать исходящие и входящие вызовы в текстовых логах :)
З.Ы. а чей это номер ;)? Вроде бы, реально существующий :)))
http://www.google.ru/search?q=%2B79233654456&ie=utf-8&o...
З.З.Ы. Жалко, что мобилки не умеют "сливать" свои звонки на rsyslog сервер: имхо, в корпоративной среде было бы очень востребовано, с учетом того, что многие используют тот же Asterisk только из-за логов и записи звонков.
> З.З.Ы. Жалко, что мобилки не умеют "сливать" свои звонки на rsyslog сервер:
> имхо, в корпоративной среде было бы очень востребовано, с учетом того,
> что многие используют тот же Asterisk только из-за логов и записи
> звонков.Кстати, в том же астериске звонить из консоли вообще легко.
Даже инициировать звонок на два номера (чтобы они друг с другом говорили через астериск).
У CLI есть ещё одно преимущество.
Маленькое, но очень большое.
В CLI конфиги от рождения отлично поддаются дампу/бекапу (и развороту оттуда).А в GUI - кто во что горазд.
Где-то - что-то более менее нормальное (plain text).
Где-то - как в реестре винды (структурированный конфиг).
Где-то - хватило ума использовать XML.
Где-то - вообще бинарный дамп.
Но это ещё не так страшно.
Страшно, когда дамп настроек вообще не предусмотрен.Тут уже правильно заметили, что для GUI настройки iptables нужно что-то принципиально новое.
Я бы предложил такой вариант.
Жмакаем "новое правило".
Появляется выбор тех параметров, которые идут первыми.
Списком, или кнопками, или даже облачками.
Выбрали какой-то параметр - этот набор параметров пропадает, но появляется список параметров для следующей опции.
Ну и всегда есть кнопка "пропустить", если какая-то опция не используется.
К каждой кнопке можно добавить знак вопроса - ссылку на справку именно по этому параметру.
И так, опция за опцией строить правило.
В этом случае, с клавиатуры можно ничего не вводить (ip адреса тоже можно не только вписывать, но и предлагать, основываясь на ip адресах интерфейса).
Зато мышкой придется поработать изрядно =)