Весь Нил Стивенсон в одном томе - Нил Стивенсон
Конечно, кто‑то подумает, что раз у меня только одно окно на мониторе, мне позволено работать только с одной командной строкой, и, соответственно, одномоментно запускать лишь одну программу. Однако, стоит мне нажать сочетание клавиши Alt и функциональной клавиши F2, что расположена в верхнем ряду клавиатуры, как передо мной распахивается свеженькое чистенькое черное окошко с приглашением ввести логин и пароль. Залогинившись, я запускаю ещё одну программу, затем нажимаю Alt‑F1 и возвращаюсь в предыдущее окно, которое, несмотря на то, что я переключился на другие задачи, продолжает работать как ни в чём не бывало. Или, нажав Alt‑F3, я могу залогиниться в третьем окошке или в четвертом (Alt‑F4) или в пятом (Alt‑F5). Одно окошко я могу открыть под своим именем, другое — под именем root (системный администратор), а с третьего и вовсе зайти на удаленную машин через интернет.
Каждое из этих окошечек на языке Unix называется tty (сокращенно от teletype, телетайп). Поэтому всякий раз, открывая окошко в Linux, я словно бы переношусь назад в ту самую школьную комнатку в моём родном городе, где двадцать пять лет назад написал свою первую программу. Просто tty тише и быстрее, чем телетайп, и поддерживают такое мощное ПО, как Emacs и GNU.
В Linux вы легко (легко по стандартам UNIX, а не по стандартам Apple/Microsoft) сконфигурите вашу машину так, чтобы после включения она сразу же загружала ГПИ. В этом случае вы никогда не увидите окошек tty. Однако я до сих пор гружусь в телетайпном белые — буквы — на — черном — экране режиме. Это моё memento mori, если хотите. В старину маститые писатели, бывало, держали на письменном столе человеческий череп, чтобы он напоминал им о суетности и бренности мира. Окошки tty предостерегают меня от соблазна пасть жертвой мишурного блеска пользовательского интерфейса.
Оконная система X Window System — ГПИ в среде Unix — должна поддерживать тысячи разных видеокарт на разнообразных чипсетах, огромное количество отличающихся друг от друга типов памяти и материнских плат. Кроме того, не стоит забывать о несметной армии мониторов (от новехоньких до бэушных), которые предлагает нам рынок, и так как каждый монитор отличается особыми техническими требованиями, то, следовательно, существует несколько миллионов всевозможных комбинаций материнских плат и дисплеев. Единственное, что роднит их всех — то, что все они могут работать в алфавитно — цифровом стандарте VGA, старейшем режиме работы командой строки, который в течение нескольких секунд можно наблюдать и при загрузке Windows. Linux всегда загружается в текстовом режиме, ибо поначалу система понятия не имеет, какое оборудования подключено к компьютеру. Если вам претит работа со «стеклянным телетайпом», и вы мечтаете запустить Linux в ГПИ, то сначала вам потребуется точно и достоверно сообщить системе, какое аппаратное обеспечение установлено на вашей машине. Если вы ошибетесь, то в лучшем случае получите пустой экран, а в худшем — сожжёте дисплей, подав на него не тот сигнал.
Когда я осваивал Linux, всё приходилось делать вручную. Как‑то я почти целый месяц убил на то, чтобы заставить систему опознать монитор. Свидетельница этой отчаянной и затяжной борьбы, моя записная книжка, была испещрена невнятными закорючками, горестно оплакивающими мою тяжкую долю. Стоит, правда, признать, что монитор тот был очень уж нестандартным. Сейчас большинство дистрибутивов Linux поставляются с программой, которая автоматически определяет тип видеокарты и настраивает систему наилучшим образом, так что запустить X Window теперь так же легко, как ГПИ на машинах с ОС от Apple и Microsoft. Важнейшая системная информация записывается в обычный текстовый файл XF86Config, в который имеет смысл заглянуть, даже если ваш дистрибутив создает его автоматически. Для большинства пользователей всё, написанное в нём, загадочно и необъяснимо, но не в этом и суть. Подобный файл с похожей информацией существует и в MacOS, и в Windows, однако запрятан он так далеко, что не всегда найдёшь, а если даже и найдёшь, то вряд ли откроешь и прочитаешь с помощью обычного текстового редактора. В Linux все системные файлы открываются без труда. Это всегда обычные текстовые файлы, не требующие специальных программ, чтобы их прочесть. С одной стороны это хорошо, есть возможность в любой момент на них поглазеть, с другой стороны это плохо, так как можно случайно повредить их и угробить операционную систему.
Предположим, с моим файлом XF86Config всё в порядке, я ввожу команду startx и запускаю X Window System. Монитор на минуту гаснет, раздается волнующий писк, и на экране, на подложке серого фона, возникает рабочий стол с курсором мышки посредине. Потом загружается оконный менеджер. Сама по себе система X Window System ГПИ не является, она не рисует окна и менюшки, предоставляет это делать другим программам — оконным менеджерам, которые ставятся поверх X Window. Некоторые из них, разумеется, в свободном доступе. Самый известный и популярный — twm (Tom's Window Manger — оконный менеджер Тома[631]), однако существуют и другие варианты, например, более легкий и, возможно, более шустрый fvwm, которым пользуюсь я. Сейчас я положил глаз на оконный менеджер Enlightenment. Это, скажу я вам, нечто! Совершенно ни на что не похожее, самое «хипповое» приложение, которое я когда‑либо видел. Во — первых, оно написано под Linux, во — вторых, абсолютно бесплатно, в — третьих, создано группой хакеров, по — настоящему одержимых программированием, а в — четвертых, просто — напросто великолепно. Это такой оконный менеджер, который естественно вписался бы на задний план фильма «Чужие».
В любом случае, оконный менеджер — посредник между X Window и вашим программным обеспечением. Он определяет, как должны выглядеть рамки окон, меню и кнопочки, то есть формирует поле деятельности для приложений. Приложения могут быть любыми — текстовыми редакторами, браузерами, графическими пакетами или утилитами, такими, как, например, калькулятор или часы. Это похоже на параллельную вселенную — вроде бы всё, как в знакомом до боли мире, где царствуют Apple и Microsoft, и, однако же, чуть — чуть по — другому. Вместо знаменитого Adobe Photoshop, идущего на «ура» под MacOS и Windows, вы ставите The GIMP, вместо Microsoft Office — покупаете ApplixWare[632]. Большинство платных программ таких, как Mathematica, Netscape Communicator, Adobe Acrobat имеют Linux — версии, и если вы подобающим образом настроите оконный менеджер, невозможно будет отличить, в какой