Показаны сообщения с ярлыком Linux. Показать все сообщения
Показаны сообщения с ярлыком Linux. Показать все сообщения

вторник, 5 ноября 2013 г.

Восстановление Arch после неудачного обновления

1. Загружаемся с boot-cd или boot-flash
2. монтируем раздел с упавшим арчем
3. делаем arch-chroot
4. переходим в /var/cache/pacman/pkg (там лежат старые пакеты)
5. делаем pacman -U ./<предыдущее ядро>

суббота, 6 апреля 2013 г.

ALSA + JACK + PULSEAUDIO + TIMIDITY

Решил подружить всё это, что бы можно было легко пользоваться любым аудио-софтом, прием одновременно...
Вот что у меня получилось

предполагается, что PulseAudio, jackd, qjackctl и timidity уже установлены.

1. ставим pulseaudio-module-jack
2. в /etc/pulse/default.pa после строки #load-module module-alsa-sink даписываем

load-module module-jack-sink
load-module module-jack-source

3. Открываем параметры QJackCtl и на вкладке сценариев добавляем в сценарий, выполняющийся перед запуском jackd следующее

killall pulseaudio; sleep 3; gksu alsa force-reload

это надо для того, что бы полностью освободить звуковой порт. Без этого jackd может ругаться, что hw0 уже занят

gksu - графической sudo. надо что бы перезагрузить alsa(под обычном ползователем этого сделать нельзя)

В общих настройках QJackCtl должен быть интерфейс hw:0,0 и драйвер alsa

4. удаляем из /ets/init.d файл timidity

5. Добавляем в QJackCtl сценарий, выполняющийся после запуска jackd

 timidity -iA -B2,8 -Os &

таким образом мы запускаем timidity в виде демона с нужной конфигурацией

6. добавляем QJackCtl в автозагрузку и перезагружаемся

p.s. для отдельного запуска VST-плагинов есть замечательный vsthost

четверг, 27 октября 2011 г.

BOINC: work generator

Во время своей работы сервер BOINC должен постоянно генерировать какие-либо задания, которые потом будут отправляться на обработку клиентам. Для этих целей используется специальный демон-генератор. Чаще всего он называется work_generator.

Пример генератора можно найти по адресу ~/server_stable/sched/sample_work_generatr.cpp.
Файл этот можно менять в соответствии с потребностями.

Рассмотрим простой пример сборки и запуска генератора.

0. Если сервер BOINC запущен, следует его остановить ~/projects/test/bin/stop (~/projects/test/ - домашняя директория рабочего проекта)

1. Идем в ~/server_stable/sched/

2. Собираем генератор: make. Могут понадобиться права суперюзера. Есть готовый MakeFile для сборки примеров. Его можно использовать и для сборки переписанного генератора. Файл достаточно большой и запутанный. Можно в нем поковыряться и извлечь только то, что касается генератора. Можно так же переписать под себя (мне например понадобилось добавить флаг -lntl в переменную СXXFLAGS для подключения библиотеки NTL). Повторюсь, и без правки всё будет прекрасно собираться.

3. В результате получим 2 файла: sample_work_generator.o (исполняемый) и sample_work_generator(скрипт). Эти файлы копируем в ~/projects/test/bin/

4. Теперь надо подправить конфигурационный файл проекта: ~/projects/test/config.xml. В самом конце этого файла находится описание запускаемых при старте проекта демонов. Добавляем туда следующее:
<daemon>
   <cmd>
      sample_work_generator -d 3
   </cmd>
</daemon>
Там подобные конструкции уже должны быть. Надо и эту добавить по аналогии. Флаги -d 3 означают, что команда запускает демон с третьим уровнем отладки.

5. Запускаем проект ~/projects/test/bin/start

Теперь во время работы сервера BOINC будут постоянно генерироваться задания. В папку ~/projects/test/download запишутся файлы заданий, который будут потом отправляться клиентам. Также задания будут зарегистрированы  в базе BOINC в таблице workunit.

Теперь рассмотрим пример файла-генератора.

Изменение размера группы фотографий

Иногда надо изменить размер сразу группы фоток (например перед публикацией в нете).
В окнах с этой задачей справляется навороченный ACDSee, в линуксе - простенький скрипт
#!/bin/bash
mkdir photo1024
for f in *.JPG; do
convert $f -resize 1024 photo1024/${f%%JPG}jpg
done

запускать его из директории, в которой лежат фотографии (ну или любые другие картинки). в данном случае скрипт создаст папку photo1024, найдет все файлы jpg, сконвертирует их и запишет результаты в созданную папку.

convert умеет еще много чего интересного. курить маны показано.

Интерактивные DVD, ISO, Linux

Качаешь, бывает, образ какого-нибудь DVD в формате iso. И как-то очень уж лень всё это дело куда-то конвертировать. В линуксе можно особо не париться. Перепробовал много плееров. Лучше всех с этой задачей справился xine.

xine dvd://[путь].iso -A alsa


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

среда, 26 октября 2011 г.

Установка сервера BOINC

получилось поднять сервак и запустить тестовый проект. отличный мануал: http://www.boinc-wiki.info/How_to_create_a_BOINC_Project_-_Step_By_Step_instructions

из заковырок:
очень важно выполнить это перед update_version -

./bin/sign_executable apps/upper_case/upper_case_4.00_i686-pc-linux-gnu /path/to/keys/code_sign_priva te >> apps/upper_case/upper_case_4.00_i686-pc-linux-gnu.sig

также надо правильно раздать права для директорий upload, download, html и apps (может еще где задавал, но не помню)