Графические приложения для пользователей Linux
Описание небольших графических программ для ежедневной работы и системного администрирования.
Работая с операционной системой Linux, Вы можете выполнять практически любые операции, работая с командной строкой шелла. Для администратора сервера этот способ является лучшим выбором по двум причинам:
- все административные функции можно выполнять с любого компьютера, подключенного к сети в сеансе удаленного доступа TELNET;
- общее администрирование можно легко автоматизировать, используя шелловские скрипты.
В сравнении с однопользовательскими системами, такими, как Windows NT, которые ничего не знают об удаленном подключении, не имеют языка командного интерпретатора и эквивалента командной строки для выполнения стандартных операций администрирования, доступных по щелчку мыши, эти достоинства ОС Linux помогают системному администратору сберечь массу времени.
Но тем пользователям, для которых Linux - это просто операционка их настольного компьютера, будет легче выполнять те же операции с использованием графического интерфейса и специальных приложений, вместо ввода незнакомых команд. Даже для консерваторов, которые никак не могут сменить свой с таким трудом настроенный FVWM на KDE, Linux предлагает много графических приложений для выполнения основных задач управления системой.
Получение справочной информации
Чтобы узнать описание определенной команды, нужно прочитать ее справочный файл (man page), и это можно сделать простым вводом команды man. Но более удобный способ - это использование программ просмотра справочных файлов, таких, как xman или tkman. Если xman - это страшная серая мышка исторических времен появления графической системы X Window, tkman (автор программы Том Фелпс) - это чудесная графическая оболочка для просмотра справочных файлов.
tkman выводит справочную информацию в удобном и приятном для глаз пользователя виде, поддерживает гипертекстовые ссылки на другие справочные файлы, позволяет осуществлять поиск внутри этих файлов по заданному ключевому слову. Если Вы хотите просмотреть справочный файл из определенного раздела, просто добавьте точку и номер раздела при вводе команды, например, для просмотра справки по функции printf из библиотеки языка С (это третий раздел man страниц), а не команды шелла printf (это первый раздел), введите команду:
man printf.3.
Кроме того, Вы можете распечатывать отображаемые справочные файлы, но для печати нужно выполнить маленький трюк. Печать стартует из меню "Occasionals" - "Kill Trees" - "lp", которое вызывает текстовый процессор groff с параметрами -Tps для вывода в формате PostScript или -l для вывода обычного текста. Последний режим не будет работать, пока команда print не будет описана в файле настроек программы groff (/usr/share/groff/ font/devpc/DESC). Если прямой вывод на печать из программы tkman не работает, ознакомьтесь со справкой по программе groff.
Другой источник справочной информации - набор гипертекстовых info файлов, который состоит из разделов со своей, внутренней, иерархической структурой. Если man файлам отдается предпочтение при поиске справки по простым командам шелла, то info файлы лучше просматривать в поиске более подробной и детальной информации по библиотекам (это теоретически).
На практике, некоторые сумасшедшие программисты решают переместить документацию по элементарным командам шелла, таким, как ls или rm, из man файлов в info файлы. Поэтому каждому нужно средство просмотра info-страниц.
В командной строке вы можете ввести команду info, которая запускает текстовый редактор Emacs в режиме справочника. В качестве альтернативы можно использовать программу tkinfo (авторы Кеннард Уайт и Аксель Болдт) как графический просмотрщик info-страниц. После запуска без аргументов, передаваемых программе в командной строке, tkinfo выводит на экран каталог info файлов. Если Вам не нравится шрифт, который использует программа tkinfo, можно добавить строку описания tkinfo*Text.font в свой файл настроек. xresourses или. xdefaults. Окно просмотра tkinfo удобнее, а управление программой проще, чем редактор Emacs в режиме справки, но эта программа имеет и некоторые недостатки. Отдельные справочные разделы могут быть не найдены из меню "File" - "Goto Node". Например, tkinfo не может найти справку по команде "ls", даже если программа запускается с параметром tkinfo ls. Для того чтобы найти справку по команде ls, Вам придется тщательно порыться в иерархии справочных файлов, потратив на это некоторое время.
К счастью, большинство команд хорошо документировано в man разделах и необходимость затрагивать справочные разделы info возникает очень редко.
Контроль над процессами
Программа qps (автор Маттиас Энгдегард) - это графическое воплощение известных команд ps, top и kill, основанное на наборе инструментов Qt. Qps - это привлекательный и мощный инструмент. Вы можете использовать эту программу в качестве расширенной версии команды top, выбрав функцию "All Processes" из меню "View", указать период обновления (Update Period) в меню "Options" и включить сортировку списка активных процессов системы по степени загрузки процессора, нажав на кнопку "CPU". Это позволит быстро определить, какие процессы пожирают больше системных ресурсов. Можно использовать программу qps и как комбинацию команд ps и kill - выбрать любой процесс из списка и передать ему управляющий сигнал из меню "Signal".
Работа с файлами
На первый взгляд, широкий спектр менеджеров файлов (xdtm, mfm, xfilemanager, xfm, xgroups... и т.д.), которые имеются в каждом дистрибутиве Linux, выглядит многообещающим.
Но почти все эти инструменты или примитивны, или не очень удобны в работе. Программа TkDesk (автор Кристиан Болик) является единственным исключением, которое я встретил.
TkDesk - это больше, чем простой менеджер файлов. По умолчанию он устанавливает даже собственное меню на рабочем столе. Но эту опцию, если она не желательна, можно отключить через меню "TkDesk" - "Toggle Appbar". Когда я только начал использовать эту программу, она часто подвисала на короткие промежутки времени без видимой причины. Мне потребовалось немного времени, чтобы узнать, что программа просто пыталась задействовать звуковые эффекты, которые не поддерживались моей системой. Если эти настройки вызывают проблемы, их можно отключить из меню "Options" - "Use Sound".
Я использую программу TkDesk в основном для просмотра файлов, которые глубоко запрятаны в сложной структуре каталогов моего компьютера. Это делается очень быстро, так как TkDesk имеет встроенные средства просмотра и редактирования файлов. Более того, программа отображает директории в виде папок, что облегчает переходы между соседними каталогами.
Сравнение файлов
Часто требуется выполнить проверку на наличие различий между двумя версиями одного файла. Можно для этих целей использовать команду шелла diff, но работать с графическими программами mgdiff и tkdiff гораздо удобнее.
Программа mgdiff (автор Даниэль Уильямс) может вызываться, как и программа diff, из командной строки, имена двух файлов передаются ей в виде аргументов. Но в качестве альтернативы она допускает выбор файлов из меню "File" - "Open", к тому же саму программу можно запускать из меню "Программы" оконного менеджера. mgdiff выводит содержимое двух выбранных файлов в отдельных окнах. Отличия, добавленные и удаленные фрагменты выделяются различными цветами, которые могут настраиваться соответствующими командами в файлах конфигурации. xresourses или. xdefaults. Более того, можно легко объединить два исходных файла в один результирующий, выбрав соответствующие фрагменты текста для сохранения и записав их в новый файл через меню "File" - "Save As".
Для программистов, которым необходимо контролировать версии программ, утилита tkdiff (автор Джон М. Класса) может оказаться очень полезной. В отличие от mgdiff, она вызывается только из командной строки, так как имена сравниваемых файлов передаются ей в виде аргументов.
Программа имеет встроенный справочник, но man файлы для нее отсутствуют, а это не всегда удобно. Но tkdiff предлагает тот же набор функций, что и mgdiff, и может использовать различные системы контроля версий файлов (RCS, CVS или SCCS). Например, по команде tkdiff -r filename происходит сравнение содержимого файла filename c последней ранее проверявшейся его версией.
Работа с архивами файлов
Стандартным форматом для обмена данными между компьютерами под управлением UNIX служит формат архива на магнитной ленте ( tar). В дополнение архивные файлы могут подвергаться сжатию программой compress (для коммерческих UNIX систем) или gzip (для Linux) - в результате получаются файлы формата tgz. Можно использовать команду шелла tar для создания архивов, извлечения файлов из архивов или просмотра содержимого архивов.
Программы xtar и tkzip предлагают графический интерфейс для команды tar.
xtar (автор Рик Тарнбал) позволяет только просматривать архивы и извлекать из них данные, но обычно это все, что Вам нужно. Когда Вы открываете архив программой xtar, она, как правило, выводит на экран список файлов из этого архива. Двойное нажатие на выбранный файл откроет его в отдельном окне просмотра. Это очень удобно для работы с новыми дистрибутивами программнного обеспечения - можно прочитать инструкцию по установке и файлы README до полной распаковки архива.
Если Вам нужен инструмент для работы с архивами с графическим интерфейсом пользователя, Вам пригодится программа TkZIP (автор Роберт Вудсайд). На мой взгляд, TkZIP слишком усложнена.
Каждое нажатие на клавишу мыши открывает новое окно, и в этих окнах легко запутаться, а мои глаза долго не могли привыкнуть к обилию разноцветных окошек и кнопочек.
После запуска программа TkZIP выводит список файлов, которые находятся в текущем каталоге, архивные файлы можно открывать двойным щелчком мыши. Как и xtar, TkZIP позволяет просматривать тек-стовые файлы, но теперь Вы можете предварительно выбрать программу просмотра по своему вкусу (например, xless) из списка, или TkZIP может выводить этот текст прямо на консоль (stdout).
Создавать архивы при помощи программы TkZIP сложнее, нужно пройти через несколько позиций меню программы. В сравнении с командой tar, эта операция выглядит гораздо сложнее и оправдывает себя только в редчайших ситуациях, когда в один архив нужно собрать файлы, разбросанные по различным файловым системам.
В более общем случае, когда нужно просто запаковать один или два каталога, с командой tar по скорости не может сравниться никто.
Кристоф Далитц Linux Journal,
issue #61 май 1999 (печатается с разрешения редакции Linux Journal),
перевод Игоря Греня
Работая с операционной системой Linux, Вы можете выполнять практически любые операции, работая с командной строкой шелла. Для администратора сервера этот способ является лучшим выбором по двум причинам:
- все административные функции можно выполнять с любого компьютера, подключенного к сети в сеансе удаленного доступа TELNET;
- общее администрирование можно легко автоматизировать, используя шелловские скрипты.
В сравнении с однопользовательскими системами, такими, как Windows NT, которые ничего не знают об удаленном подключении, не имеют языка командного интерпретатора и эквивалента командной строки для выполнения стандартных операций администрирования, доступных по щелчку мыши, эти достоинства ОС Linux помогают системному администратору сберечь массу времени.
Но тем пользователям, для которых Linux - это просто операционка их настольного компьютера, будет легче выполнять те же операции с использованием графического интерфейса и специальных приложений, вместо ввода незнакомых команд. Даже для консерваторов, которые никак не могут сменить свой с таким трудом настроенный FVWM на KDE, Linux предлагает много графических приложений для выполнения основных задач управления системой.
Получение справочной информации
Чтобы узнать описание определенной команды, нужно прочитать ее справочный файл (man page), и это можно сделать простым вводом команды man. Но более удобный способ - это использование программ просмотра справочных файлов, таких, как xman или tkman. Если xman - это страшная серая мышка исторических времен появления графической системы X Window, tkman (автор программы Том Фелпс) - это чудесная графическая оболочка для просмотра справочных файлов.
tkman выводит справочную информацию в удобном и приятном для глаз пользователя виде, поддерживает гипертекстовые ссылки на другие справочные файлы, позволяет осуществлять поиск внутри этих файлов по заданному ключевому слову. Если Вы хотите просмотреть справочный файл из определенного раздела, просто добавьте точку и номер раздела при вводе команды, например, для просмотра справки по функции printf из библиотеки языка С (это третий раздел man страниц), а не команды шелла printf (это первый раздел), введите команду:
man printf.3.
Кроме того, Вы можете распечатывать отображаемые справочные файлы, но для печати нужно выполнить маленький трюк. Печать стартует из меню "Occasionals" - "Kill Trees" - "lp", которое вызывает текстовый процессор groff с параметрами -Tps для вывода в формате PostScript или -l для вывода обычного текста. Последний режим не будет работать, пока команда print не будет описана в файле настроек программы groff (/usr/share/groff/ font/devpc/DESC). Если прямой вывод на печать из программы tkman не работает, ознакомьтесь со справкой по программе groff.
Другой источник справочной информации - набор гипертекстовых info файлов, который состоит из разделов со своей, внутренней, иерархической структурой. Если man файлам отдается предпочтение при поиске справки по простым командам шелла, то info файлы лучше просматривать в поиске более подробной и детальной информации по библиотекам (это теоретически).
На практике, некоторые сумасшедшие программисты решают переместить документацию по элементарным командам шелла, таким, как ls или rm, из man файлов в info файлы. Поэтому каждому нужно средство просмотра info-страниц.
В командной строке вы можете ввести команду info, которая запускает текстовый редактор Emacs в режиме справочника. В качестве альтернативы можно использовать программу tkinfo (авторы Кеннард Уайт и Аксель Болдт) как графический просмотрщик info-страниц. После запуска без аргументов, передаваемых программе в командной строке, tkinfo выводит на экран каталог info файлов. Если Вам не нравится шрифт, который использует программа tkinfo, можно добавить строку описания tkinfo*Text.font в свой файл настроек. xresourses или. xdefaults. Окно просмотра tkinfo удобнее, а управление программой проще, чем редактор Emacs в режиме справки, но эта программа имеет и некоторые недостатки. Отдельные справочные разделы могут быть не найдены из меню "File" - "Goto Node". Например, tkinfo не может найти справку по команде "ls", даже если программа запускается с параметром tkinfo ls. Для того чтобы найти справку по команде ls, Вам придется тщательно порыться в иерархии справочных файлов, потратив на это некоторое время.
К счастью, большинство команд хорошо документировано в man разделах и необходимость затрагивать справочные разделы info возникает очень редко.
Контроль над процессами
Программа qps (автор Маттиас Энгдегард) - это графическое воплощение известных команд ps, top и kill, основанное на наборе инструментов Qt. Qps - это привлекательный и мощный инструмент. Вы можете использовать эту программу в качестве расширенной версии команды top, выбрав функцию "All Processes" из меню "View", указать период обновления (Update Period) в меню "Options" и включить сортировку списка активных процессов системы по степени загрузки процессора, нажав на кнопку "CPU". Это позволит быстро определить, какие процессы пожирают больше системных ресурсов. Можно использовать программу qps и как комбинацию команд ps и kill - выбрать любой процесс из списка и передать ему управляющий сигнал из меню "Signal".
Работа с файлами
На первый взгляд, широкий спектр менеджеров файлов (xdtm, mfm, xfilemanager, xfm, xgroups... и т.д.), которые имеются в каждом дистрибутиве Linux, выглядит многообещающим.
Но почти все эти инструменты или примитивны, или не очень удобны в работе. Программа TkDesk (автор Кристиан Болик) является единственным исключением, которое я встретил.
TkDesk - это больше, чем простой менеджер файлов. По умолчанию он устанавливает даже собственное меню на рабочем столе. Но эту опцию, если она не желательна, можно отключить через меню "TkDesk" - "Toggle Appbar". Когда я только начал использовать эту программу, она часто подвисала на короткие промежутки времени без видимой причины. Мне потребовалось немного времени, чтобы узнать, что программа просто пыталась задействовать звуковые эффекты, которые не поддерживались моей системой. Если эти настройки вызывают проблемы, их можно отключить из меню "Options" - "Use Sound".
Я использую программу TkDesk в основном для просмотра файлов, которые глубоко запрятаны в сложной структуре каталогов моего компьютера. Это делается очень быстро, так как TkDesk имеет встроенные средства просмотра и редактирования файлов. Более того, программа отображает директории в виде папок, что облегчает переходы между соседними каталогами.
Сравнение файлов
Часто требуется выполнить проверку на наличие различий между двумя версиями одного файла. Можно для этих целей использовать команду шелла diff, но работать с графическими программами mgdiff и tkdiff гораздо удобнее.
Программа mgdiff (автор Даниэль Уильямс) может вызываться, как и программа diff, из командной строки, имена двух файлов передаются ей в виде аргументов. Но в качестве альтернативы она допускает выбор файлов из меню "File" - "Open", к тому же саму программу можно запускать из меню "Программы" оконного менеджера. mgdiff выводит содержимое двух выбранных файлов в отдельных окнах. Отличия, добавленные и удаленные фрагменты выделяются различными цветами, которые могут настраиваться соответствующими командами в файлах конфигурации. xresourses или. xdefaults. Более того, можно легко объединить два исходных файла в один результирующий, выбрав соответствующие фрагменты текста для сохранения и записав их в новый файл через меню "File" - "Save As".
Для программистов, которым необходимо контролировать версии программ, утилита tkdiff (автор Джон М. Класса) может оказаться очень полезной. В отличие от mgdiff, она вызывается только из командной строки, так как имена сравниваемых файлов передаются ей в виде аргументов.
Программа имеет встроенный справочник, но man файлы для нее отсутствуют, а это не всегда удобно. Но tkdiff предлагает тот же набор функций, что и mgdiff, и может использовать различные системы контроля версий файлов (RCS, CVS или SCCS). Например, по команде tkdiff -r filename происходит сравнение содержимого файла filename c последней ранее проверявшейся его версией.
Работа с архивами файлов
Стандартным форматом для обмена данными между компьютерами под управлением UNIX служит формат архива на магнитной ленте ( tar). В дополнение архивные файлы могут подвергаться сжатию программой compress (для коммерческих UNIX систем) или gzip (для Linux) - в результате получаются файлы формата tgz. Можно использовать команду шелла tar для создания архивов, извлечения файлов из архивов или просмотра содержимого архивов.
Программы xtar и tkzip предлагают графический интерфейс для команды tar.
xtar (автор Рик Тарнбал) позволяет только просматривать архивы и извлекать из них данные, но обычно это все, что Вам нужно. Когда Вы открываете архив программой xtar, она, как правило, выводит на экран список файлов из этого архива. Двойное нажатие на выбранный файл откроет его в отдельном окне просмотра. Это очень удобно для работы с новыми дистрибутивами программнного обеспечения - можно прочитать инструкцию по установке и файлы README до полной распаковки архива.
Если Вам нужен инструмент для работы с архивами с графическим интерфейсом пользователя, Вам пригодится программа TkZIP (автор Роберт Вудсайд). На мой взгляд, TkZIP слишком усложнена.
Каждое нажатие на клавишу мыши открывает новое окно, и в этих окнах легко запутаться, а мои глаза долго не могли привыкнуть к обилию разноцветных окошек и кнопочек.
После запуска программа TkZIP выводит список файлов, которые находятся в текущем каталоге, архивные файлы можно открывать двойным щелчком мыши. Как и xtar, TkZIP позволяет просматривать тек-стовые файлы, но теперь Вы можете предварительно выбрать программу просмотра по своему вкусу (например, xless) из списка, или TkZIP может выводить этот текст прямо на консоль (stdout).
Создавать архивы при помощи программы TkZIP сложнее, нужно пройти через несколько позиций меню программы. В сравнении с командой tar, эта операция выглядит гораздо сложнее и оправдывает себя только в редчайших ситуациях, когда в один архив нужно собрать файлы, разбросанные по различным файловым системам.
В более общем случае, когда нужно просто запаковать один или два каталога, с командой tar по скорости не может сравниться никто.
Кристоф Далитц Linux Journal,
issue #61 май 1999 (печатается с разрешения редакции Linux Journal),
перевод Игоря Греня
Компьютерная газета. Статья была опубликована в номере 18 за 1999 год в рубрике soft :: unix