11.10.09

Amarok2: не работают горячие клавиши

Рубрика: Gentoo, Linux tagged , , , , в 22:33 от Engraver

С чего бы им работать, если в KDE 4, как оказалось, за нажатыми клавишами следит не приложение, а служба KHotKeys, без запуска которой горячие клавиши не работают во всех кедах. Ставим ближайшим менеджером пакетов, Synaptic или emerge… :)

08.11.09

gcc-config: error: could not run/locate ‘gcc’

Рубрика: Gentoo tagged , , в 21:13 от Engraver

Если возникла ошибка из сабжа, следует проверить, какая версия gcc сейчас установлена в системе, хотя бы с помощью
emerge -s gcc
и исправить номер версии в файле /etc/env.d/gcc/config-(у кого что) на полученный. И, возможно,
emerge gcc
Если при запуске программы ругаются на невозможность найти libgcc****, нужно
sh fix_libtool_files.sh

08.08.09

Установить Gentoo

Рубрика: Gentoo, memory tagged , , , , в 23:00 от Engraver

Предисловие

N-е количество исталляций осей на компе показало, что таки Gentoo наиболее «моя» ось. Последняя OpenSUSE+KDE4  показали себя с препаршивейшей стороны. Не, ну сожрать 2,8 гиг оперативы при первом же запуске после инсталла и уронить аудио после первого же ребута кажется ненормальным. Хотя может это больше баги кед… Debian 5.0.2 64bit наоборот, показал себя с лучшей стороны. Если б не желание контролировать ось от носа и до хвоста, то на нем бы и остался. Между прочим, прирост скорости в операциях с циклами по массивам больших размерностей составил на нем 20% по сравнению с 32-битной гентой и включенным флагом High memory в ядре. Заставило задуматься. И вернуться к Gentoo снова, но уже с родной для проца архитектурой.

Прочтите эту запись до конца »

07.07.09

Конвертация словарей Lingvo для StarDict

Рубрика: Linux, memory tagged , , , , в 21:17 от Engraver

Рано или поздно сидящего в линуксе человека заедает тоска по словарям уровня/объема Lingvo. Однако в эмуляторах эта прога работает жутко коряво, поэтому сейчас займемся ковертацией её словарей в формат, понимаемый StarDict’ом.

Прежде всего нужно немного хакнуть поставляемый вместе с Lingvo Dslcomp.exe. Для этого потребуется любой hex-редактор. Байты, которые нужно изменять для версий Lingvo 11 и 12 указаны соответственно в источниках знаний [1] и [3] ниже. После хака в окне Dsl compiler’а появляется недокументированная возможность конвертации словарей из формата *.lsd в кошерный *.dsl, что и нужно сделать для всех желаемых словарей.

Далее нужно воспользоваться еще одним конвертером, исходники которого можно взять отсюда в разделе Converter: many to many. Однако разрабов (или меня) чего-то проглючило и без бубна последняя стабильная на момент написания сих слов версия 0.3  не соберется. Необходимо добавить после пары строк, начинающихся с #ifndef …, #define с новой строки в файлы:

  • #include <memory> в src/parser.hpp
  • #include <string> в src/langs_2to3.hpp
  • #include <string.h> в src/normalize_tags.hpp

После этого ./configure && make && sudo make install сработало без проблем.

Далее makedict -i dsl -o stardict DictName.dsl, после чего в каталоге со словарем появится папка, содержащая три файла с расширениями *.dict, *.ifo и *.idx. Папку можно поместить в /usr/share/stardict/dic или в каталог своего пользователя ~/.stardict/dic, после чего перезапустить StarDict. Всё :)

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

  1. http://jack.kiev.ua/content/view/666/5/lang,ru/
  2. http://sovety.blogspot.com/2008/02/lingvo-11-linux.html
  3. http://brutalblog.wordpress.com/2007/12/20/1/
  4. http://xdxf.revdanica.com/forum/viewtopic.php?t=222&sid=15b306a156b5d60fa24ccffcd218ad76

06.10.09

Gentoo: нет места на системном разделе

Рубрика: Gentoo tagged , , в 22:45 от Engraver

Когда ни с того ни с сего появляется сообщение о том, что на системном разделе кончилось место, может подняться паника, особенно если еще вчера, помнится там не меньше десятка гиг было. Спасибо Gentoo mailing lists, просветили и отрекомендовали. Прежде всего нужно отмонтировать все локальные диски, абы быть уверенным, что не произошло накладок типа когда что-то вместо /home/… или /media/… пошло записываться в /root и т. п. (когда такое бывает, мне сказать трудно, но…). Но в данном случае проблема была прозаичнее: случился какой-то глюк, и syslog-ng сотворил 11 гигабайтный (!) файл, который уже для прочтения не открывался ничем.
tail /var/log/messages
я не додумался сделать, а грохнул виновника сразу. Решением проблемы, говорят, есть смена syslog-ng на metalog, который не пишет дубликаты сообщений. В Gentoo смена делается быстро:
rc-update syslog-ng delete
emerge metalog
rc-update metalog add default

06.05.09

Система управления заданиями PBS

Рубрика: Linux, Science, memory tagged , , , , , , в 09:24 от Engraver

Часто для управления выполнением пользовательских задач на кластере используют систему PBS. Она очень проста в использовании, но разрозненные в сети сведения о том, как нужно с ней работать, хотелось бы собрать в одном месте, что я и попытаюсь ниже сделать.

Наиболее часто используемыми программами из системы PBS являются qsub, qdel и qstat. Первая ставит задание на очередь, вторая удаляет его оттуда, а третья позволяет следить за состоянием задания. Прочтите эту запись до конца »

05.27.09

Использование OpenMP: старт

Рубрика: Gentoo, Science tagged , , , , в 18:25 от Engraver

Распараллеливание задач, подчас, бывает крайне необходимой штукой. Однако в самом начале изучения одной из библиотек для этого — OpenMP — сталкиваешься со страшной проблемой: нифига не паралеллится. Итак, раз и на всегда что нужно делать:
#include <stdio.h>
#include <stdlib.h>
#include <omp.h>
int main(int argc, char ** argv)
{
#pragma omp parallel
{
printf("Hello, world!\n");
}
return 0;
}

Теперь компилируем:
alexander@A64x2 ~/Temp $ gcc -fopenmp -c test.c
alexander@A64x2 ~/Temp $ gcc -o test test.o -lgomp

Здесь ключевыми являются флаги -fopenmp и -lgomp, использование которых, похоже, очевидно всему миру кроме меня… А результат выполнения у меня был таков:
alexander@A64x2 ~/Temp $ ./test
Hello, world!
Hello, world!

05.10.09

Отладчик gdb

Рубрика: Linux tagged , , , в 11:04 от Engraver

gdb, он же GNU Debugger — одно из основных средств отладки в *NIX, при этом консольное. Последнее и послужило причиной написания данной напоминалки. Итак, пусть мы хотим отладить программу prog. Тогда её обьектные файлы должны создаваться с ключем -g, позволяющим отладку:
$ gcc -c prog.c myheader.h -g
$ gcc prog.o -o prog

Теперь можно запустить дебаггер:
$ gdb prog

Запуск и остановка выполнения

  1. run prog <agruments> — запуск программы на выполнение. Псевдоним: r.
  2. Остановка: Ctrl+C.

Точки останова (breakpoints)

  1. break <linenumber> или break <filename.c>:<linenumber> или break <function_name> устанавливает точку останова в определенную строку основного файла проекта, или в файле<filename.c>, или на заход в функцию<function_name>. Псевдоним команды break: b.
  2. delete — удалить все точки останова.

Список будет пополняться по мере надобности на странице блога.

05.04.09

Фотоаппараты в Gentoo

Рубрика: Gentoo, memory tagged , , , , , , , , , , в 10:58 от Engraver

Как и в случае с принтерами, для поддержки мультимедийного оборудования лучше обновить соответствующие библиотеки с тех, которые лежат в портеже на самые новые, скачав их с сайта разработчика. Первым делом лучше проверить, поддерживается ли ваша камера в этом списке. В моем случае, Canon PowerShot A400 завелся после инсталляции F-Spot (http://www.gentoo-wiki.info/F-Spot), последующего удаления libphoto
emerge --unmerge libphoto
и инсталляции из исходников последней на текущий момент версии 2.4.5, скачанной с http://gphoto.org/.
Не забудьте добавить своего пользователя в группы usb и plugdev, иначе перекачка фотографий будет выполняться только под root’ом:
gpasswd -a username usb plugdev
Иногда может понадобиться так же принадлежность к группе camera:
gpasswd -a username camera

То же самое относится и к другим менеджерам фотографий, таким как camera, gtkam и gphoto2.

Отдельное спасибо участникам рассылки gentoo-user@lists.gentoo.org, благодаря которым эта проблема разрулилась ;)

05.02.09

Ejecting CD-ROM in GNOME

Рубрика: Gentoo tagged , , , в 12:09 от Engraver

В один прекрасный день сообщение при вытаскивании диска мну задолбало:
There was an error ejecting the volume or drive.
org.freedesktop.Hal.Device.Volume.UnknownFailure:
umount: /dev/sr0: не підключений
umount: /dev/sr0: не підключений
eject: unmount of `/mnt/cdrom' failed

Решение простое: удалить каталог cdrom из /mnt и закомментировать строку, начинающуюся с /dev/cdrom, в /etc/fstab.

P. S. Это рецепт для GNOME’а.

Следующая страница