пятница, 31 июля 2009 г.

День Сис. Одмина

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

четверг, 30 июля 2009 г.

Отчетег о прошедшем

Позавчера на работе выдали зарплатную карточку. Неплохо так, учитывая что через ~10 дней будет 3 месяца как я работаю.
На работе что-то какой-то напряг, что выливается в редкие посты в блоге. Сорри.
За прошедшее время todeus завел себе полноценный блог на нормальном хостинге с нормальным доменом. Так же завел себе блог valor (на том же хостинге). Это я к тому, что в список справа я их добавил, а про это событие не отписался.
Пару недель назад ходил с todeus'ом и valor'ом в Мюнхен - пивоварня у нас в городе есть такая. Атмосфера понравилась, пиво понравилось, баварские колбаски были тоже класс! Еще и со скидкой (у меня есть дисконтная карта - плюс общения по работе с различными директорами и другими ответственными лицами).
А, да, я мудаг. Ну или хочу им быть. Ну это так, накипело.

понедельник, 20 июля 2009 г.

Ionize It! или Ионизируем себя при помощи ion3

Решил перенести свой пост с welinux к себе в блог.

Ion™ is a tiling tabbed window manager designed with keyboard users in mind. О ion3 и его базовой настройке.

Что это?

Ion (или IonWM) — фреймовый оконный менеджер для UNIX-подобных операционных систем, разработанный в первую очередь для удобства управления окнами без мыши. Проблема навигации в Ионе решается путём разделения экрана на неперекрывающиеся фреймы. Таким образом перемещение между окнами при помощи клавиатуры становится быстрым и удобным. В каждом фрейме может находиться несколько клиентских окон, обозначенных вкладками. Начиная с версии 2, Ion поддерживает скриптинг на языке Lua.[1]
Так же хочется заметить, что в ion3 понятие "рабочего стола" заменено на понятие "воркспейса" (workspace), что, в принипе, логично =). Воркспейс разбивается на фреймы (Frame, WSFrame), фреймы состоят из табов (tab). У табов принцип такой же как у вкладок в браузере.

Моя причина перехода

Начну с того, что у меня не самая слабая домашняя система: Athlon64 x2, 2гб оперативы, GeForce9800GT.
Но меня всегда не устраивала скорость работы различных DE/WM. Гном мне почему-то никогда не нравился. xfce - лучше, очень лучше, но при переключении рабочего стола на тот, где открыт огнелис с 10 вкладками уходило порядка 2+ секунды. Для меня это очень медленно. Пробовал openbox - минималистично, но все теже перекрывающиеся окна. Последним был KDE 4.1. Симпатично, работает довольно шустро, но смена рабочего стола на тот, где открыта опера с 10 вкладками, опять же занимает довольно продолжительное время. Да и мышкой возюкать иногда бывает лениво.

Быстрый старт

И тут я решил поставить себе ion3. Отступление: надеюсь, что вы тоже. Если нет - дочитайте до конца и может решите ;)

Самое необходимое - хоткеи

Первое, что нужно сделать - запомнить несколько хоткиев (потому, что почти все управление окнами - с клавиатуры). К ним относятся:
  • F2 - запуск эмулятора терминала
  • F3 - запуск приложения (внизу появиться строчка для ввода)
  • Alt+c - закрыть текущий фрейм (если фреймы кончились, то закрывается весь воркспейс)
  • Alt+F9 - создать новый воркспейс
  • Alt+1 - Alt+0 - переключение на воркспейс с соответствующим номером
  • Alt+Tab - сделать следующий по горизонтали фрейм активным
  • Alt+n, Alt+p - сделать следующий/предыдущий по вертикали фрейм активным
  • Alt+k, p(n) (нажать одновременно Alt и k, затем нажать p(или n)) - сделать предыдущий(следующий) таб активным
  • Alt+k, 1(2..9) - сделать активным таб с номером 1 (2..9)
  • F12 - вызыват главное меню

О роли мыши

Для управлениями фреймами так же можно пользоваться мышой. Например, зажав Alt+ПКМ, можно изменять размеры текущего фрейма. По нажатию ПКМ на заголовке выскакивает меню управления воркспейсом/фреймом.

Немного конфигурилова

Вот вы уже понасоздавали воркспейсов, разбили их так, как вам нравиться, поназапускали приложений. Погодите - не перезагружайтесь, ибо все изменения пропадут. Пришло самое время поработать с конфигами.
Итак, первое, что нам нужно сделать - это создать файл ~/.ion3/cfg_user со следующим содержимым:
dopath("cfg_kludges") --настройки окон
dopath("cfg_bindings") --биндинги клавиш
dopath("named_scratchpad") --вроде как полезный скрипт

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

Для того, чтобы легче заполнять конфиги, будет полезным переименовать все фреймы, с которыми вы работаете. Чтобы это сделать нужно:
  1. Сделать нужный фрейм активным
  2. Нажать Alt+F3
  3. Ввести mod_query.query_renameframe(_)
  4. Ввести новое имя фрейма
Таким же образом можно посмотреть текущее имя текущего фрейма.
После того, как вы настроили и переименовали все фреймы необходимо сохранить сессию, чтобы после ребута расположение всех фреймов осталось. Для этого:
  1. Нажимаем F12
  2. Вводим
    session/save

Теперь необходимо настроить ион так, чтобы приложения при запуске оказывались в нужных нам фреймах. Для начала создаем файл ~/.ion3/cfg_kludges.lua, который как раз за это и отвечает. Воспользуемся моей заготовкой (она у меня храниться в самом начале файла):
--xprop | grep -iE "class|role"
--defwinprop
--{
-- isntance="", -- первое значение WM_CLASS
-- class="", -- второе значение WM_CLASS
-- role="", -- значение WM_WINDOW_ROLE
-- target="" -- целевой workspace, tag, frame or launchpad
--}

Последовательность действий, примерно, такая:
  1. Запускаем приложение
  2. Открываем эмулятор терминала
  3. Вводим
    xprop | grep -iE "class|role"
  4. Тыкаем в нужное приложение
  5. Сохраняем полученные данные в конфиг

Для каждого окна в ~/.ion3/cfg_kludges.lua должна быть своя секция defwinprop {...}. Причем именно для окна, потому что разные окна одного приложения можно расположить в разных фреймах. Например, участок моего конфига, отвечающего за psi, выглядит так:
defwinprop
{
isntance="main",
class="psi",
role="psimain",
target="stuff_psi"
}

defwinprop
{
isntance="tabs",
class="psi",
role="",
target="stuff_psi"
}

Результат

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

Немного о плавающих окнах


Есть такая полезная штука в ионе, как плавающие окна - окна, которые открываются поверх всех воркспейсов. Их можно двигать, изменять им размер, а так же использовать как полноценный воркспейс. Открывается эту штука по нажатию Alt+Space и выглядит, примерно, так, как показано слева.


Благодарности и ссылки

Спасибо KerneL за то, что нашел мой коммент, где я писал про ион.
Спасибо Egyptian за идею для названия статьи.
В данной статье использовался материал из [2] и еще откуда-то (сейчас не вспомню, ибо сейчас писал все по памяти), а так же из головы и моих конфигов =) Советую почитать еще по этой ссылке.

вторник, 14 июля 2009 г.

Взгляд на FreeBSD глазами linux'оида

Поставил себе неделю назад(или две, уже точно не помню) FreeBSD на qemu. Причины две:
  1. Любопытство - давно хотел узнать ответ на вопрос "чего же это такое?".
  2. Это вроде как некоторый шаг на пути к исполнению моего желания про хостинг по мануалу на sysadmins.su.
Первым недоразумением стало отсутствие внятного описания iso'шников. Оказалось, что bootonly нифига не аналог дебиановского netinstall'а.
По сравнению с установкой Gentoo, установка FreeBSD очень проста. Чем-то напоминает установку Arch'а.
Второе недоразумение, с которым столкнулся, оказалось невозможность выполнить su от обычного пользователя без установки и настройки sudo. А после установки и настройки sudo, FreeBSD стала офигенно похожей на Ubuntu с ее идеологией отсутствия root'а. Нафига тогда задавать ей рутовый пароль при установке? Ответ не ясен.
Третьим препятствием на пути к комфортному пользованию системой стало отсутствие поддержки юникода. Единственная возможная локаль с поддержкой русского языка - koi8-r. Блин, но это же уже прошлый век. Даже в самый консервативный дистрибутив (я про debian, если кто не понял) давно добавили поддержку юникода и возможность использовать ru_RU.UTF-8 в качестве системной локали.
Как следствие стало невозможным использования mcabber. Русские имена в ростере выводились в виде кодов юникодовых символов, а при попытке зайти на linuxdv@conference.jabber.ru он выдавал какую-то ошибку.
Вот таким было мое первое общение с этой системой. Однако все равно необходимо продолжать, чтобы достичь цели.
Дополнение от 15.07.2009:
А вот и новость на Опеннете появилась про добавление в FreeBSD 8.0-CURRENT поддержки UTF-8. Каменты почитать тоже советую ;)

четверг, 2 июля 2009 г.

Комикс

Пришла в голову идея для комикса:
Кадр 1. Стоят рядом два чела - один курит, второй такой в меру вкаченный. Вкаченный курящему "Ну вот и кто из нас двоих дольше проживет?".
Кадр 2. Вкаченного сбивает грузовик, а в это время курящий курит у края дороги...
з.ы. или я это где-то видел?