10.
Основы работы в X WINDOW

Успешно изучив материал, Вы будете знать:

После изучения данной темы Вы будете уметь работать с графическими интерфейсами, совместимыми с X Window.

После изучения материала Вы будете обладать навыками работы с графическими интерфейсами, совместимыми с X Window.

Основные понятия к теме 10

Панель, системное меню

Окно, заголовок окна, функциональные кнопки

Файл, папка, диспетчер файлов

Дерево каталогов, панель просмотра, панель инструментов

Окно терминала xterm

10.1.
Запуск X Window и GNOME

Поскольку система Red Hat заранее сконфигурирована на использование GNOME, для запуска последнего достаточно запустить X Window. Для этого надо войти в систему как пользователь и ввести команду $ startx (если запуск не произошел автоматически).

По этой команде происходит запуск X Window и диспетчера рабочего стола GNOME. Примерный внешний вид рабочего стола GNOME показан на рисунке 10.1.

На нем располагаются значки двух разновидностей: значки, предназначенные для запуска приложений, и значки папок, используемые для доступа к файлам с помощью диспетчера файлов GNOME, называемого GNU Midnight Commander.

Вместе с GNOME загружаются два его основных компонента — панель и окно xterm.

10.1.1.
Панель GNOME

На панели размещаются кнопки быстрого запуска специальных программ:

10.1.2.
Главное системное меню

Меню System (Системное) подобно меню Пуск в Windows. После щелчка на кнопке System открывается меню, показанное на рис. 10.2.

10.1.3.
Интерфейс GNOME

В пользовательском интерфейсе GNOME есть много критических элементов. Рассмотрим средства GNOME, позволяющие манипулировать окнами и взаимодействовать с рабочим столом.

10.1.4.
Манипулирование окнами

По внешнему виду и поведению окна GNOME мало отличаются от своих собратьев из Windows. Это существенно облегчает жизнь пользователям Windows, которым не потребуется особых усилий для перехода с одной оконной системы на другую.

Рассмотрим основные элементы окна — строку заголовка, функциональные кнопки, меню окна и рамку.

10.1.5.
Строка заголовка

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

Строка заголовка выполняет несколько функций. Очевидно, что щелчок на ней делает окно активным. Для этого достаточно щелкнуть в любом месте окна, но в некоторых редких случаях все же лучше делать это на строке заголовка. Перетаскивая заголовок, можно перемещать окно по рабочему столу. После отпускания кнопки окно оказывается на новом месте.

Двойной щелчок на строке заголовка приводит к сворачиванию окна (shading — по терминологии GNOME), и на экране остается только строка заголовка, сохраняющая все свои функции. Следующим двойным щелчком окно возвращается к прежнему состоянию (unshading — по терминологии GNOME).

10.1.6.
Функциональные кнопки

Это группа из трех кнопок в верхнем правом углу большинства окон. Щелчок на одной из этих кнопок приводит к следующим преобразованиям окна (слева направо).

Сворачивание окна. Окно удаляется с экрана, остается лишь его кнопка в списке задач на панели.

Разворачивание/восстановление окна. Разворачивание окна во весь экран (разворачивание) и возвращение в исходное состояние (восстановление).

Закрытие окна. Если программа многооконная, то щелчок на этой кнопке не обязательно приводит к прекращению работы программы.

Меню окна. Слева от заголовка расположен значок, щелчок на котором приводит к открытию меню, содержащего несколько команд управления окном. Первые три команды (Minimize, Maximize и Close) дублируют функциональные кнопки окна. Остальные команды разнесены по подменю:

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

Можно менять размер окна по горизонтали, вертикали или одновременно в двух направлениях, перетаскивая сторону рамки в любом месте, кроме края, непосредственно примыкающего к строке заголовка. При перетаскивании сторона рамки следует за указателем мыши, изменяя размер окна. При перетаскивании левой и правой сторон рамки меняется размер по горизонтали, при перетаскивании верхней и нижней — по вертикали. Если перетаскивать один из нижних углов, изменяются оба размера.

10.1.7.
Управление файлами в GNOME

У пользователей Windows есть Проводник, в Mac OS — программа Finder. Назначение всех этих программ — управление файлами (в том числе копирование, перемещение, переименование и удаление) и запуск программ.

В мире X Window до последнего времени подобного стандартного средства не было. Правда, есть ряд программ, претендующих на роль диспетчеров файлов или рабочих столов и пытающихся предоставить пользователю соответствующие функции.

Однако с появлением альтернативных стандартов для Linux GNOME и КDЕ ситуация изменилась. Обе среды содержат диспетчеры файлов. В GNOME это GNU Midnight Commander — гибкий и качественный инструмент управления и просмотра файлов.

Диспетчер файлов GNOME можно запустить, выполнив команду File Manager системного меню Programs. Можно также ввести из командной строки команду:

10.1.8.
Окно диспетчера файлов

Окно диспетчера файлов выглядит примерно так же, как и проводник Windows. В окне показывается содержимое одного каталога. По умолчанию задан исходный каталог пользователя, запустившего диспетчер файлов.

10.1.9.
Дерево каталогов

С левой стороны окна диспетчера файлов GNOME находится развертываемая структура каталогов системы Linux. Внешне она напоминает дерево каталогов проводника Windows (Windows 2000 и XP) и работает совершенно аналогично.

Щелчок на знаке треугольника, указывающего вправо, рядом с именем каталога, приводит к его развертыванию — выводу содержащейся в нем структуры подкаталогов.

Щелчок на знаке треугольника, указывающего вниз, рядом с именем каталога, сворачивает содержащуюся в нем структуру подкаталогов.

Щелчок на имени каталога выводит его содержимое в правой части окна диспетчера файлов.

Примечание. В некоторых версиях GNOME, включая и версию в базовой инсталляции Red Hat Linux, на месте треугольников, указывающих вправо, стоят знаки «+», а на месте треугольников, указывающих вниз, знаки «—».

10.1.10.
Панель просмотра

С правой стороны окна диспетчера файлов GNOME расположена панель просмотра, на которой представлено содержимое каталога, выделенного в левой части окна. Каталоги и файлы на этой панели представлены полноразмерными значками (по умолчанию). Существуют специальные значки для обозначения каталогов и файлов различных типов. Наиболее важные, смысл которых следует запомнить, — это значки каталогов, документов общего назначения, пакетов и архивов, а также файлов HTML.

  1. Значок папки используется для обозначения каталогов. Его смысл должен быть понятен пользователям систем Macintosh и Windows.

  2. Чистый лист бумаги обозначает файл документа общего назначения. Это может быть обычный текстовый файл или файл Microsoft Word.

  3. Лист бумаги с аббревиатурой HTML над ним обозначает файл HTML.

  4. Наконец, значок, изображающий пресс, обозначает пакеты и архивы, например ZIP-файлы.

10.1.11.
Панель инструментов

В верхней части окна расположена панель инструментов, на которой установлены девять кнопок. Перечислим их:

10.2.
Введение в систему команд Linux

В этой теме мы займемся освоением среды командной строки Unix. Среда командной строки — основа Linux. Как вы уже убедились, X Window обеспечивает простой и быстрый доступ к графическим программам, существенно повышающим эффективность работы пользователя. Но часто при этом утрачивается возможность полного управления системой Linux. Это становится очевидным в самом начале изучения системы команд.

В теме рассмотрены некоторые часто употребляемые команды: is, find и grep. Поскольку это команды большинства дистрибутивов, пользователи Unix без труда определят их назначение и возможности, предоставляемые опытному пользователю.

Прежде чем перейти к рассмотрению конкретных команд, дадим определение команде.

Что такое команда Linux. Пользователям, вышедшим из среды DOS, это понятие знакомо: команда — основа главных функций операционной системы. Из команд DIR, COPY или ATTRIB составляются довольно сложные процедуры, оформляемые в виде bat-файлов (командных файлов).

Однако в DOS, как и в других операционных системах, количество команд ограничено и статично — пользователь не может вводить собственные команды.

В мире Unix (следовательно, и Linux) понятие команды несколько иное. Здесь команда — это любой выполняемый файл.

Командой Linux является любой файл, предназначенный для выполнения, а не для хранения данных или конфигурационных параметров. Любой выполняемый файл, записанный в систему, становится ее командой.

Выполнение команды Linux. Поскольку мы уже рассмотрели запуск программ в X Window, нет надобности подробно описывать эту процедуру. Чтобы выполнить команду, введите ее в командной строке:

Если файл команды не находится в каталогах вашего пути, введите команду с указанием полного пути:

Путь в Linux. Некоторых пояснений требует понятие пути (path). Каждому пользователю, вошедшему в систему, предоставляется путь по умолчанию. Узнать его можно с помощью команды:

Результат ее выполнения может выглядеть так:

Путь $PATH — список каталогов, разделенных двоеточиями. Если команда вводится без указания пути, то происходит ее поиск (т.е. поиск соответствующего выполняемого файла) во всех каталогах пути по умолчанию. В приведенном выше примере, если команда guess есть и в каталоге /usr/local/bin, и в каталоге /home/mj/bin, то выполнится та из них, которая расположена в каталоге /usr/local/bin. Если же вы хотите выполнить именно ту команду guess, которая расположена в каталоге /home/mj/bin, то придется указать полный путь, т.е. ввести команду /home/mj/bin/guess.

Количество команд, доступных в обычном дистрибутиве, достаточно велико. Но даже высококвалифицированный пользователь постоянно пользуется лишь некоторыми командами.

Обычные команды Linux. В этом параграфе рассмотрены некоторые из наиболее часто используемых команд Linux. Они применяются для выполнения множества задач: от перехода из каталога в каталог до определения программ, выполняемых в системе, или поиска файлов. Мы рассмотрим следующие команды:

Su — одна из основных команд, которой можно воспользоваться в различных ситуациях.

Обычно команда su используется для переключения пользователей. Предположим, что вы вошли в систему как пользователь user1, вам нужно перейти на учетную запись пользователя user2, выполнить некоторые действия и продолжить работу как user1.

Вы можете выйти из системы, вновь войти в нее как user2, затем, выполнив все, что надо, вновь выйти и войти как user1. Утомительная процедура. Можно поступить иначе: войти в одну виртуальную консоль как user1, в другую — как user2, а затем переключаться с консоли на консоль. Этот метод неудобен тем, что приходится работать с разными экранами.

Наконец, третий способ — использование команды su. Чтобы перейти на учетную пользователя user2, достаточно ввести команду:

после чего на экране появится строка ввода пароля пользователя user2:

Чтобы вернуться к учетной записи user1, введите команду:

Полностью это будет выглядеть следующим образом:

Часто команда su используется для получения прав корневого пользователя (или суперпользователя), если предстоит выполнение административных задач — создание или редактирование учетных записей пользователей, конфигурирование сети или принтеров.

Если ввести команду su без имени пользователя, то система будет подразумевать имя root. После ввода пароля вы можете продолжить работу как корневой пользователь.

Войдя в систему как корневой пользователь, вы можете при помощи команды su без ввода пароля перейти на учетную запись любого пользователя (еще одна причина прятать пароль корневого пользователя от посторонних глаз). Эта возможность особенно ценна для администратора системы, которому приходится устранять проблемы, возникающие у разных пользователей. (Ввод пароля каждого из них был бы большим неудобством.) Обратите внимание: в следующем примере при переходе корневого пользователя на учетную запись user1 строка ввода пароля на экране не появляется.

Команда su предоставляет много возможностей, используемых при решении сложных административных задач. Узнать о них можно из страницы руководства для этой команды («$ man su»).

Pwd, cd и ls — команды, основное назначение которых — работа с каталогами и файлами.

Pwd — аббревиатура от present working directory — текущий рабочий каталог. Набрав ее в командной строке и нажав <Enter>, можно узнать свой текущий каталог.

В примере команда pwd возвращает имя текущего каталога /home/armand. Следовательно, вы находитесь в исходном каталоге пользователя armand (это мой каталог).

Команда cd не только определяет текущее состояние, но и изменяет его. По этой команде выполняется переход из текущего каталога в любой другой (доступный).

Вернемся к предыдущему примеру с текущим каталогом /home/armand. Воспользовавшись командой cd, перейдем в подкаталог wordfiles этого каталога.

Если теперь ввести команду pwd, она подтвердит переход в новый каталог. Аналогично выполняется переход в системный каталог временных файлов / tmp:

Отличие сводится к наличию ведущей косой черты (/) перед названием каталога. Первая команда (cd wordfiles) ее не использует, поэтому адресация перехода выполняется по отношению к текущему каталогу. Если выполнить точно такую же команду из исходного каталога Майка (/home/mike), то вы перейдете в каталог /home/mike/wordfiles.

А вторая команда (cd /tmp) использует ведущую косую черту. Такая команда позволяет выполнить переход в одну и ту же точку дерева каталогов независимо от того, в каком каталоге она выполняется.

Наконец, команда ls предназначена для просмотра содержимого текущего каталога. Если ввести эту команду из каталога armand, то результат будет примерно следующим:

Обратите внимание на способ вывода на экран имен файлов и каталогов — в несколько столбцов. Ширина столбца определяется максимально длинным именем файла или каталога в нем.

Команда ls используется для вывода содержимого не только текущего, но и любого доступного каталога. Для вывода содержимого каталога usr необходимо ввести команду ls /usr.

Обратите внимание на зависимость числа и ширины столбцов от максимальной длины имени файла или каталога.

Возникает вопрос: какой прок в указанной информации, если нельзя отличить каталоги от файлов и не указаны объемы последних?

Чтобы вывести недостающую информацию, воспользуйтесь расширенным форматом команды: ls -l. Ниже показан результат ввода этой команды в том же исходном каталоге armand:

Теперь у нас есть достаточно подробные сведения о каждом файле. Самые важные из них находятся слева от имени файла или каталога — дата последней модификации и (только для файлов) объем в байтах (1024 байт = 1 Кбайт).

Первый символ первого столбца указывает, что приведено в этой строке: каталог (d) или файл (-). Например, scmp-jpc — это файл:

в отличие от каталога mail:

Остальные символы указывают на права доступа пользователей к этому файлу или каталогу. Строка прав описывается тремя группами по три символа: права владельца файла, права пользователей, принадлежащих к группе владельца файла, и права прочих пользователей. Первый символ каждой группы разрешает чтение файла («r»), второй — запись в файл («w»), а третий — выполнение файла («x»). Символ «-» означает запрет на соответствующую операцию с данным файлом или каталогом.

Второй столбец указывает на количество ссылок на данный объект файловой системы.

Третий и четвертый столбцы — имя владельца файла/каталога и группу владельца.

Пятый столбец — объем места, занимаемого объектом на диске.

Шестой и седьмой столбцы — дату и время создания.

Восьмой столбец — имя объекта.

10.3.
Команды и кавычки

Существует три разновидности кавычек, используемых в командах: одиночная ('), двойная (") и обратная (`). Эти кавычки отличаются с точки зрения встроенных команд, наподобие date, и переменных, наподобие $LOGNAME. Пара любых одинаковых кавычек ограничивает передаваемую команде строку данных. Например, допустим, что $LOGNAME=mj и сравним следующие команды:

В зависимости от того, насколько корректно указаны кавычки, Linux будет (или не будет) выполнять команду date или транслировать $LOGNAME. Результаты выглядят так:

Первый пример не содержит кавычек вообще. $LOGNAME транслируется как mj, но команда date не выполняется. Во втором примере использованы одиночные кавычки. $LOGNAME не транслируется, а команда date не выполняется. Третий пример содержит двойные кавычки. Последний пример заключает date в обратные кавычки. Такая процедура позволяет выполнить команду Linux, входящую в состав текстовой строки.

Основные выводы

  1. Принципы построения графических интерфейсов стандартизованы и одинаковы во всех системах.

  2. Интерфейс GNOME более богат возможностями по управлению окнами, чем графический интерфейс в Windows.

  3. Гибкость интерфейса достигается за счет того, что предоставлены равные возможности по работе с операционной системой как в графическом, так и в консольном режиме.

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

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

Контрольные вопросы

  1. Проанализируйте графические интерфейсы Windows и Linux и выведите общие принципы построения графических интерфейсов.

  2. Какими дополнительными возможностями по управлению окнами обладает GNOME по сравнению с Проводником?

  3. Какие команды наиболее часто используются в консольном режиме?

  4. Объясните разницу в использовании в консольных командах одинарных и двойных кавычек.

Задания для самостоятельной работы

Выполните задания к теме 10 в тетради-практикуме.