Выбрать главу

Во всяком случае, допуская что мой файл XF86Config — совершенно правилен, я вожу команду "startx", чтобы запустить "оконную систему X". Экран с минуту моргает, монитор издает странные вибрации, затем предстает, как чистый серый рабочий стол с курсором мыши в середине. В то же самое время он запускает менеджера окон. X Window является прекрасной программулей низкого уровня; она обеспечивает инфраструктуру для ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ, и это — тяжелая промышленная инфраструктура. Но он не рисует окон. Они обрабатываются приложением другого типа, которое располагается поверх X Window, и называется оконным менеджером. Некоторые из них доступны и, разумеется, полностью свободны. Классический — twm (Оконный менеджер дяди Тома) но есть меньший и предположительно более эффективный вариант его, названный fvwm, тот, которым я как раз пользуюсь. Я положил глаз на совершенно другой менеджер окон, названный "Просвещение"(от enligtenment), которое может быть самый последний писк технологии, который я когда‑либо видeл (с тех пор технология слегка продвинулась — прим. перев.), потому что (a) он — для Linux, (b) он — доступен для свободного пользования, (c) он разрабатывается очень узкой группой одержимых хакеров, и (d) он выглядит изумительно круто; это — своего рода менеджер окон, который можно показывать в фоне кина про "Чужих".

Во всяком случае, менеджер окон выступает в качестве посредника между X Window и любой софтиной, которую вы захотите использовать. Он делает рамки окон, меню, и так далее, пока сами приложения создают фактическое наполнение окон. Приложения могут быть любые: текстовые редакторы, веббраузеры, графические пакеты, или программные утилиты, как например, часы или калькулятор. Другими словами, с этой точки зрения, вы чувствуете, как если бы вы попали в параллельную вселенную, которая совсем как знакомая вам "Яблочная" или "Мелкомягкая", но немного и во всем другая. Прикольная графическая программа под Apple/Microsoft — Adobe Photoshop, но под Linux это — нечто названное GIMP. Вместо пакета Microsoft Office, вы можете купить что‑то типа ApplixWare. Многие коммерческие программные пакеты, как например, Mathematica, Netscape Communicator, и Adobe Acrobat, доступны в Linux версиях, и в зависимости от того, как вы устанавливаете ваш оконный менеджер, вы можете заставить их выглядеть и вести себя так, как они это делали под MacOS или "Виндой".

Но есть один тип окна, которое вы увидите в линуховом ГРАФИЧЕСКОМ ИНТЕРФЕЙСЕ ПОЛЬЗОВАТЕЛЯ, который редок или не существует под другими ОСями. Эти окна названы "xterm" и содержат только строки текста — на этот раз черный текст в белом фоне, хотя вы можете заставить их быть другого цвета, если захотите. Каждое xterm окно — отдельный интерфейс командной строки — терминал в окне. Значит даже, когда вы в полноценном режиме графического интерфейса пользователя, вы можете все еще поговорить с вашей Linux машиной через интерфейс командной строки.

Есть много хороших юниховые софтин, которые не имеют ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ ваще. Это могло быть из‑за того, что они были разработаны прежде, чем появилась X Window, или поскольку люди, которые писали их, не хотели заморачиваться созданием ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ, или поскольку, им он просто не был нужен. В любом случае, те программы могут запускаться занесением их имен в командную строку окна xterm. Команда whoami, упомянутая ранее, — хороший пример. Есть другая, назвается wc ("подсчет словей"), которая просто возвращает количество строк, слов, и символов в текстовом файле.

Способность выполнять эти небольшие программные утилиты в командной строке — большое достоинство Unix, и внатуре нефиг дублировать их чистыми ГИП ОпСистемами. Команда wc например, — та штука, которую ллегче написать с интерфейсом командной строки. Она, вероятно, состоит из не более чем нескольких строк текста программы, и башковитый программист мог бы, вероятно, написать ее в одну строчку. В скомпилированной форме она занимает просто несколько байтов дискового пространства (существуют отморозки среди программистов, которые могли бы набрать и сам исполняемый код, делающий то же самое, что и результат обработки исходников компилятором: во всяком случае, Крис Касперски. Но код, нужный, чтоб дать той же проге графический интерфейс с пользователем, должно быть разросся бы до сотен или даже тысяч строк, в зависимости от воображения программиста, захотевшего сделать это (надо быть ПОЛНЫМ отморозком, чтоб такого захотеть — прим. перев.). Скомпилированная в работоспособный кусок софта, она в основном состояла бы из кода графического интерфейса пользователя. Она бы медленно запускалась и расходовала бы много памяти. Это не стоило бы затраченных усилий, и таким образом "wc" никогда бы не была написана в виде независимой программы. Взамен пользователи ожидали бы чтоб появилась примочка для подсчета слов в коммерческом пакете программ.