Сколько пакетов нужно для счастья: малый джентльменский набор

Алексей Федорчук

Мысль сочинить эту заметку пришла мне в голову в ходе неудачного конструирования собственной системы на базе Xubuntu. Не столько неудачной, сколько — неоправданной с точки зрения соотношения затрат времени и достигнутого результата. Но в ходе которой я перебрал в памяти всё то из софта, что мне жизненно необходимо, что хорошо было бы иметь и без чего спокойно можно обойтись. И в очередной раз укрепился во мнении: как мало действительно необходимого, и как необходимо то, что нужно действительно.
Для начала решим, что за редкими исключениями, вызванными специальными задачами, в каждом классе  программ необходим лишь единственный представитель (исключения я оговорю особо). И посмотрим, а какие же классы программ нужны пользователю на десктопе, каких их представителей следует выбрать, и почему.

Подчёркиваю два момента:

  1. речь идёт о машине конечного пользователя, используемой преимущественно для работы, развлекательная функция которой рассматривается как бесплатное приложение;
  2. всё сказанное представляет собой сугубое ИМХО, то есть не является приглашением к дискуссии на тему: программа А лучше, чем предлагаемая автором программа Б; я просто описываю тот набор софта, который выбираю, и по мере сил пытаюсь объяснить причины моего выбора.

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

  • рабочая среда;
  • эмулятор терминала;
  • командная оболочка;
  • утилиты командной строки;
  • файловый менеджер;
  • текстовый редактор;
  • браузер;
  • почтовый клиент;
  • ftp-клиент;
  • клиент мгновенных сообщений;
  • офисные приложения;
  • средства для работы с графикой;
  • средства архивирования и резервного копирования;
  • мультимедиа всякого рода.

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

Что же до средств сборки программ, необходимых, например, для перекомпиляции ядра или сборки недостающих пакетов, то их набор вполне канонический (gcc, make etc.), и выбирать там особенно не из чего. Да и всё меньше причин возникает у конечного пользователя прибегать к волшебным заклинаниям компиляции из исходников…

Подбор софта следует начинать с рабочей среды — это во многом определяет почти весь остальной круг приложений. Очевидно, что выбор в качестве среды интегрированного десктопа — KDE, GNOME или Xfce, — почти автоматически влечёт за собой набор программ, основанных на библиотеках Qt/kdelibs, в первом случае, и на Gtk+ — в остальных двух. Правда, если вместо интегрированного десктопа остановиться на каком-либо из оконных менеджеров, столь жёсткого предопределения не будет. Но, тем не менее, выбирать между Qt- и Gtk-основанными приложениями придётся всё равно, потому как программы на базе единственной сопоставимой по функциональности библиотеки, Motif, постепенно выходят из употребления.

Как нетрудно догадаться, мой выбор среды — в пользу Xfce. Одну из причин этого хорошо сформулировал Attila в обсуждении на POSIX.ru:

DE — это набор второстепенных приложений. Интересен не сам терминал, интересна командная оболочка. Интересна не сама панелька, хочется видеть время, температуру по палате, извещение о новых письмах. Важен не  сам оконный менеджер, сколько окна, которыми он управляет.

XFCE позволяет пользователю не заботиться о второстепенных приложениях, сосредоточивая своё внимание на главных, что особенно полезно для начинающего пользователя.

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

С выбором рабочей среды тесно связан вопрос используемых шрифтов. Прошли времена, когда я радостно ставил любое только что появившееся семейство гарнитур — в надежде отыскать идеал. Ныне поиски идеала для меня закончены: для интерфейсных элементов я использую шрифты семейства Dejavu, для терминальных окон и текстового редактора (о которых речь пойдёт позже) — шрифт Terminus Re. Правда, прочие шрифты тоже время от времени ставлю — но в основном в экспериментальных целях. Однако ни один из них пока не заставил меня сменить свои предпочтения.

Кстати, о терминале… В качестве программы — эмулятора оного, я использую штатный xfce4-terminal из комплекта одноимённой рабочей среды. Она меня более чем устраивает во всех отношениях, обеспечивая вкладками в неограниченном количестве, удобным способом переключения между ними (по Alt+#), а также необходимый и достаточный минимум настроек с доступом к ним через меню. Единственное, чего xfce4-terminal не умеет — это переключать на лету кодировку вывода (как, например, это делает konsole из KDE). Но со всеобщей юникодизацией эта проблема для меня практически утратила актуальность.

Терминал существует не сам по себе, а в первую очередь для доступа к утилитам командной строки посредством командной оболочки пользователя (login shell). Долгие годы в этой роли я использовал zsh, во время работы во FreeBSD был у меня период увлечения tcsh’ем. Ныне, став старым и ленивым, я хожу как все — по камушкам. То есть использую bash. В сочетании с bash-completion он ныне предоставляет достаточно настроек для интерактивной работы. Причём настраивается он существенно проще, чем zsh (с примером элементарной настройки bash можно ознакомиться здесь). И, что немаловажно, документацию по bash реально прочитать простому человеку — тогда как редкий юзер осилит документацию по zsh хотя бы до половины.

Как известно, командная оболочка служит для выполнения команд :) , то есть различных утилит. Их бессчётно, и каждому линуксоиду время от времени приходится использовать практически всё то, что объединяется понятием «классические Unix-утилиты». Тем не менее, перечислю самые востребованные в моём сочинительском ремесле. Это:

  • find — для поиска файлов с раннесочинёнными текстами;
  • grep — для нахождения текстов, нужных для текущей работы;
  • cat — для объединения ранее написанных фрагментов в единый документ;
  • csplit — напротив, для разбиения документа по шаблону на главы, статьи, параграфы.

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

Командная оболочка позволяет выполнять любые файловые манипуляции. Однако время от времени возникает потребность в визуализации оных — и этой цели призван служить файловый менеджер. Поскольку никаких особых претензий я к нему не предъявляю, да и использую редко, то вполне обхожусь штатным Thunar’ом. Конечно, хотелось бы вкладок и встроенного терминального окна, как в konqueror’е  — но увы, нет в жизни совершенства, как в своё время отметил кот Бегемот.

Текстовый редактор — один из важнейших инструментов линуксоида. Причём, кстати, и один из тех немногих, которые могут понадобиться более чем в одном экземпляре: один простенький, для мелкой правки конфигов, и второй мощный, для сочинения всамделишних текстов — вне зависимости от того, исходные они или нарративные. На первую роль у меня определён nano — каюсь, vim я так и не осилил, emacs — тем более, а joe, долго служивший мне верой и правдой в обоих ипостасях, подзабыл за то время, когда я уже перешёл на юникод, а joe — ещё нет. Да и со своим делом — редактированием системных и пользовательских конфигов, — nano справляется более чем успешно.

В качестве «сочинительского» редактора я в последние годы применяю Geany — он в равной степени пригоден как для набора «плоского» текста, так и для разметки, например, в HTML или XML, обеспечивает подсветку синтаксиса, обладает развитыми средствами управления проектами и рядом прочих приятных особенностей (ознакомиться с которыми можно здесь). И  хотя время от времени начинает одолевать ностальгия по Nedit — ИМХО, одному из лучших текстовых редакторов всех времён и народов по своему функционалу, — обратной дороги, скорее всего, уже не будет. Да и требования к редактору, в связи со всякого рода CMS, существенно снизились.

Переходим к средствам работы с Интернетом. Из которых важнейшим, безусловно, является браузер. А из всех браузеров мира FOSS пальму первенства, безусловно, держит Firefox. Причём, вне зависимости от личных предпочтений, использование Firefox’а практически является необходимостью: ни один из остальных браузеров под Linux не обеспечивает стопроцентно-надёжной работы со всякого рода онлайновыми сервисами, платёжными системами etc.

Впрочем, браузеры — это как раз тот класс программ, которые часто приходится держать не в единственном экземпляре. В частности, проверка вида страниц в разных браузерах — необходимость для всех, кто хоть каким-то боком связан с web-технологиями (а к то нынче не связан с ними никаким боком?).

Почтовый клиент — до недавнего времени эта программа была не менее необходима, чем браузер. Ныне, в связи со всё более широким распространением онлайновых почтовых служб типа Gmail, Яндекс или Mail.ru, роль её снижается. Я, например, открываю его только тогда, когда требуется прикрутить переадресацию нового почтового ящика на Gmail, после чего забываю о нём на месяцы, а то и годы. Почему и, не мудрствуя лукаво, использую ту почтовую программу, которая штатно идёт в комплекте текущего дистрибутива.

А вот клиент мгновенных сообщений нынче играет всё большую роль в кругу пользовательских приложений: ICQ и особенно Jabber становятся не только средством дружеского трёпа, но важным инструментом коммуникаций, в том числе и вполне серьёзных. А Jabber к тому же, благодаря такому сервису, как juick, обретает даже креативные функции. Почему и активно развивается множество мультипротокольных IM-клиентов. Перепробовав ряд из них (SIM, PSI, kopete), я в конце концов остановился на Pidgin’е — во многом случайно, потому что он а) штатно устанавливался в Zenwalk’е и б) потому что вполне устраивал меня по всем параметрам (что и продемонстрировано в соответствующей заметке). Ибо единственный ощутимый пробел в его функциональности — отсутствие возможности гейта Jabber/ICQ, — с некоторых пор (а именно, событий, описанных в серии пасквилей про тётю Асю, которая приехала, затем вернулась, выступив против Яндекса) это перестало меня волновать.

Последнее из средств работы с Интернетом — инструменты доступа по ftp. Так уж исторически сложилось, что таковых я использую аж три: утилиты командной строки wget и lftp и графический ftp-клиент gFTP, каждый — для своих задач:

  • wget применяю, если надо быстро скачать единичный файл по точной ссылке или, напротив, сделать полное зеркало какого-либо ресурса;
  • lftp с его shell-образным интерфейсом удобен для выбора серии файлов из ftp-архива (в том числе по маске); впрочем, для зеркалирования ресурсов или каталогов он подходит ничуть не хуже wget’а;
  • наконец, gFTP я использую с единственной целью — для uploading’а файлов на свои ресурсы.

Я практически не пользуюсь службами p2p, типа torrent’а, и потому потребностей в соответствующем инструментарии не испытываю. Тем не менее, устанавливаемый по умолчанию и в Zenwalk’е, и в Xubuntu Transmission оставил — на всякий пожарный случай.

Переходим к офисным приложениям. Возможно, для кого-то из линуксоидов необходима полная функциональность текстового или табличного процессора. Для меня же первый используется почти исключительно с целью прочтения чужих word’овских документов, а второй — для построения диаграмм в своих заметках о тестировании. Тем не менее, и та, и другая цели достигаются только посредством соответствующих компонентов Openoffice.org — OOWriter и OOCalc.

Средства для работы с графикой служат у меня достижению следующих целей:

  • созданию скриншотов для иллюстрирования заметок;
  • просмотру наличных изображений;
  • несложному редактированию растровой графики, включающему масштабирование, обрезание, коррекцию яркости/контрастности, преобразование из одного формата в другой;
  • работе с диаграммами.

Первой цели у меня служит штатный апплет из Xfce, который так и называется — Screenshot. Может он не многое, но всё, что мне нужно — может (в чём можно убедиться здесь).

В качестве вьювера изображений я недавно открыл для себя gThumb. В этом качестве он представляется мне очень удобным. И к тому же «ещё и вышивать умеет»: то есть обеспечивает тот самый комплекс средств обработки изображений, который я перечислил выше. И для чего ранее приходилось использовать Gimp. Который у меня тоже стоит (опять же на всякий пожарный), но прибегаю я к нему всё реже и реже.

Что же до диаграмм, то с их построением, как уже тоже было сказано, успешно справляется электронная таблица OOCalc, и ничего более мне не нужно. Хотя для экспорта оных в растровые форматы, пригодные к размещению в Сети, как оказалось, удобнее использовать не её собственные средства, а рисовальный модуль из того же Openoffice.org — OODraw, каковой также пришлось доустановить.

Весь создаваемый контент нуждается в резервном копировании. Надо сказать, что нынче я провожу эту процедуру только в отношении невосстановимых данных, то есть собственных оригинальных материалов: всё, что скачивается из Сети, проще в аварийной ситуации перекачать заново, нежели заморачиваться хранением многих десятков, а то и сотен гигабайт. И потому в качестве резервных носителей я обхожусь флэшками, а для архивирования использую банальную сцепку из tar и bzip2.

Тем не менее, временами возникает и необходимость сохранения данных на носителях, считающихся более надёжными — на CD или DVD (не говоря уже о записи образов дистрибутивов). И тут до недавнего времени я был приверженцем утилит командной строки — сцепки из mkisofs и cdrecord: когда ими пользуешься постоянно, соответствующие действия доводятся до автоматизма. Однако в связи с переделкой последнего пакета и редкой востребованностью ныне перешёл на графический front-end — brasero. При эпизодическом применении щелканье мышью оказывается эффективнее, нежели мучительные воспоминания нужных опций или просмотр man-страниц.

На этом можно закончить с пакетами необходимыми, и перейти к предметам роскоши, а именно, средствам обращения с мультимедийным контентом — просмотра видео и прослушивания аудио-материалов. И для того, и для другого я использую универсальный инструмент — Mplayer, как в графической его ипостаси (в виде Gnome-mlayer’а), так и просто из командной строки.

Одно время я активно занимался оцифровкой записей авторской песни (в форматы mp3 и ogg), для чего применял преимущественно lame и vorbis-tools. Ныне такая потребность возникает у меня редко (почти всё, что я считал нужным оцифровать, уже оцифровано). Но на всякий случай я держу для этой цели asunder — не из-за каких-то его особых достоинств, а просто потому, что попался под руку, да и умеет делать всё, что мне надо (см. краткую его характеристику). В частности, преобразовывать аудио-треки в формат flac, которому я в настоящее время отдаю предпочтение.

Вот практически и всё, что я использую каждодневно, и что установлено на моей машине, вне зависимости от текущего дистрибутива Linux. Замечу напоследок, что большинство перечисленных программ по умолчанию установлены в Zenwalk’е и Xubuntu, а недостающие легко добавить из их репозиториев. Но и в любом другом дистрибутиве и даже ОС их использование отнюдь не возбраняется. В частности, во FreeBSD набор приложений у меня тот же самый.

Сколько пакетов нужно для счастья: малый джентльменский набор: 7 комментариев

  1. Алексей!
    Мб, для XFCE стоит ещё помянуть mousepad, а точнее — его замену на leafpad.
    Последний предоставляет опцию —tab-width=,
    после чего может вполне успешно заменить nano.
    Подсветки синтаксиса не будет, зато хоткеи — самые привычные для многих.

  2. Спасибо за предложенный софт, использую ee и vi. А под Mac OS X юзал nano, теперь снова поставлю nano на ubunta…

    >OOCalk
    опечатка

  3. >Весь создаваемый контент нуждается в резервном копировании.
    Я пользуюсь fsbackup преимущественно для инкрементного бекапа, достаточно удобно!

  4. Спасибо за brasero, gFTP, gThumb, asunder — попробую на досуге!

  5. ыыы а есть прога для оптического распознания текста ?

  6. [quote]ыыы а есть прога для оптического распознания текста ?[/quote]
    ocr gocr cuneiform

Обсуждение закрыто.