You are viewing [info]dap_darkness's journal

Короткая ссылка на мой ЖЖ:

Доброго времени суток!

Здесь вы сможете найти мои заметки об использовании операционной системы Linux и различных приложений проекта GNU и прочих; а также рецепты блюд, которые я готовил, и кое-какие записи, не относящиеся к вышеперечисленному.

Welcome!

Копии блога: 1, 2.

Аватара+

Комрад 0xd34df00d поведал, что на ext4 бывает фрагментация, и даже существуют утилиты для борьбы с ней. Что ж, установим и проверимся:

sudo zypper ar -k http://download.opensuse.org/repositories/filesystems/openSUSE_12.1/filesystems.repo
sudo zypper ref
sudo zypper in -f e2fsprogs
sudo e4defrag -c /

Мда, негусто: 5 файлов, и те временные, к следующей проверке исчезли сами. Но если очень хочется, есть режим дефрагментации sudo e4defrag / На втором разделе аналогичная ситуация. Дожились, уже не помечтать, созерцая бегающие цветные полоски =(

Комрад yaloki поделился занятным способом проверки версии куть при сборке. Определяем переменную с версией как %define qtversion %(rpm -q libqt4 --qf='%{VERSION} '|awk -F. '{print $1 * 10000 + $2 * 100 + $3}') При этом 4.8.1 преобразуется в 40801, поскольку if не может сравнивать версии в их первоначальном виде. Используем в обычном условии:

%if %qtversion >= 40800
%else
...
%endif

Чтобы немного ускорить локальную сборку, запихнул корень сборки (цель make install) в оперативную память. Строка в fstabtmpfs /var/tmp/build-root/home/abuild/rpmbuild/BUILDROOT       tmpfs      defaults                 0 2

Тем временем я обнаружил, что xneur наложил лапу на кнопку Tab (а я то думал, чего автодополнение так тупит) и принёс кучу горячих клавиш для запуска всяких наутилусов. Соответствующие горячи клавиши были аннулированы.

Ну и на закуску поиск установленных пакетов, принадлежащих репозиторию: zypper se -i -r 'reponame'

Мусор: sudo zypper rm -u libenet1 libqxt1 screen

Аватара+

Недавно вышло мажорное обновление гоночного симулятора Spead Dreems. Управление осталось таким же невнятным. Пакет отправился в games. Также зарелизился менее амбициозный проект, но более симпатичный мне: Trigger Rally. Товарищ xandry намекнул мне, что последняя уныла из-за отсутствия соперников и порекомендовал SuperTuxKart. И мне понравилось =) Цитата в тему: Full Circle Magazine назвал игру SuperTuxKart одной из лучших гонок, существующей в версии для Linux, отзываясь о ней как об игре, которую нужно попробовать тем, кому надоели реалистичные гонки. Как раз про меня. Обе игры были собраны в games, посему:

sudo zypper ar -k http://download.opensuse.org/repositories/games/openSUSE_12.1/games.repo
sudo zypper ref
sudo zypper in supertuxkart trigger-rally

Недавно проигрывая сражение с кракозяблами в mp3-тегах в qmmp, я набрёл на тикет в их трекере, утверждающий, что проблема решается патчем от команды RusXMMS на библиотеку tag. Забегая вперёд, скажу, что патч всё решает, не забываем вернуть utf8 как кодировку тегов в настройках плеера. Не успел я поковырять пересборку, как xandry поделился новостью, что этот патч уже включён в дистрибутив. Но соответствующий пакет будет только в следующем релизе, поэтому подключим профильный реп и обновимся:

sudo zypper ar -k http://download.opensuse.org/repositories/multimedia:libs/openSUSE_12.1/multimedia:libs.repo
sudo zypper ref
sudo zypper in -f --no-recommends libtag1 libtag_c0

Радости небольшой абзац. Случилось так, что пропали интернеты. Поскольку сейчас у меня не установлено никаких программ для модемов, в голову закралась крамольная мысль перезагрузиться в бунту, но я всё же решил попробовать натыкать что-нибудь в Ясте. Не повезло с pptp, так, может, осилю это? Осилил, всё вполне интуитивно, понадобилось пошуршать локейтом с грепом, чтобы найти номер дозвона. Потом уменьшил скорость соединения из-за разрывов, помогло. Выбрал вариант автоматического подключения при присоединении устройства. Рулить этой красотой можно утилитами *internet: консольный cinternet есть искаропки и обладает отличной справкой и юзабилити. Позже в репах нашёлся и няшный qinternet.

Мейнтейнеры calligra решили, что офисный пакет должен зависеть от KDE PIM, а, значит, и от mysql. Доказал им обратное. Теперь стоит рекомендация =) Было дело, собирал у себя в хомяке, но к текущему моменту уже удалил. Так что sudo zypper in --no-recommends calligra-tools

xneur меня решил огорчить: интеллектуальный режим решил, что в русском языке нет слов из одной буквы. В настройках переключения я не смог найти соответствующую маску, поэтому приговорил конфиги программы и вырубил ей интеллект. Узнал, что по дефолту программа забирает под себя Super+D и вставляет по нажатию дату, вырубил.

Внезапно оказалось, что кедопрограммы не умеют сохранять в gif, воспользуемся утилитой из пакета ImageMagickconvert ~/Pictures/123/rr.png ~/Pictures/123/rr.gif

make %{?_smp_mflags} в спеке сборки подставит оптимальное количество потоков сборки для данной машины.

wc -l посчитает количество строк.

Удалим случайный мусор: sudo zypper rm qsmmp

Аватара+

Недавно организовалось немного свободного времени и я решил немного поковырять питон. Для начала я затагал версию 0.1 рандоратора, после чего приступил к реализации графической морды на wxWidgets (неквадратные элементы окна и иконка [а в Tk только под вин работает =( ] прилагаются), заодно исправил кучу ошибок, облагородил исходники (в том числе лицензионно), добавил в ядро возможность прямого использования из терминала. Собственно, вот они плюшки свежей версии 0.2 =)

Установка IDLE и wx: sudo zypper in --no-recommends python-wxWidgets-lang python-wxWidgets python-idle

Хозяйке на заметку: git show v0.1 позволяет просмотреть информацию о теге.

Что же можно почитать по теме?

  • Fullcircle. HOW-TO: Программа на Python, Часть 5 — для ознакомления.
  • Руководство по wxPython: первые шаги — уже интереснее и без навязывания ООП.
  • WxPython in Action в переводе сообщества python.su — настольная книга =)
  • The wxPython Linux Tutorial от сообщества  wxpython.org — другая настольная книга на английском.
  • wxWidgets 2.8.12 — официальная документация для C, к сожалению, документация по питонобиндингу уныла.
  • Сайзеры в wxWidgets / wxPython — об упаковке элементов.
  • Перевод главы 11: Буфер обмена — работа с буфером обмена на кошках снова на C.

Костыли, которые живы в памяти:

  • Единственным кроссплатформенным вариантом иконки окна wx является (Что бы вы думали? Нет, не волшебный кролик.) ICO — родной формат винды хранения значков файлов.
  • А Tk в принципе понимает только его и только под этой самой виндой.
  • Не забываем, что в винде вывод кириллицы не работает корректно при использовании raw_input().
  • У разных морд разные понятия об интеграции в систему.
  • Например, Tk настолько хорошо прирастает к цветовой схеме и шрифтам, что даже запуск из текущей сессии от другого пользователя не помогает.
  • А wx вообще не интересны системные шрифты, оно берёт их из не известных мне глубин gtk.
  • У wx есть два класса для работы с буфером обмена: TheClipboard удалось пинками завести, а способ использования Clipboard науке выяснить не удалось.
  • Этот самый буфер обмена используется точно так же как и в C.Open() .SetData() .Close() Вот такие вот извращения встречаются и в модулях питона. 

Заодно решил ещё повыбирать редактор себе, начну с того, что не понравилось:

  • Medit не впечатлил совсем, в наличии только подсветка синтаксиса.
  • Sublime Text оказался очень красивым редактором, но таким же малополезным.
  • Bluefish обладает кое-каким автодополнением из документации.
  • Komodo Edit показался очень неплохим вариантом, автодополнение порадовало.

И вот когда я уже бросил попытки собрать пакет с комодо и сделал десктоп-файл (ложить сюда: ~/.local/share/applications) для запуска из хомяка, в ленту совсем другой тематики прилетела радостная весть: питоноплагин Kdevelop уже готов к применению. Искомый пакет обнаружился только в репозитории нестабильных кедопакетов, поэтому был безжалостно форкнут и пересобран, для него понадобилось стянуть одну стабильную библиотеку (просто более новую, чем в релизе дистра) и нестабильный Kdevelop, который тоже был пересобран. Так что выйти должно было всё же получше, чем если брать из исходного репозитория. Установка: sudo zypper in kdevelop4-plugin-python

Kdevelop прекрасен: идеальная подсветка, автодополнение со справкой из документации, подсветка объектов класса, элементов, функций, переменных... Помимо прочего предложило интегрировать с гитом, сделало какой-то странный коммит, поэтому от этого я решил отказаться.

Аватара+
Originally posted by [info]mend0za at Апрелькая линуксовка в SaM Solutions

Официальный анонс. Репост приветствуется

30 Апреля, понедельник, с 15 до 19(20,21)
Филимонова 15 комн 316 (3 этаж, прямо и направо).

Уже заявленные доклады

* Антоно Васильев. Shelr.tv месяц спустя
* Макс Мельников  (max_posedon). systemd tools
* (ждёт вас)

Плюшки от SaM Solutions уже готовы.
Аватара+

starwolf сделал ещё одну красивую тему ksplash. Запакетировал =)

Про git:

  • git gc --aggressive оптимизирует локальную копию репозитория;
  • git revert HEAD добавит коммит, обратный предыдущему;
  • git reset HEAD~1 удалит пометку о последнем коммите, файлы изменены не будут;
  • git reset --hard очистит локальную копию для обновления без конфликтов;
  • git tag -a v0.1 -m 'Cool!' создаст тэг;
  • git push origin v0.1 загрузит тэг в репозиторий;
  • git checkout master переключит текущий тэг обратно на master.

Спасибо камрадам ZogGsettler и 0xd34df00d.

phonon-backend-gstreamer не дружит с mp3, поставим другой движок: sudo zypper in phonon-backend-vlc и повысим его приоритет.

Намедни узнал, что с декабря у меня было установлено разрешение 1024x768. Когда-то драйвер в бунте закомментировал мне строку Option         "metamodes" "1152x864 +0+0" заменив её другой, а в зузе снова оказалась нужна именно эта строчка...

Аватара+

При обновлении KDE до 4.8 всплыл странный баг: падения различных приложений в разное время... Хуже всего, конечно, когда падает kdm =) Но и регулярное падение хоть чего-нибудь при логауте тоже напрягает. Кстати в 4.7.2 был точно такой же баг, что символично. Итак, я поплакался в трекер и мне было явлено несколько советов: вырубить эффект прозрачности (нет, спасибо) и/или шейдеры OpenGL2, что делается на последней вкладке настроек эффектов. Вроде бы стало получше, хотя стоит подождать ещё пару недель перед тем, как делать выводы.

Помимо прочего, исчезла галка отключения внутренней проверки (HIG, ночной кошмар, ты добрался и до KDE?!). SmartByte нашёл строку DisableChecks= в ~/.kde4/share/config/kwinrc Может, она даже работает =)

openSUSE "порадовала" меня способом настройки переключения языков в терминале: для этого нужен файл keymap. По иронии судьбы ни один файл из набора искаропки (ls /usr/share/kbd/keymaps/i386/qwerty) не реализовывал переключение по Alt+Shift. Благо, арчеводы занимаются точно такой же ерундой, и я созрел на патч к одному из ванильных кеймапов. Собственно готовый файл и установка в openSUSE. После установки открыть Редактор sysconfig в Ясте и вбить ruwin_alt_sh-UTF-8.map.gz в Hardware => Keyboard => KEYTABLE

Ну и на закуску установим локализацию. xneur, которую вынесли в отдельный пакет, и личкравтоплагин, с которым можно рулить всей фоновой активностью: sudo zypper in leechcraft-summary xneur-lang gxneur-lang

Кеширующий DNS-прокси pdnsd

Аватара+

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

Можно установить тяжёлый полнофункциональный сервер (привет, bind!), настроить его можно очень быстро: пример. Но rioky мне рассказал о более простом варианте: DNS-прокси. Эта утилита не является полноценным сервером, а просто опрашивает заданные серверы из списка и отдаёт результат, который кешируется, и при повторном запросе ответ будет получен почти мгновенно.

В openSUSE по умолчанию уже установлена одна реализация этой идеи: unscd. Представляет собой модификацию проекта nscd командой Debian. Её я решил удалить, rioky посоветовал установить pdnsd: sudo zypper in pdnsd && sudo zypper rm unscd Включить автозапуск можно в соответсвующем разделе Яста. Управлять можно через systemdsudo systemctl restart pdnsd.service Для работы достаточно немного подправить /etc/pdnsd.conf:

  • вписать DNS своего провайдера после ip = в строке после строки label= "myisp";
  • раскомментировать OpenDNS: убрать */ до и после соответствующего блока.

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

  • Norton DNS — сервис Symantec Corporation. Имеет список запрещённых адресов, о чём не стесняется сообщать через браузер.
  • Google Public DNS — DNS-сервер, разрабатываемый корпорацией Google. Гугл будет наверняка знать, какие сайты и как часто вы посещаете.
  • OpenDNS на неправильные запросы выдаёт страничку поиска с рекламой, модифицирует запросы к поисковым системам.
  • О SkyDNS пока нечего сказать, кроме того, что он самый медленный из полностью рабочих.
  • С UltraDNS наблюдается большой процент потери пакетов.

Перед конфигурированием можно изучить хорошую тему про pdnsd и перевод страницы man.  Из всех этих соображения я составил свой конфиг. Сервер по умолчанию отзывается по 127.0.0.1. Протестировать его (как и любой другой DNS) можно запросом, подобным данному: dig @127.0.0.1 irc.freenode.net | grep ime

Сборка deb-пакетов

Аватара+

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

  • Имена пакета с исходными кодами в control- и changelog-файлах должны совпадать (как и остальные поля с одинаковым названием в том числе и в dsc-файле).
  • control: В поле Depends после  ${shlibs:Depends} ничего дописывать нельзя.
  • control: В поле Description строки после первой должны начинаться с пробела.
  • dsc: В поле Files размер можно получить по ls -l а контрольную сумму по md5sum
  • rules: Каждая строка обрабатывается в отдельном потоке, поэтому cd нужно записывать в ту же строку, где и команда, которая будет выполняться в нужной директории, разделять их можно с помощью && и каждая строка в секции build-stamp выполняется в корне папки с исходными кодами.
  • Дерево каталогов пакета нужно создавать в папке $(CURDIR)/debian/имя_пакета
  • В случае "fatal error: zlib.h: No such file or directory" нужно добавить zlib1g-dev в зависимости для сборки.
  • В случае "fatal error: X11/Xlib.h: No such file or directory" нужно добавить libx11-dev в зависимости для сборки.
  • В случае "architecture of input file qrc_resources.o is incompatible" нужно очистить исходные коды от файлов *.o.
  • Собирать локально под х32 нужно с указанием в качестве архитектуры i586: osc build  xUbuntu_11.10 i586
Аватара+

Плазмоид Server Status Widget позволяет проверять доступность сервера пингами, TCP-соединениями или введённой командой, можно настроить уведомления.

Kwave — простой звуковой редактор для KDE. SoundKonverter — графический интерфейс к множеству различных аудиоконвертеров.

Установка: sudo zypper plasmoid-serverstatus in --no-recommends kwave soundkonverter wavpack lame

Аватара+

Я созрел к обновлению на новые кеды. Чтобы обновиться, посмотрим подключённые репы KDE, выключим имеющиеся, если будет надо, некоторые особо упорные удалим, потому что при последующем добавлении новых реп, нам скажут, что такой псевдоним репозитория уже занят. Потом обновим список пакетов, заблокируем те, которые мы не хотим обновлять, выполним полное обновление. После вбиваем обычное и смотрим, что не обновилось, приговариваем эти пакеты персонально, снимаем блокировки.

zypper lr | grep KDE
sudo zypper mr -d 'KDE_Release_47' 'KDE_UpdatedApps''by_Additional_packages_maintained_by_the_KDE_team_(KDE_Release_47_openSUSE_12.1)' 'by_KDE_4.7_Release_Packages_(openSUSE_12.1)'
sudo zypper rr 'KDE_Extra'
sudo zypper ar -k http://download.opensuse.org/repositories/KDE:/Release:/48/openSUSE_12.1/ KR48
sudo zypper ar -k http://download.opensuse.org/repositories/KDE:/Extra/KDE_Release_48_openSUSE_12.1/KDE:Extra.repo
sudo zypper ref
sudo zypper al k3b krusader kernel-desktop
sudo zypper dup --no-recommends
sudo zypper up --no-recommends
sudo zypper in -f --no-recommends ark gstreamer-0_10-plugins-good libbs2b0 libqxt1 p7zip
sudo zypper rl k3b krusader kernel-desktop

Отвалились праздники в плазме, один раз выкинуло в kdm... В остальном всё хорошо, всё хорошо =)

Внезапно оказалось, что я пару месяцев жил с багом во flash-player версии 11.2: ролики на ютубе были синими. Решается снятием галки аппаратного ускорения в меню плагина. Спасибо товарищу Lang!

Тем временем 0xd34df00d набросал модуль LeechCraft Dolozhee, позволяющий быстро и удобно формировать багрепорты и фичреквесты. Активируется в подменю Инструменты. Установим: sudo zypper in leechcraft-dolozhee

Зарелизился SMPlayer 0.8.0. Быстренько форкнул и обновил из пакмана к себе в хомяк.

Latest Month

May 2012
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom
Powered by LiveJournal.com
Designed by Teresa Jones