Линукс

Qt и звуки

Меня всегда радовало разнообразие возможностей по работе со звуком в Линуксе.

Сегодня, например, несколько часов подряд взрывал себе мозг на тему QSound в Qt. Дело в том, что под Виндой, чтобы воспроизвести звуковой эффект без извращений, нужно просто вызвать статический метод QSound::play("имя файла"). В Линуксе тоже так можно, но чтобы звук действительно прозвучал — надо ставить NAS. Узнав об этой необходимости, принялся ставить оный, параллельно размышляя, как лучше заставить пользователей проделать то же самое. Мозги начали нагреваться.

Когда с nasd возникли какие-то проблемы, быстренько переключился на поиск альтернатив. Уже задумался о компиляции версии под Линукс с Phonon. Остановил тот факт, что фононовский учебный проект из состава Qt SDK не собрался out of the box. Попробовал учебный проект QAudioOutput оттуда же — не работает.

Уже начал было впадать в уныние, но в конце-концов осенило:

  1. #ifdef Q_WS_X11
  2.   QProcess::startDetached("play mysound.wav");
  3. #else
  4.   QSound::play("mysound.wav");
  5. #endif

Вроде бы, ерундовая задача, а — чуть стол головой не разбил. Так жить нельзя.

Копирование контактов с Windows Mobile под Linux

Когда-то писал о том, как здорово организован в Windows Mobile 6.1 экспорт списка контактов. И вот, пару дней назад руки дошли, наконец, до попытки его экспорта под Linux.

Первым делом установил SynCE, позволяющий наладить связь с телефонами на Windows Mobile. В openSUSE установку можно осуществить из репозитория. Поставил наборчик для KDE4 и запустил synce-kpm. Заработало прямо сразу. Иконка, подозрительно напоминающая ActiveSync, появилась в трее, а при подключении телефона через USB — позеленела и радостно сообщила, что подключен Toshiba g810. В окошке synce-kpm появилась сопутствующая информация: имя и фамилия владельца, список установленного софта, уровень заряда, свободное место на флешке и всякое такое. Можно даже установить прямо оттуда софт из CAB-файлов (я не пробовал). Симпатичная программка.

Для извлечения же данных из телефона необходим OpenSync. Он тоже легко ставится из репозитория — zypper se opensync показывает доступные пакеты. В принципе, можно поставить впрок их все, но важно отметить, что нужно ставить плагин libonepsync-synce-plugin, если в телефоне Windows Mobile 5 и выше, и libonepsync-synce-plugin-legacy в противном случае. Пользователей openSUSE тут, кстати, поджидает сюрприз баг. В репозитории 11.2 находится нерабочая версия libopensync-plugin-python-module (подробности). Но эта проблема легко решается удалением плохого модуля и установкой хорошего — из репозитория openSUSE Factory.

О красоте BasKet

Программа BasKet создана Себястьяном Лау для ведения заметок в KDE. По моему скромному мнению — это одно из лучших GUI-приложений для KDE и наверное лучшее для ведения заметок из того, что я видел.

Старательность автора видна во всем. Возьми любую стандартную программу со списками, выдели что-нибудь, скопируй и вставь в текстовый файл. В лучшем случае получишь список строк. А вот пример копирования заметок BasKet и вставки их в текстовый файл. Слева — набор исходных заметок (некоторые с тегами ToDo), справа — результат их вставки в текстовый файл (e.g. для печати).

Вот эти скобки, крестики и восклицательные знаки — это, на мой взгляд, отличный пример того как человек всю душу вкладывает в то, что делает. Думает, старается и получает здоровский результат. Все остальное в BasKet сделано так же вдумчиво.

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

Drupal, openSUSE и PHP 5.3

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

Но в команде openSUSE явно собрались новаторы — из репозиториев openSUSE 11.2 можно установить только PHP 5.3. В результате разрабатывать что-либо под Drupal на локалхосте openSUSE 11.2 практически невозможно. Но мир не без добрых людей. Badzilla написал подробное руководство, по которому легко скатиться до PHP 5.2. Проверял — работает отлично.

Краткий перевод порядка действий:

  1. Снести в yast все установленные пакеты php (не забудьте сохранить список).
  2. Отключить все репозитории openSUSE 11.2.
  3. Включить репозиторий http://download.opensuse.org/update/11.1/
  4. Установить с него пакеты php из списка, сохраненного на шаге 1.
  5. Вернуть право executable для /usr/lib/apache2/mod_php5.so.
  6. Добавить модуль в список запускаемых модулей апачи в /etc/sysconfig/apache2.
  7. Задать mysql.default_socket и mysqli.default_socket равными /var/run/mysql/mysql.sock в /etc/php5/apache2/php.ini.
  8. Перезапустить апач.
  9. Отключить репозиторий, включенный на шаге 3, восстановить репозитории, отключенные на шаге 2.

Спасибо, Badzilla.

Неделя с openSUSE

Неделю назад накрылся ext4-раздел с Kubuntu 9.10. По-быстренькому установил openSUSE 11.2. Именно с Суси началось когда-то мое беспорядочное знакомство с Луниксом, результатом которого стал полный отказ от винды (кроме игр). Вот я, значит, и решил посмотреть, чего там как.

Короче говоря, установил и принялся работать. Первым делом обрадовался прикольному оформлению терминала — мне это в SUSE всегда нравилось. Субъективно показалось, что грузится быстрее, чем Karmic. К yast, конечно, надо немножко привыкнуть, да и вообще он меня никогда особо не радовал своей задумчивостью, а нужда в gui-настройщиках демонов быстро исчезает с освоением соответствующих конфигов. Но зато для быстрой установки из консоли нашелся zypper. Удобный, почти как apt/aptitude. Установка нужных программ прошла нормально, все нашлось. Только немного раздражало, что я, как говорится, не знаю мат.часть — не могу разом установить мета-пакеты как в Убунте (build-essential, kde-develop, restricted-extras и т.п.), потому что не знаю, как они в Сусе называются.

Не очень понравилось, что в списке RSS-подписки akregator прописано по умолчанию мало источников, почитать толком нечего. Придется обратно на убунтуйские новости подписываться. Понравилось, что, в отличие от убунты, после установки не было никаких проблем со звуком, все сразу работает (кроме KDE-шной шутки со звуком в youtube). Зато после установки родных драйверов nvidia система отказалась работать в правильном разрешении 1920 на 1200. Но запуск sax2 ее уговорил. Главное же — это то, что при выключении/перезагрузке больше не возникают через раз страшные ошибки. А в кубунте 9.10 — возникали, в том числе и ошибки файловой системы. Подозреваю, что из-за этого она и навернулась.

В общем, за неделю все уже как надо настроил. Пока полет нормальный, главное впечатление: добротно сделано, удобно, вполне дружественно, работать можно. Буду пользоваться openSUSE 11.2 по крайней мере до выхода Lucid Lynx, который должен быть в конце апреля наступающего года.

Kubuntu накрылась медным тазом

Сегодня внезапно навернулась файловая система на ext4. Восстановления с fsck не помогли. Все что было, переместилось в /lost+found, где копаться — выше моих сил. Проще говоря — нажитые непосильным трудом файлы пропали.

Вообще я с компутерами дружу уже 20 лет, но такое со мной впервые, чтобы данные накрылись известно чем без права восстановления. Самое страшное однако прошло мимо: все важные вещи так или иначе были сохранены в других местах. Правда, безвозвратно исчезла документалка о съемках «Полета Конкордов», и ряд полезных рабочих заметок. Но жить можно.

Пользуясь случаем, решил опробовать openSUSE. Раньше, когда она была еще версии 9, пользовался, было прикольно. Потом как-то пересел на кубунту. И вот теперь скачал DVD с Сусей в версии 11.2. Буду ставить.

Про твиттер

Обычно я никакими т.н. социальными сетями не пользуюсь. Состою в «одноклассниках» и «вконтакте», но не хожу туда (в профиле стоит ссылка на домовую страницу). Больше нигде не зарегистрирован. А тут значит посоветовали влезть в Твиттер и размещать там ленту заметок. Ну и сам я видел раньше, что все правильные пацаны так поступают. Попробовал зарегистрироваться — оказалось очень удобно все сделано.

Полез в интернеты интересоваться, какими программами лучше пользоваться для твиттера. Под KDE4 нашелся плазмоид, но в нем судя по отзывам нет скролла, то есть посмотреть старые записи в ленте не получится. Остановился на программе под названием Choqok, что в переводе означает «воробей». Работает хорошо, общую ленту читать удобно, поддерживает поиск и расшифровку микро-урлов. Были какие-то глюки с личными сообщениями, но это ерунда, вовсе необязательно сообщениями через твиттер обмениваться.

Быстро выяснилось, что добавлять в ленту заметки с домовой страницы лучше не вручную, а автоматически. Для Друпала нашелся отличный модуль Twitter, который умеет добавлять новые заметки прямо при создании нодов (и tinyurl использует). И много чего еще умеет, например, позволяет добавлять пользовательские твиттеры на сайт и показывать их в блоках. Пришлось, правда, его немножко попатчить для начала, но модуль очень хороший.

Так что теперь на домовой странице живет регулярно обновляющийся твиттер (см. круглого воробья слева). Можно нажимать и, так сказать, следить.

Кстати, в твиттере совсем недавно появился дуэт Flight of the Conchords. А еще есть актер Арж Баркер, сыгравший в одноименном сериале Дейва.

Clean URLs, Друпал, Апач, Убунта

Наверное один из самых частых вопросов по установке Друпала — как, как, как, черт подери, включить Clean URLs в убунте с апачем? Ответы уже где только не хранятся, вот один, к примеру.

Все очень просто. В консоли пишем:

  1. # sudo a2enmod rewrite

И все, перезапускаем апач:
  1. # sudo /etc/init.d/apache2 restart

Теперь не забуду.

Про новую Kubuntu Karmic

На выходных разобрался окончательно с бэкапами важных и полезных данных, и вчера сумел поставить новую Kubuntu 9.10 Karmic Koala. Затем вернул забэкапленное, установил необходимые для жизнедеятельности программы и навел красоту.

Теперь делюсь первыми впечатлениями. Для начала мне не понравился инсталлятор. В предыдущих версиях инсталляция происходила как бы в фоне, как одно из приложений на Live CD. То есть пока идет всякое копирование и настройка, можно спокойно сидеть в интернетах. Теперь лавочку зачем-то прикрыли. А ну и ладно. Зато в целом с версии 8.10, которая у меня стояла до того, все изменилось к лучшему. Больше не валится постоянно akregator, можно пользоваться, тем более в него вернулось глюкнувшее и исчезнувшее поле даты новостей. Не глючат размеры диалоговых окон в krusader. В kmail стал нормально сохраняться язык проверки орфографии по умолчанию. Были исправлены и многие другие баги и недочеты, просто я про то, что лично меня бесило.

Гораздо шустрее, симпатичнее и стабильнее стала Plasma в KDE 4.3, который входит в установленную кубунту. Ликвидированы мерзкие глюки отрисовки систем-трея. Кстати, в него добавлен очень удобный и приятный стек уведомлений и текущих/выполненных задач. Порадовало, что колесо мыши по умолчанию переключает десктопы — как раз, как я люблю. А вот сделать, чтобы по нажатию средней кнопки на десктопе сразу выскакивало стандартное меню с программами у меня не получилось, а ведь в KDE 3-й серии это была одна из моих любимых штук. Еще очень понравились саморазворачивающиеся директории.

Причем, это не просто превью, содержимое поп-апов — активно.

Следующим номером идет Firefox, которым я пользуюсь постоянно и эту заметку тоже пишу в нем. Установка фаерфокса теперь происходит прямо из меню «Интернет», то есть очень просто. Но главное не это. Главное — что фаерфокс теперь работает у меня (на глаз) примерно в два раза шустрее с тем же набором расширений и плагинов. Плюс он стал симпатичнее, что тоже очень приятно.

Еще порадовал новым оформлением amaroK версии 2.2.0. Но особенно я не вникал, мне главное — чтоб играло, коллекция была аккуратная и чтоб будильник был, а все остальное уже не очень важно. Но выглядит прикольно:

Поначалу огорчило, что Kaffeine, который в репозитории лежит версии 1.0-pre2, «special for KDE4», совсем не поддерживает субтитры. Однако в процессе решения открыл для себя SMPlayer (фронт-энд для mplayer), который оказался гораздо лучше решительно во всем. В том числе и в отображении субтитров: в Kaffeine есть потолок размера шрифта, а в SMPlayer — хоть во весь экран накладывай. А еще Kaffeine от субтитров частенько передергивало (тормозил, то есть). В SMPlayer ничего подобного не наблюдается. В общем — наш выбор. Немного расстроило, что в этой версии кубунты пока не удалось заставить ни SMPlayer, ни Kaffeine, ни VLC принимать команды от anyremote. Только упомянутый уже amaroK согласился.

Как и в KDE 4.1 кубунты 8.10, были определенные проблемы со звуковыми менеджерами. Все эти алсы, пульсы, оэсэсы и прочие раздражают — когда не работают. Впрочем, на этот раз все решилось довольно быстро (установкой pulseaudio, которого изначально нет и переводом всех звуков на него). Тем не менее, интересно, сколько версий еще должно смениться, прежде чем кончится неразбериха со звуком? Кстати, позабавила проблема с отсутствием звука в youtube. Оказалось, что злоумышленники выкрутили регулятор громкости pcm на 0, и из-за этого в браузерных флеш-проигрывателях не было звука. Некоторые бесились.

Наконец, нельзя не отметить хотя бы коротко, что в репозиториях Karmic Koala притаился KDevelop 4 (пятая бета). Поставил тут же, но дальше пока руки не доходили. Попользуюсь — напишу что-нибудь обязательно.

В общем, хочу сказать, что кубунта и KDE заметно похорошели и производят очень приятные первые впечатления целостной и стабильной (особенно относительно 8.10 Interpid) системы. Посмотрим, какие недостатки всплывут в дальнейшем.

А пока релиз Kubuntu 10.04 Lucid Lynx назначен на 29-е апреля.

Вышел релиз Kubuntu 9.10

Ура, товарищи!

Сегодня, точно в срок, вышла новая версия Kubuntu 9.10 Karmic Koala. Вся такая красивая, с новым KDE 4.3. Интересные и веселые выходные обеспечены!