воскресенье, 18 октября 2009 г.

mc — смена каталога при выходе

После обновления mc до версии 4.7.0_pre1, было обнаружено, что пропала удобная функция, позволяющая при выходе из программы остаться в последней директории, а не в той, которая была на момент запуска mc. В gentoo это работало благодаря добавлению следующих строк в .bashrc:

if [ -f /usr/share/mc/mc.gentoo ]; then
    . /usr/share/mc/mc.gentoo
fi

Так вот, выяснилось, что файл /usr/share/mc/mc.gentoo отсутствует в новой версии mc. Ну и собственно, для возврата работоспособности описанной функции, необходимо под root'ом создать файл /usr/share/mc/mc.gentoo следующего содержания:

#!/bin/sh

MC_ENV=/usr/libexec/mc/mc.sh

for i in $MC_ENV; do
    if [ -x $i ]; then
        . $i
    fi
done

Также не забываем проверить наличие указанного выше фрагмента в .bashrc. Теперь все должно работать, как раньше.

суббота, 22 августа 2009 г.

Org-mode даты?

Возник вопрос с датами в org-mode. Возможно ли настроить сложные повторяющиеся события, такие как, повтор события каждую неделю во вторник, среду и пятницу. Если просто добавить несколько дат, то во время изменения состояния события на DONE, изменятся все даты, а не одна нужная.

Сейчас для подобных событий делаю 3 одинаковые записи с разными датами. Например:

#+STARTUP:showall
* TODO Полить цветы
  SCHEDULED: <2009-08-25 Tue 11:00 +1w>
* TODO Полить цветы
  SCHEDULED: <2009-08-27 Thu 11:00 +1w>
* TODO Полить цветы
  SCHEDULED: <2009-08-29 Sat 11:00 +1w>

P.S. Строка #+STARTUP:showall добавлена для того, чтобы при конвертировании в HTML из muse-mode, фрагмент примера заключенный в тег <src lang="org"></src> отобразился полностью, а не только названия дел.

Баги Amarok 2.1.1

С недавнего времени удалил все приложения kde-3 и qt3. Соответственно обновился на существующие версии программ для kde-4 и qt4. И теперь в качестве оконного менеджера использую OpenBox. Так вот в связи с этим всем обновил и amarok — любимый аудио плеер, подтолкнувший меня давным давно аккуратно каталогизировать коллекцию музыки.

Уже ранее пробывал 2-ой amarok, но тогда сразу же отказался от его использования, в виду малой функциональности по сравнению с ранними версиями. 2.1.1 сначала порадовала. Импортировала старую базу с mysql. Очень хороша показалась на этот раз интеграция с last.fm. Появились поддержка очереди. На этом похоже радости кончились.

Первое, что бросилось в глаза — знаки вопросов вместо русских букв в названиях групп и песен для некоторых русских исполнителей, которые ранее отображались абсолютно нормально, как в amarok-1.4, так и в easytag.

Также было замечено, что 2-ой amarok напрочь отказывается проигрывать некоторые треки и чуть ли не виснет при этом. Например, он не захотел проигрывать ни одну песню группы #####. У меня подозрение что это опять же связано с тегами. Заметил что с amarok идет их собственные библиотеки taglib и taglib-extras. И собственно не совсем понимаю, зачем надо было создавать новые решения существующих рабочих библиотек.

Последнее, что добило окончательно — amarok по своим непонятным причинам переставал играть следующую композицию в списке. Тут я не выдержал и удал его. Сейчас поставил пока себе Exaile, но он меня все же также не особо радует. Не хватает функций работы с коллекциями. Жду с надеждой новых релизов amarok. Да и подумал — пора уже сделать качественный upgrade компьютеру. Производительности Celeron 2100 Hz на современные программы порой уже не хватает.

пятница, 14 августа 2009 г.

Работа с Emacs --daemon

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

Теперь для полного выхода из Emacs (убийство демона) использую функцию kill-emacs. Но в таком случае не сохраняются открытые буферы и сессия (desktop). Поэтому добавил в файл инициализации далее описанную функцию и назначил на нее клавиши C-x c:

(defun my-kill-emacs ()
  (interactive)
  (save-some-buffers)
  (desktop-save-in-desktop-dir)
  (kill-emacs))

(global-set-key (kbd "C-x c") 'my-kill-emacs)

Для запуска Emacs в меню OpenBox добавил пункт выполняющий следующее:

emacsclient -c -a emacsdc

Где emacsdc - скрипт следующего содержания лежащий в папке ~/bin, которая добавлена в PATH:

#!/bin/bash

emacs --daemon && emacsclient -c

Таким образом при вызове Emacs из меню, в момент когда не включен демон, запускается собственно демон и сразу же открывается новый фрейм. Если же демон уже запущен, просто открывается фрейм, подключенный к демону. Из консоли же теперь можно запустить так:

emacsclient -t

P.S. Оказывается все намного проще! Не надо никаких скриптов придумывать. Запускать Emacs надо так:

emacsclient -c -a ""

P.P.S. Спасибо тов. Juev'у.

четверг, 19 марта 2009 г.

Большой расход памяти imagemagick!

Никак не могу разобраться, как это происходит. И из-за чего!

Первоначальная задача была конвертировать около 200 jpeg файлов в pdf. Использовал imagemagick:

convert *.jpg converted.pdf

При этом convert затратил память около 2-х Гб и повесил комп (т.к. у меня оперативка + swap = 2 Гб). При этом общий объем изображений не превышает 50 Мб. Думал сначала, что вся проблема связанна именно с конвертацией в pdf. Но аналогичная ситуация возникает при попытке конвертирования достаточно большого количества любых файлов.

При конвертировании 20 jpg файлов convert занимает 400 Мб! Это вообще нормально?

воскресенье, 8 марта 2009 г.

Оптимизация компиляции для нескольких компьютеров (distcc и ccache)

Решил провести небольшое исследование о влиянии программ distcc и ccache на скорость компиляции. Поводом стала небольшая заметка о ускорении компиляции и собственно наличие 2-х компьютеров, работающих под gentoo в одной сети с почти одинаковыми процессорами (Celeron 2100 и Celeron 1800).

Настройка данных программ достаточно подробно описана в handbook'е и на сайте gentoo. На них останавливаться не буду.

Скорость компиляции проверялась при сборке pidgin версии 2.5.3. Процесс сборки представляет собой разархивацию исходников, конфигурацию, компиляцию, составление бинарного пакета и его установку в систему. Представленные программы направлены только на ускорение компиляции.

  • Время сборки без distcc и ccache: 13:12;
  • Время сборки с distcc: 10:14;
  • Время сборки с distcc и ccache: 7:08;

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

С ccache за довольно большое время использования при сборке различных программ проблем замечено не было. А вот с distcc были некоторые трудности. Например, возникали ситуации, когда 2-ой компьютер не успевал выполнить посланную задачу из-за некоторых перегрузок или нехватки свободной памяти, что замедляло или вешало процесс. Также для некоторых программ действие distcc вообще нулевое из-за принудительной компиляции в один поток (make -j1). Ну и также встретились программы, которые вообще отказались собираться с distcc.

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

понедельник, 12 января 2009 г.

Отказать SCIM!

Намучился тут с утрица с настройкой scim. В результате отказался от этого дела! Основная причина недовольства этой программой — отсутствие нормальное поддержки compose. Во-первых, scim не поддерживает настройки из ~/.XCompose. А, во-вторых, так и не удалось мне добиться хоть какого-нибудь результата работы compose в Qt.

Кстати, если для emacs, как советуют, отключать использование xim, то compose там тоже прекращает работать.

четверг, 11 декабря 2008 г.

Portage 2.1.6 и KDE 4.1.3

Решил поставить себе одну из последних тестовых версий portage, а именно 2.1.6. Подобная мысль возникла, так как уже появилось достаточно много ebuld'ов, использующих EAPI2. В том числе и kde-4.1.3, который и хочется наконец-то потестить!

Portage

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

>>> Starting parallel fetch

Мелочь, но тоже заметная: сборка, установка и удаление пакета отделены друга от друга. Точнее говоря изменено их текстовое оформление. Но тогда уже странно следующее: если обрыв установки пакета происходит на этапе Installing, то логичнее, на мой взгляд, было бы продолжить с него после emerge --resume. Но этого не происходит, пакет хочет пересобираться заново. Так что проще установить сначала собранный пакет, а потом заново перезапустить emerge.

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

Также раньше на сколько помню перекрытия пакетов (collisions) приводили к перезаписи новыми файлами и сообщению об этом, если не установлена опция collision-protect. Сейчас же по-умолчанию процесс установки прекращается!

Чувствую, что замечено будет еще куча различных нововведений. И вообще надо документацию полистать.

KDE 4

Ну и пара слов о kde4. Интересно, что он устанавливается теперь по FHS стандарту, а не в /usr/kde/${SLOT}, как раньше. За то куда устанавливать отвечает USE-флаг kdeprefix. Только вот не понимаю: как лучше-то? Собственно из-за этого и произошло несколько проблем с перекрытием пакетов (collisions) во время установки.

Второй раз уже смотрю на 4-е кеды… Но никак они меня не впечатляют. Подтормаживают на моем компьютере. Многие вещи не удобны и не доделаны. Многих привычных по 3-им кедам вещей нет. Настройки немного сократились такое ощущение. Плюсом у меня все это дело криво собралось, и почти все меню во всех kde-приложениях назывались No Text.

Поразил amorok в плане своей нефункциональности! Может быть что-то там и красиво, но не хватает нормальной работы с плеерами, очереди и еще чего-то. Коме того, он упал через 5 минут его использования. Что есть совсем не хорошо! Также нету настройки БД. Не смог импортировать БД со старого amarok'а.

В итоге откатился на kde 3.5.10. Но вот последнее время все чаще в голову приходит мысль перейти на что-нибудь легковесное. в планах попробовать на fluxbox пересесть. Какие еще хорошие варианты?