Чтение онлайн

ЖАНРЫ

Весь Нил Стивенсон в одном томе. Компиляция
Шрифт:

В любом случае, оконный менеджер — посредник между X Window и вашим программным обеспечением. Он определяет, как должны выглядеть рамки окон, меню и кнопочки, то есть формирует поле деятельности для приложений. Приложения могут быть любыми — текстовыми редакторами, браузерами, графическими пакетами или утилитами, такими, как, например, калькулятор или часы. Это похоже на параллельную вселенную — вроде бы всё, как в знакомом до боли мире, где царствуют Apple и Microsoft, и, однако же, чуть — чуть по — другому. Вместо знаменитого Adobe Photoshop, идущего на «ура» под MacOS и Windows, вы ставите The GIMP, вместо Microsoft Office — покупаете ApplixWare [632] . Большинство платных программ таких, как Mathematica, Netscape Communicator, Adobe Acrobat имеют Linux — версии, и если вы подобающим образом

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

632

OpenOffice и LibreOffice тогда ещё не было.

Но вряд ли где ещё, кроме Linux, вам встретиться окошко под названием xterm. Обычное окошко — черные буквы на белом фоне, цвет которых вы вольны изменить в любое мгновение. Каждое окошко xterm — самостоятельный интерфейс с командной строкой, этакое tty в окне. Поэтому, даже если вы с головой погрязли в ГПИ — режиме, вы всё — равно не утратили возможность общаться с Linux — системой посредством командной строки.

Довольно много программного Unix — обеспечения вообще обходится без ГПИ. Возможно, его создали до появления X Window, или, возможно, программистам совершенно не хотелось заморачиваться с разработкой ГПИ, а, может, они в нем просто не нуждались. Так или иначе, для вызова любой такой программы достаточно ввести ее имя в командной строке окошка xterm. Наглядное тому подтверждение — уже упоминавшаяся команда whoami. Есть ещё одна, wc (сокращенно от word count, счетчик слов), которая сообщает количество строк, слов и букв, набранных в текстовом файле.

Запуск подобных утилит из командной строки — неоспоримое преимущество Unix, ибо попробуйте сделать хоть что-то похожее в операционных системах, работающих под ГПИ. Возьмем, к примеру, команду wc, ничего не стоит сесть да написать такую программку для операционной системы с командной строкой. Пара строчек кода (а какой-нибудь умница — программист вообще обойдется одной строкой) и — готово. Программка маленькая, всего-то несколько байт памяти, места на диске практически не занимает. Чтобы написать подобную программку в операционках с ГПИ, потребуются сотни, даже тысячи строк кода, а если программист попадется с воображением, то и десятки тысяч. Такая программа страдала бы неизлечимым ГПИ — синдромом — медленно и неохотно загружалась и жрала бы память как не в себя. Овчинка выделки не стоит, поэтому вряд ли такая программа, как самостоятельная и независимая утилита, увидела бы свет. Пользователям пришлось бы дожидаться, когда выйдет коммерческий пакет, в который добавили бы встроенную функцию — счётчик слов.

Склонность ГПИ усложнять любое, даже самое минимальное программное обеспечение постепенно полностью меняет стиль программирования. Теперь бессмысленно писать маленькие утилитки. Их замещают функциями, встроенными в громадные, всеохватывающие программные пакеты. Аппетиты ГПИ растут, он усложняет всё вокруг, программные пакеты превращаются в вечно голодных монстров и начинают поглощать друг друга, как, например, Microsoft Office поглотил Microsoft Word, Excel и Power Point. Все это напоминает ситуацию с гипер — маркетом Wal-Mart — чудовищных размеров исполин, обосновавшийся на окраине города, сживает со свету расположенные по соседству маленькие частные магазинчики.

Сравнение не совсем уместное, потому что когда магазинчик не выдерживает конкуренции с Wal-Mart, его владелец разоряется и теряет всё. Ничего подобного с программами, конечно же, не происходит, они становятся компонентами бесчисленных пунктов меню, как это случилось, например, с утилитой wc, которую встроили в Microsoft Word. Единственный по — настоящему серьезный изъян в этом случае — потеря гибкости программного продукта, однако большинство пользователей этого либо вовсе не замечает, либо делает вид, что так и надо. Но с Wal-Mart тоже не всё гладко. Ведь большинству покупателей всего-то и нужно — одна баночка того, бутылочка другого, а их заставляют брать целые упаковки. И что потом делать со всем этим добром? Хотя, конечно, у каждого пользователя свой взгляд на то, что ему нужно, а что нет.

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

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

Однако сейчас я веду речь о приложениях, а не об операционных системах. И, как я уже отметил, приложения от Microsoft очень и очень недурны. Я редко ими пользуюсь — они пишутся в расчёте на другую аудиторию. Но если вдруг когда-нибудь Microsoft создаст пакет прикладных программ, который я полюблю и с которым стану работать, пусть взвинчивает цены на акции, я намерен скупить их все!

Хакеры тоже плачут

Работать с Linux — задача не для слабонервных. Всякий раз, когда мне предстоит что-нибудь грандиозно тяжелое — например, установить X Window или подсоединить интернет, я беру толстую тетрадку и тщательно записываю последовательность действий. Таких тетрадок, описывающих борьбу и поражения, за годы моего общения с Linux накопилось три с половиной штуки. Если всё идет как надо, и я спокойно работаю, то у меня даже мысли не возникает что-либо записать. Так что эти тетрадки — чтиво довольно-таки безрадостное. Но смысл в них есть. Внести изменения в Linux — значит открыть и откорректировать множество коротеньких текстовых файликов: где-то заменить слово, где-то — запятую. Мелочь, казалось бы, но для операционной системы жизненно важны именно эти мелочи.

Большинство файлов, отвечающих за работоспособность системы, не что иное, как командные строки, ставшие таким длинными и сложными, что даже истинные хакеры — «линуксоиды» не в состоянии напечатать их без ошибок. Когда работаешь с чем-то таким же могучим, как командная строка Linux, на создание одной — единственной команды с легкостью может уйти полчаса. Например, есть удивительно мощная, грандиозная программа find, которая сканирует диски в поисках заданного по определенным критериям файла. Одно «краткое руководство пользователя» (man) к этой программе занимает одиннадцать страниц настолько содержательного текста, что при желании из них получилась бы целая книга. Но если вам эта команда покажется просто «цветочком», всегда есть возможность заняться «ягодками» — перенаправить вывод одной запутанной Unix — команды на вход другой, не менее головоломной. Капризная команда «pon», подключающая интернет, требует настолько детализированной информации, что запустить её, задав все параметры с помощью аргументов командной строки, практически нереально. Для работы с ней вам придется создать три или четыре разных файла. Вам потребуются dialing script — программка, которая напрямую общается с модемом, выдает на модем AT — команды и считывает ответы, файл параметров /etc/ppp/options, который может содержать до шестидесяти параметров, необходимых для установления PPP — соединения, и файл secrets, где хранятся пароли.

Допустим, где-нибудь в подлунном мире и живет такой Unix — хакер от Бога, которому помочей в виде скриптиков и файлов параметров даром не надо, который садится за клавиатуру и одним махом вколачивает длинную — предлинную, сложную — пресложную командную строку без единой ошибки и опечатки и в гробу видал документацию. Но я не он. Я, как и большинство пользователей Linux, жить не могу без маленьких подсказок, спрятанных в тысяче тысяч текстовых файлов, притаившихся в самых укромных уголках файловой системы Unix. И когда я хочу внести изменения в работу операционной системы, я обращаюсь именно к ним. Я прекрасно понимаю, что если не запишу в тетрадку последовательность действий и забуду о каком-нибудь, пусть даже незначительном внесенном изменении, я уже не смогу вернуть всё на круги своя и восстановить работоспособность системы. Вести «дневник наблюдений» ужасно скучно (анахронизм какой-то!), но — необходимо.

Возможно, обратись я за помощью в компанию Cygnus Support, предоставляющую техподдержку пользователям бесплатного программного обеспечения, я бы избавился от вышеописанной головной боли. Но я этого не сделал. Захотел узнать, а слабо ли мне справиться самому. Оказалось, не слабо, но — какой ценой. А сколько ещё установок и настроек, которые я мог бы применить, но, наверное, так и не применю отчасти потому, что иногда очень надоедает строить из себя Морлока, а отчасти потому, что боюсь повредить отлаженную и четко работающую систему.

Поделиться с друзьями: