Показаны сообщения с ярлыком программы. Показать все сообщения
Показаны сообщения с ярлыком программы. Показать все сообщения

18 мар. 2009 г.

Shutter - функциональный "сниматель" скриншотов

Мне лично при снятии скринов приходится каждый раз выполнять довольно много однообразных действий. А снимаю я довольно часто по разным случаям. И вот недавно наткнулся на замечательную программу Shutter:



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

Во-вторых, стоит отдельно упомянуть широкий список плагинов, которые позволяют с легкостью манипулировать снятыми изображениями:


Заснять можно практически любой элемент десктопа. От отдельных окон и даже их фрагментов до веб-страниц и произвольных областей. Затем изображение при желании можно немного подредактировать в простеньком встроенном редакторе:


Готовые изображения можно прямо из программы залить на различные интернет-сервисы или на свой ftp:


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

Все изображения, представленные в этом очерке были сняты с помощью программы Shutter :)


Полный текст очерка

8 февр. 2009 г.

Xfce 4.6 RC1: стабильность, функциональность и удобство современного рабочего окружения

Не так давно вышел первый релиз-кандидат рабочего окружения Xfce 4.6. Смена мажорного номера версии (с 4.4 на 4.6.) принесла множественные улучшения, как в юзабилити для конечного пользователя, так и в возможностях для разработчиков. Xfce становится стабильнее, функциональнее и всё больше обретает признаки настоящего самобытного DE, оставляя позади старый штамп - "Gnome для бедных".

Xfce 4.6 RC1
C момента релиза версии 4.4 прошло уже около двух лет. С тех пор многое поменялось во внутренней архитектуре Xfce. Во-первых, на смену старой системы конфигурации MCS пришла новая, более модульная и функциональная Xfconf. Новая система более глобальна и в некоторой степени ее можно сравнить с проектом Gnome - gconf. На архитектурном уровне она представляет собой совокупность взаимодействий "каналов" (channels, группы настроек), "опций" (properties, составная часть каналов) и "значений" (values, значения опций). Всё это использует для сообщений между собой D-Bus.

В 4.6 появится утилита xfconf-query, которую многие пользователи (в основном разработчики) очень долго ждали. Данная консольная программа позволяет автоматизировать работу по настройке Xfce, манипулируя настройками на уровне команд. К примеру, вот так можно управлять настройками рабочего стола:

xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s ~/path-to-wallpaper
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-show -s true
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-style -s 0

Первая команда устанавливает "обои" рабочего стола, вторая делает их видимыми, а третья указывает расположение. В синтаксис разобраться совсем несложно:
ключ -c указывает нужный канал (список всех каналов можно посмотреть командой xfconf-query -l);
ключ -p - опцию (полный список - xfconf-query -с channel -l);
и, наконец, ключ -s устанавливает значение опции.

На более высоком уровне из новинок нужно отметить, конечно же, xfce4-settings, который пришел на замену mcs-manager. Этот менеджер настроек содержит в себе набор графических утилит практически на все случаи первой необходимости. С его помощью парой кликов настраивается клавиатура, экран, горячие клавиши, композитинг и прочее.
xfce4-settings
Появился xfce4-settings-editor, аналог гномовского gconf-editor, позволяя получить доступ напрямую к настройкам среды.
Стоит отметить появление продвинутой функциональности для настройки управления средой - залипание клавиш, управление мышью с клавиатуры и широкие возможности уведомления пользователя о различных событиях, обратная связь (на основе системы AccessX).
accessability
Рабочий стол (xfdesktop) теперь тесно интегрирован с меню, которое стало быстрее. Исправления старых багов, новые возможности настройки фонового изображения и меню на рабочем столе - все это также будет в грядущем релизе и уже есть в RC1. Разработчиками заявлена поддержка модулем xfdesktop мониторинга и управления подключаемых устройств (hotplugging). То есть, если подключить второй монитор - xfdesktop должен определить его и начать использовать. К сожалению, эту интересную возможность я проверить не мог, в силу отсутствия под рукой второго монитора.
Новый звуковой миксер теперь поддерживает несколько звуковых подсистем и плат.

Также сразу бросается в глаза значительно изменившийся xfce4-appfinder, который был переписан с нуля.
xfce4-appfinder
А вот Thunar и оконный менеджер Xfwm не претерпели сильных изменений. Насчет последнего особенно жаль - xfwm далеко не образец функциональности и порой ужасно не хватает многих возможностей.

Подводя итог отмечу, что в работе Xfce стал намного приятнее и довольно удобнее. Изменений в скорости работы я почти не заметил, среда продолжает быть отзывчивой даже на слабой машине с включенным композитингом и выглядит вполне привлекательно. Многие баги ушли в прошлое, что меня в некоторых местах очень порадовало; другие остались на месте; вновь появившихся заметил всего пару несерьезных. В целом уже сейчас среда вполне готова к использованию и обживанию. Xfce становится все более стабильным, продвинутым и уникальным. Этот путь в свое время уже проделал Gnome, обогнав по стабильности KDE, теперь время Xfce показать себя с лучшей стороны и, быть может, открыть новые горизонты десктопного линукса.

Ссылки:.
1. Полный список изменений
2. Хороший обзор на Phoronix
3. Обзор на linux.com


Полный текст очерка

18 янв. 2009 г.

Об окнах и оконных менеджерах: тонкости организации и управления

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

Предисловие.
По первому фактору лично я для себя выбрал второе - мне удобнее группировать окна по некому признаку и выделять группе окон свое рабочее пространство. Так легче ориентироваться, приходится меньше заниматься "увлекательной" операцией point-and-click, когда нужное окно сначала необходимо найти на панели/доке, а потом активировать мышью. Меня, как правило, сильно напрягает, когда на одном десктопе открыто больше 2-3 окон.

В случае использования таких оконных менеджеров, как fluxbox, dwm, awesome и т.п. в распоряжении пользователя сразу находится необходимый функционал. В общем случае достаточно прописать в файле настроек куда каким окнам рисоваться. Однако, при использовании xfwm, metacity и т.п. мы в выборе весьма ограничены. Да, есть виртуальные десктопы, но средств по управлению окнами предлагается крайне ограниченный набор. В xfwm, скажем, нельзя указать, чтобы окно браузера рисовалось на первом десктопе, без декораций, посередине и с указанными размерами. В таких случаях, пользователю очень сильно поможет программа devil's pie.

Немного об архитектуре WM.
Вывод окон приложений на экран осуществляется в общем случае с помощью двух технических средств - графического сервера (X Server) и оконного менеджера (Window Manager). Технически это представляет собой взаимодействие этих двух процессов. При запросе приложения показать окно верхнего уровня, х-сервер генерирует событие, которое перехватывается оконным менеджером, который в свою очередь создает так называемое frame window. Окно, содержащее в качестве своих составляющих такие компоненты, как главное окно приложения и декорации (название окна, кнопки управления). А также в некоторых случаях позволяет выполнить над окном ряд операций - манипуляции с прозрачностью, прорисовка на определенном десктопе, изменение размеров и т.п. Если менеджер окон не предоставляет функционала для расширенного управления окнами (xfwm, metacity), приходится прибегать к утилитам еще более высокого уровня. Так, devil's pie, представляет из себя демона, который взаимодействует с оконным менеджером - после того, как окно создалось, этот демон может выполнить с ним какие-либо заранее заданные действия. Таким образом, архитектурно это более излишне усложненное решение и лишний уровень абстракции. Однако, во многих случаях выбирать не приходится.
WM architecture

К практике!
Итак, в первую очередь программу нужно установить. Она довольно популярна и входит в состав репозиториев множества популярных дистрибутивов:

apt-get install devilspie
pacman -S devilspie

Для работы программа использует набор правил для ряда приложений, создаваемых пользователем. Правила должны располагаться в ~/.devilspie и представлять из себя простые текстовые файлы с расширением *.ds. Как пример приведу мое правило ~/.devilspie/Firefox.ds для браузера Firefox:
( if
( and
( is ( application_name ) "Firefox" )
)
( begin
( set_workspace 1 )
( println "match" )
)
)

Как можно легко понять, первые три строчки здесь представляют из себя условие, необходимое для срабатывания правила. В данном случае это появление окна с именем приложения "Firefox". Далее идет секция действий, которые следует предпринять с данным окном. В моем примере - переместить его на первый десктоп. Команда println "match" служит для отладочных целей настройки - она выводит в терминал с запущенным devil's pie "match", при срабатывании правила.
В качестве условий может выступать множество значений: window_class, window_role, window_name; также, как и в качестве действий: maximize, fullscreen, stick, center, geometry. Все эти значения можно посмотреть в руководстве man devilspie.
Приведу более сложный пример:
( if
( and
( is ( window_role ) "mainWindow" )
( contains ( window_class ) "Sonata" )
)
( begin
( wintype "utility" )
( set_workspace 5 )
( geometry "912x898+142+23" )
( println "match" )
)
)

Данное правило будет ждать появления окна с ролью "mainWindow" и класс которого содержит слово "Sonata". А затем присвоит окну тип "utility" (это позволит не становиться ему прозрачным, к примеру), перенесет на пятый десктоп и установит размеры и положение "912x898+142+23" (ширина, длина, позиция по оси X, позиция по оси Y).

Замечание: в xfce оконный менеджер по умолчанию перебрасывает окно, требующее фокус, на текущий десктоп. В частности, это приводит к тому, что не все ваши правила в devil's pie будут работать корректно и что при нажатии на ссылку, скажем, в почтовом клиенте на втором десктопе, браузер переброситься с первого десктопа на второй с почтовым агентом. Это не баг, а просто нет единого мнения у разработчиков по этому поводу. Однако, такое поведение можно отключить, добавив в файл ~/.config/xfce4/mcs_settings/wmtweaks.xml следующую строчку:
< option name="Xfwm/ActivateAction" type="string" value="none"/ >


Расширенный контроль сложных окон на примере GIMP.
Графический редактор GIMP сам по себе довольно нетривиально работает со своими окнами. Нельзя просто сказать всем окнам класса "Gimp" появляться на заданном десктопе - это не сработает. Однако, я провел небольшое изучение этого вопроса и просто приведу правила для Гимпа, а любой желающий сможет их прочесть и разобраться.
Итак, я создал три правила: два для стандартных боковых фреймов с инструментами и одно для, собственно, окна редактирования изображений.

Окно Toolbox с кистями, инструментами и т.п.:
( if
( and
( is ( window_role ) "gimp-toolbox" )
( contains ( window_class ) "Gimp" )
)
( begin
( undecorate )
( set_workspace 5 )
( geometry "136x925+0+25" )
( println "match" )
)
)

Окно со слоями и т.п.:
( if
( and
( is ( window_role ) "gimp-dock" )
( contains ( window_class ) "Gimp" )
)
( begin
( undecorate )
( set_workspace 5 )
( geometry "217x925+1062+25" )
( println "match" )
)
)

Окно редактирования изображений:
( if
( and
( is ( window_role ) "gimp-image-window" )
( contains ( window_class ) "Gimp" )
)
( begin
( wintype "utility" )
( set_workspace 5 )
( geometry "912x898+142+23" )
( println "match" )
)
)

Как видно из правил, все окна Гимпа перебрасываются на пятый десктоп и изменяют каждое свои размеры (меня очень раздражало, что Гимп автоматически позиционирует каждое окно с изображением). Окна-доки с инструментами и слоями также лишаются декораций (мне они ни к чему и только занимают место и визуальное пространство). А окно редактирования меняет тип на "utility", что не позволяет ему становится прозрачным (у меня включен композитинг и прозрачность активных/неактивных окон разная, т.о. вы можете себе представить в какое "удовольствие" превращается работа с изображением, когда приходится переключаться между окном редактирования и окнами инструментов).
Результат, как говориться, налицо:
GIMP with devil's pie
Дополнительные средства.
Не всегда удобно вручную возиться с правилами и помнить все десятки условий и возможных действий, которые поддерживает devil's pie. В этом случае я рекомендую воспользоваться утилитой gdevilspie - графический настройщик на pyGTK. Он позволяет очень просто парой кликов задавать правила и получать список параметров текущих окон.
По поводу определения параметров окон стоит сказать отдельно. Существует много средств для получения названий, классов, положения и ролей окон. Во-первых, это вывод самого devil's pie - достаточно запустить его из терминала, как мы увидим список присутствующих сейчас окон. Во-вторых, это программа xprop, которая позволяет указать нужное окно мышью и выведет большой массив данных. Отфильтровать их можно например так:
xprop | grep -i role

Что выведет только строку с ролью указанного мышью окна. В-третьих, программа wmctrl, которая вообще незаменима при работе с оконными менеджерами и окнами. Подробнее о ней можно узнать в руководстве man.

Заключение.
На этом, пожалуй, и закончу. Как видите, не все оконные менеджеры сразу предоставляют широкий функционал и, как правило, реагируют на одни и те же действия весьма по-разному. Однако, средства есть, хоть и сторонние. При всех недостатках метода контроля окон уровнем выше wm, это работает и весьма надежно. Так что ничто не мешает вам наслаждаться прелестями разграниченного рабочего пространства в таких окружениях, как Gnome, KDE и XFCE. Хотя для пользователей, которые хотят всё и сразу из коробки, я бы посоветовал взглянуть на Fluxbox, Openbox и другие. Как правило, при своих малых размерах, они уже прекрасно умеют всё то, что я здесь рассказывал без всяких дополнительных средств.

Ссылки:.
1. Window Managers for X: Introduction
2. Wikipedia: Re-parenting window manager
3. Devil's Pie: Syntax & Examples


Полный текст очерка

19 дек. 2008 г.

Нововведения Firefox 3.2pre

Я пользуюсь продукцией компании Mozilla вот уже несколько лет, практически с момента создания браузера с одноименным названием. Firefox, как передовой продукт, развивается очень активно. Третья версия принесла много нового, однако идеальных технических решений не существует. Есть еще целый ряд новшеств, которые предстоит реализовать. Попробовав сборки тестовых версий, некоторые из этих новшеств можно увидеть прямо сейчас.

В начале декабря 2008-го года вышли две тестовые версии Firefox - 3.1b2 и 3.2pre (бета 3.1 и пре-альфа 3.2). Скачать 3.2pre можно здесь. Пользователи arch linux могут установить ночную сборку 3.2pre из aur или следующей командой:

yaourt -S firefox-nightly

Во внешнем виде ничего особенно не поменялось:

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

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

Одним из самых интересных нововведений является, безусловно, private browsing. Этот режим, включающийся одним кликом мыши, позволяет осуществлять анонимный серфинг, не оставляя никаких следов в системе. На время его работы отключается кэш, cookies и т.п. Выключается данный режим так же просто и с восстановлением всех открытых табов.



Также заслуживает внимания новая система восстановления прошлой сессии после аварийного завершения работы браузера. В 3.0.4 в данном случае отображалось окно с предложением восстановления сессии, что было не совсем удобно - в случае, если браузер "упал" из-за ошибки в скрипте, то при восстановлении скрипт опять произвел бы нежелательные последствия. В итоге, чтобы не потерять важные открытые табы, приходилось проверять свою реакцию быстро закрывая таб с опасным скриптом до того, как он исполнится. В 3.2pre восстановление сессии реализовано элегантно и очень удобно:

Как видно на скрине, теперь можно выбрать, какие вкладки открывать, а какие - нет.

Значительно улучшено соответствие браузера стандартам:

(для справки, Firefox 3.0.4 выдает 71/100).

Новый движок обработки ява-скриптов TraceMonkey (наследник значительно переработанного SpiderMonkey) обещает увеличение скорости в 20-40 раз в некоторых случаях по сравнению с 3.0.4. SunSpider JavaScript Benchmark действительно показывает значительные улучшения в скорости работы:

(столбец FROM - 3.2pre, TO - 3.0.4).

Если у вас есть более детальные тесты по производительности JavaScript - я был бы рад на них посмотреть.

Однако, не все из желаемого еще реализовано. Например, svg animation не всегда работает, часто показывая просто статичную картинку:


По разным источникам, Firefox 3.1 (в котором уже должны присутствовать все вышеперечисленные изменения) должен выйти в конце 2008, начале 2009 года. Чисто по ощущениям 3.2pre работает гораздо быстрее 3.0.4 и значительно приятнее в использовании в силу новых функций. Пользоваться каждый день тестовой пре-альфа версией, думаю, захочет не каждый, однако я для себя выбор сделал - на протяжении примерно недели не было замечено ни единого падения браузера в условиях обычного десктопного использования. Однако, иногда падал на некоторых тестах производительности (например, google V8 test suite).


Полный текст очерка

18 нояб. 2008 г.

В Synaptic появились скриншоты программ

В Debian Sid не так давно появилась новая версия (0.62.2) графического пакетного менеджера Synaptic с поддержкой просмотра скриншотов доступных программ.

При выборе пакета появляется кнопка "get screenshot":


Эта экспериментальная возможность еще на стадии доработки. Так что пока скриншоты довольно маленького размера без возможности увеличения:


Скриншоты хранятся на данном ресурсе и доступны всем желающим. Пополнение базы скриншотов производится силами сообщества. Любой желающий может залить свои и помочь собрать более полную коллекцию. Изображения помещаются в базу только после премодерации и должны соответствовать следующим требованиям:

  • Формат - png

  • Изображения больше 800x600 пикселей будут автоматически уменьшены

  • На скриншоте должен быть изображен процесс работы с программой. То есть, в видеоплеере должно играться видео, в браузере должен быть открыт сайт, а в игре должен быть показан процесс, а не стартовый экран

  • Интерфейс программ должен быть на английском языке для удобства всех пользователей. Запустить программу с английским интерфейсом можно, предварительно набрав export LANG=C

  • На изображении должна быть показана только конкретная программа, а не весь рабочий стол


За более подробными инструкциями можно обратиться сюда.

P.S. Как по мне, это - офигенная возможность. Вот только до ума довести.


Полный текст очерка

22 сент. 2008 г.

Transmission

Торрент-клиент transmission, начиная с 1.3Х очень часто сегфолтится по непонятным причинам. В баг-трекере вроде бы это описано, но багфиксов пока нет. Сегфолтится не только у меня, а у очень многих. Тем, у кого это происходит, советую откатиться до 1.22. Это максимальная версия, на которой клиент работает стабильно и исходники которой доступны на официальном сайте.


Полный текст очерка

9 сент. 2008 г.

Ненависть!

jabberd - примитивная xml'щина, ejabberd - маразматическое чудовище, openfire - энтерпрайзное тормозилово.

ejabberd, конкретно, вообще хороший пример created by robots for robots. Я уже начинаю потихоньку ненавидеть s-выражения. А диагностика неполадок - вообще песня:


RPC failed on the node ejabberd@localhost: {'EXIT',
{badarg,
[{erlang,
port_control,
[stringprep_port,
1,
"misfortune"]},
{stringprep,control,2},
{jlib,nameprep,1},
{ejabberd_auth,
auth_modules,
1},
{ejabberd_auth,
is_user_exists,
2},
{ejabberd_auth,
try_register,
3},
{ejabberd_ctl,process,1},
{rpc,
'-handle_call/3-fun-0-',
5}]}}


Полный текст очерка

3 авг. 2008 г.

Оптимизация файловой системы XFS

Каждый более-менее опытный пользователь линукса, наверное, хотя бы слышал про данную файловую систему. А многие, включая и меня, используют ее повседневно. Рассматривать достоинства и недостатки XFS я не стану, а вместо этого напишу о поддержании ФС в оптимальном состоянии. А конкретно: о дефрагментации.

Есть очень хорошая статья на эту тему здесь. Я частично переведу некоторые моменты.

Немного теории
Архитектура XFS такова, что содержимое файла в ней располагается в так называемом "пространстве переменной длины" (extent). Данные пространства представляют собой смежные регионы, расположенные в файловой системе. То есть, при копировании файла на ФС он обычно занимает один extent. Однако, если позже содержимое файла меняется, то возможна ситуация, что пространство, находящееся после файла, уже занято другими данными. В этом случае содержимое файла может быть помещено в два разных extent'а, физически находящиеся на удаленных друг от друга местах диска. Конечно, какой-либо процесс/программа по-прежнему без проблем может обращаться к файлу, однако скорость работы снижается при обращении к разным удаленным друг от друга секторам диска.
В зависимости от аспектов использования ФС, файлы на ней могут довольно значительно фрагментироваться.

Программа xfs_bmap: просмотр информации о расположении файла
С помощью программы xfs_bmap можно увидеть карту extent'ов, в которых хранится конкретный файл.

[alsvartr@bust ~]$ xfs_bmap -v /media/storage/VL5.9-Light-B2.iso
/media/storage/VL5.9-Light-B2.iso:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..416991]: 392994088..393411079 10 (26702088..27119079) 416992
1: [416992..532679]: 392631640..392747327 10 (26339640..26455327) 115688
2: [532680..641599]: 64962272..65071191 1 (28333072..28441991) 108920
3: [641600..712959]: 63823592..63894951 1 (27194392..27265751) 71360

Опция -v (verbose) выводит дополнительную информацию.
Как видно, файл VL5.9-Light-B2.iso фрагментирован: хранится в четырех разных extent'ах. Можно попробовать его дефрагментировать.

xfs_fsr: дефрагментация XFS
Данная программа предназначена для реорганизации XFS. Достаточно указать ей нужный файл:
[alsvartr@bust ~]$ xfs_fsr /media/storage/VL5.9-Light-B2.iso

Дефрагментация длится некоторое время в зависимости от объема файла. Можно теперь снова проверить карту extent'ов:
[alsvartr@bust ~]$ xfs_bmap -v /media/storage/VL5.9-Light-B2.iso
/media/storage/VL5.9-Light-B2.iso:
EXT: FILE-OFFSET BLOCK-RANGE AG AG-OFFSET TOTAL
0: [0..712959]: 394944045..395411741 10 (26702088..27119079) 712960

Теперь файл занимает один extent.

Для того, чтобы дефрагментировать всю файловую систему целиком, достаточно указать в качестве параметра к программе устройство ФС, вместо файла:
[alsvartr@bust ~]$ xfs_fsr /dev/sdb1
/media/storage start inode=0

Полезными опциями также могут быть -v (выводит информацию о файле, обрабатывающемся в данный момент) и -t (время работы программы).
Про последнюю опцию стоит сказать отдельно. Она ограничивает время работы программы указанным значением в секундах. То есть запуск xfs_fsr -t 7200 /dev/sdb1 ограничит время работы двумя часами. После истечения указанного времени xfs_fsr сохранит текущее состояние работы в файл /var/tmp/.fsrlast, чтобы продолжить с этого же места в следующий раз, когда будет указана опция -t. С помощью этой опции можно, например, автоматически выполнять дефрагментацию регулярно небольшими интервалами по cron'у.
Нужно отметить, что механизм работы xfs_fsr состоит в том, что при обработке каждого отдельного файла его содержимое копируется в отдельный extent и метаданные ФС меняются так, что новый файл заменяет старый. Поэтому для дефрагментации необходимо иметь достаточно свободного места - столько, чтобы поместилась копия любого файла на диске.
После выполнения xfs_fsr полезно взглянуть на текущий процент фрагментации ФС.

Статус фрагментации при помощи xfs_db
Программа xfs_db может быть использована для просмотра информации о фрагментации файлов:
[alsvartr@bust ~]$ xfs_db -r /dev/sdb1
xfs_db> frag
actual 101181, ideal 95800, fragmentation factor 5.32%
xfs_db> quit

Опция -r (readonly) нужна для проверки ФС, которая в данный момент примонтирована и используется.

Для получения более подробной информации о конкретных программах стоит обратиться к соответствующим руководствам man.

P.S. Для некоторых операций могут потребоваться права root.

Дополнительные материалы:
Wikipedia: File system fragmentation
Wikipedia: Extent (file systems)


Полный текст очерка

14 апр. 2008 г.

Элегантный десктоп

Гном и Кде - замечательные среды, однако я не могу без боли смотреть на количество зачастую совершенно мне ненужного хлама, который они за собой тянут. Нет, можно, конечно, и Гном довести до состояния Адама с лавровым листом, но это неблагодарная трата времени. Легче и быстрее использовать аналоги.

Про установку и настройку флюксбокса/опенбокса/айсвма написаны горы статей, да и описывать там особо нечего - всё есть в документациях. Я хочу лишь написать про свой любимый прикладной софт. Он, как правило, занимает минимум места и работает в разы быстрее своих Больших Братьев.

Терминал
> Большие Братья: gnome-terminal, konsole, urxvt.
Всем понятно, что любой графический линукс начинается с эмулятора терминала. Я не нашел ничего быстрее, удобнее и красивее xfce4-terminal.



Практически полный аналог gnome-terminal, но субъективно быстрее. Умеет всё, что полагается - табы, фиктивную прозрачность и т.д.

Работа с файлами
1. Файловый менджер
> Большие Братья: nautilus, krusader, dolphin, thunar.
Больше всего меня раздражает в Наутилусе его скорость. Он медленный. А по сравнению с pcmanfm - он просто и без преувеличений тормоз.



Замечательной особенностью этого менеджера являются табы - это такая удобная штука, что любой наутилус со своим функционалом просто курит. Pcmanfm в общем и целом похож на Thunar, но шустрее. Холодный старт происходит вообще за пару секунд (это с учетом того, что у меня слабая машина).

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

2. ГУЙ к архиваторам
> Большие Братья: File-roller, KArchiver.
Мне не всегда удобно использовать CLI-утилиты для работы с архивами, поэтому я достаточно долго искал достойный графический интерфейс. Моё расположение заслужил Xarchiver, который входит в проект Xfce. Быстрый и удобный. Поддерживает 7-zip, arj, bzip2, gzip, rar, lha, deb, rpm, tar и zip.



Текстовый редактор
> Большие Братья: GEdit, Kate.
Тут всё просто и понятно. Хотите с табами - придется ставить одного из двух вышеперечисленных товарищей. Хотите скорости - leafpad или mousepad, они практически идентичны. Мой выбор - leafpad.



По скорости холодного старта он рвет gedit только в путь.
А для кодинга небольших скриптов я использую medit.



Интернет
1. БитТоррент клиент
> Большие Братья: Azureus, Deluge, KTorrent.
Ничего быстрее и вразумительнее transmission (из графики) вы не найдете.



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

2. РСС-ридер
> Большие Братья: Liferea, Syndigator, Straw.
Я использую плагин к Файрфоксу - Feed Sidebar.



Мне легче запустить бразуер и нажать одну кнопку, чем запускать еще и сторонний ридер. Имеет минимум функций, но в этом и ценность - ничего сверх этого мне не нужно.

Мультимедиа
1. Просмотрщик изображений
> Большие Братья: GQView, gThumb, Mirage.
Всё вышеприведенные программы довольно тормозны. Особенно по сравнению с gPicView. Быстрее него просто нет. Умеет он минимум - просмотр, зум, поворот и т.п. и всё.



Если вам нужно нечто большее - попробуйте Mirage.

2. Аудио-плеер
> Большие Братья: Amarok, Exaile, Audacious, XMMS.
Раньше я скептически относился к плеерам, составляющим музыкальные базы, полагая, что я и сам знаю, что и где у меня лежит. Да и тормозов боялся (Exaile у меня составлял базу всю ночь пока я его не прервал). Однако, сочетание mpd + sonata оставит далеко позади ЛЮБОЙ winamp-like.



Получение обложек и текстов из интернета, встроенная поддержка last.fm, поиск по своей базе - всё это есть и всё это быстро. База из 100+ гигабайт музыки составляется за 5 минут.

В заключении отмечу пару маленьких CLI, без которых я не представляю десктопа. audio-convert - это маленький скрипт на баше, умеющий перекодировать аудио форматов wma, mp3, flac, waw, etc. Использует Zenity для графики и чрезвычайно удобен. Calc - консольный калькулятор.

Сonclusio
Все вышеописанные программы в сочетании с легким WM/DE дадут такой прирост производительности, что разработчики Gnome и KDE должны сгореть от стыда.


Полный текст очерка

11 апр. 2008 г.

Кому же я отдал этот диск?!

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

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

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

Bumblebee
(perl-gtk2) довольно страшна и отображает информацию не слишком удобно. Как то - отсутствует возможность показа обложек сразу в списке.


CeeMedia (PyGtk) не блещет функционалом, но имеет ряд приятных особенностей - удобно отображает рейтинги фильмов и похожие фильмы.


GCStar (GTK+) хороша и умеет практически все, что нужно уметь добропорядочному каталогизатору, хотя некоторые моменты откровенно раздражают. Я так и не нашел, где там ставить теги, интерфейс во многих местах весьма нелогичен. Кстати, у программы невероятно уродское лого.


Griffith. Как писал один товарищ в один известный журнал - "вроде бы умная, симпатичная девчонка. Но прыщавая. И прыщи эти обнаруживаются каждый раз в самых интересных местах". Griffith подкупает своей лаконичностью и логичностью, но толком не умеет импортировать из других каталогов и API для плагинов там весьма кривое.


Tellico. Да, это КуТэ'шная программа. Но я советую всем обратить на нее внимание. Хотя бы потому, что на официальном сайте есть приличный список разнообразных альтернатив.


Места на моем винчестере удостоилась GCStar. Я готов смириться с ее весьма существенными недостатками, так как ничего лучшего я не нашел. А самые вопиющие недостатки я исправил за один вечер. В частности в стандартной поставке отсутствуют плагины для работы с приличными русскими каталогами (есть только для отечественных фильмов и для наших же мультфильмов) и наличествует ужасный, непотребный русский перевод. Первый недостаток был исправлен написанием плагина к www.kinopoisk.ru (плагин уже отправлен разработчикам) - отличному русскоязычному каталогу с кучей фильмов (я был удивлен, когда он нашел такой андеграунд, о котором знают единицы). Локализация также была подправлена.
Вот так он у меня выглядит:


В копилку страждущим:
Плагин для kinopoisk.ru и нормальный перевод.
Плагин положить в /usr/lib/gcstar/GCPlugins/GCfilms, перевод - в /usr/lib/gcstar/GCLang/RU.


Полный текст очерка

6 нояб. 2007 г.

Вышел прототип приложения Prism от Mozilla.

Prism - это новое активно-разрабатываемое приложение от всем известной Mozilla для тесного интегрирования различных вэб-приложений в Операционную Систему. 2 ноября тестовый прототип приложения стал доступен для скачивания пользователям Mac и Linux.

Я стараюсь оперативно следить за разработками Mozilla, поскольку они, по моему мнению, достаточно интересны и всегда выполнены на высоком качественном уровне. Да-да, я знаю про многочисленные проблемы Файрфокса с памятью, с буфером обмена и т.д. Но, как говорится, что не ошибается - то не работает.
Короче говоря, я решил посмотреть на Prism.

Скачиваю и запускаю.
Скачать 8-мегабайтный тарбол (многовато, да) можно по этой ссылке.
Для запуска достаточно запустить исполняемый файл из директории программы:

./prism

Вот так всё просто, да.

Посмотрим на вэб через Призму!
Запускается довольно резво. Главное окно создания нового приложения:


В поле URL ввожу "http://lazysketches.blogspot.com/". Отмечаю чекбоксы и прошу создать значок на рабочем столе.
Жму "Ok", сразу же появляется, собственно, мое вэб-приложение:

Все элементы страницы отображаются правильно, всё смотрится также, как и в Файрфоксе. Ну еще бы - Gecko, господа.
Переход по ссылкам не вызывает проблем. Можно создать новое сообщение:


WTF?
Теперь немного об отрицательном. Дело в том, что обещанной интеграции я и не заметил. Никаких значков ни на десктопе, ни где то еще у меня не появилось. Мне кажется, что приложение с гордым описанием "a cross-platform way to integrate the web platform with the desktop environment" должно уметь делать нечто посерьезнее, нежели рисовать мне страницы в отдельном окне. Пока это можно списать на ограничения тестового релиза, посмотрим, что будет дальше.
Да, кстати, памяти эта штука у меня ест примерно 13мб. На мой взгляд, не так уж и много.


Полный текст очерка