← All posts tagged Linux

Mellon

Всё-таки линупс — это такой натуральный квест.

Седня практически целый день сношал второтег, или, если быть точнее, он меня.

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

1. Выяснено, какие юз-флаги на что влияют в новых версиях. (например, ibus-setup будет собран только при включении gtk3)
2. Подтверждено, что для настройки нужен хотябы gconf
3. Научился gconftool-2 кунг-фу так, что могу искать, бекапить, обнулять и восстанавливать ветки этого недореестра вслепую.
4. Выяснил, какая крутилка, что крутит и, что должна крутить, но не делает этого.
5. Запилил свою смешанную раскладку:
% gconftool-2 -a /desktop/ibus/engine/anthy/kana_typing_rule/us
quotedbl = げ
largeb = ご
largec = ぞ
asciitilde = を
larged = じ
largef = ば
at = ぶ
largeg = ぎ
bar = ー
largei = ゎ
largeh = ぐ
largek = ゐ
largel = ヵ
plus = べ
largeo = ゑ
colon = ヶ
largep = ぜ
largeq = だ
larger = ず
larges = ど
larget = が
largev = び
largew = で
largex = ざ
underscore = ぼ
6. Выянил groups.google.com
7. Собрал ibus-anthy-1.5.4 & ibus-1.5.4
8. ibus-1.5.4 не запустился. собрал обратно ibus-1.5.3
9. Добавил костылей, чтоб индикатор в трее вел себя внешне как прежде (чтоб при "отключении" IME менялся значок)
10. Подготовил mozc для тестирования. ( mozc в генте, видмо, никому ненужен, потому — суперстар ).
11. Заметил, что UIM оброс новыми версиями. если задолбает пердолить ibus — есть чем поменять.

Mellon

В общем, недавно наткнулся на телефон Fly TS110 на чипсете SC6530.
2000mAh на 3 симки для просто телефона — практически бесcмертие.
Кроме того, автозапись разговоров, j2me, и всякие вкусности в инженерном меню вплоть до апдейта IMEI делают аппаратик вполне приемлимым запасным телефоном.

Но, есть один большой недостаток (кроме кошмарного звука и куцей телефонной книги(макс. 2номера на контакт)) — я не смог добиться от него норм синхронизации хотябы с wammu.
ни по BT ни по USB.
Хотя есть конечно полуручной вариант с бекапом телефонной книги (формат бекапа простенький csv — конвертор написать не составит особого труда).

В общем, народец, если кто знает как заставить подобное устройство хотябы отвечать на AT команды в линупсе — буду признателен

Mellon

Ну что, посмотрел читалки доступные так или иначе через портеджи, или не требующие установки в систему вовсе.

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

Далее идет расширение fb2reader для огнелиса clear.com.ua
текст форматирует не корёжа и весьма читабельно.
Не так гибко настраиваемо (мне не хватило возможности настроить палитру).
С учетом того, что оно в огнелисе с его тысячами расширений — весьма многообещающая штука.

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

Coolreader coolreader.net
По характеристикам и виду вплотную приближается к fbreader, по количеству настроек даже превосходит.
Но, как оказалось, слова выделяет только целиком и, самое главное, выделение не вносится в буфер иксов, так что, оно чуть менее чем бесполезно.
Ебилд в каком-то оверлее был весьма мерзким и я не стал сильно с ним возиться. как следствие, не осилил сборку вроде бы имеющегося мини-клиента к словарям.
таким образом Coolreader весьма годен просто чтобы читать, но не более.

Pybookreader при предыдущих пробах показался несколько уе^Hщербным, а теперь и вовсе заброшен. Так что даже не пытался его попробовать снова.

Окуляр и прочие умеющие fb2 — весьма годны для работы с обычной палитрой. Но их бекенд писали макаки бывшие не совсем в курсе существования пользовательских цветовых схем и потому при темной палитре вы получите светлый текст на белом фоне без возможности что-либо исправить, кроме как инвертировать цвета (инвертирование, в отличии от подмены цветов, делается самим окуляром).

Такие дела.

Если знаете нативные читалки комфортные для чтения, с настройкой палитры, толковой реализацией выделения текста с возможностью последующей его передаче в сторонние программы (поиск в словарях/инетах), то, пожалуйста, доставьте названия в комментах.

Снимки.
FBReader dump.bitcheese.net
Firefox c fb2reader dump.bitcheese.net dump.bitcheese.net

Mellon

И так, продолжаем нашу серию "Нищеброду на заметку".

На этот раз будем делать простое, шифрованное и расширяемое WebDAV хранилище для барахла.

Речь далее пойдёт о таких штуках как encfs и WebDAV, и если вы не знаете, что эти слова обозначают, то имеет смысл срочно их налуркать.

Архитектура нашего хранилища будет следующей:
encfs:
mhddfs:
davfs0
davfs1
...
davfsN

Структуру примем за следующую:
/mnt/fuse/<fstype>/<user>/<service provider>/[#]

Будем исходить из предположения, что вы уже подготовили и настроили пачку WebDAV хранилищ. Откуда их брать, решайте сами. Со своей стороны могу порекомендовать disk.yandex.ru и, соответственно. вся кухня будет из расчета на этот сервис. Впрочем, вы можете легко добавить/поменять на всё, что угодно. Даже, необязательно, чтобы это было на WebDAV'е, например, github.com позволит вам припрячь Dropbox или Sugarsync. Главное, хранилища должны быть доступны как обычные директории.

Далее решим вопрос объединения пачки наших хранилищ в одно. Проще всего это сделать c sys-fs/mhddfs — mhddfs.uvw.ru (а вот ридми, на почитать: svn.uvw.ru

Следущий шаг — EncFS. Создадим необходимую конфигурацию и поместим к себе в дом :3
$ mkdir /tmp/temp1 /tmp/temp2
$ encfs /tmp/temp1 /tmp/temp2
$ fusermount -u /tmp/temp2
$ mkdir ~/.encfs
$ cp /tmp/temp1/.encfs6.xml ~/.encfs/yandex.xml
$ echo "<pass> > ~/.encfs/yandex.pwd
В дальнейшем, можем указывать конфиг для encfs через переменную:
export ENCFS6_CONFIG="${HOME}/.encfs/yandex.xml"

За конкретными инструкциями, как это дело запускать и останавливать можете обратиться к следующему мини-скрипту: qmellon.googlecode.com

В итоге, df -h может показать вам, например, такое:
webdav.yandex.ru 10G 0 10G 0% /mnt/fuse/dav/user/yandex/0
webdav.yandex.ru 10G 0 10G 0% /mnt/fuse/dav/user/yandex/1
webdav.yandex.ru 10G 0 10G 0% /mnt/fuse/dav/user/yandex/2
webdav.yandex.ru 10G 0 10G 0% /mnt/fuse/dav/user/yandex/3
webdav.yandex.ru 10G 0 10G 0% /mnt/fuse/dav/user/yandex/4
webdav.yandex.ru 10G 0 10G 0% /mnt/fuse/dav/user/yandex/5
webdav.yandex.ru 10G 0 10G 0% /mnt/fuse/dav/user/yandex/6
/mnt/fuse/dav/user/yandex/0/enc;/mnt/fuse/dav/user/yandex/1/enc;/mnt/fuse/dav/user/yandex/2/enc;/mnt/fuse/dav/user/yandex/3/enc;/mnt/fuse/dav/user/yandex/4/enc;/mnt/fuse/dav/user/yandex/5/enc;/mnt/fuse/dav/user/yandex/6/enc 70G 0 70G 0% /mnt/fuse/mhddfs/user/yandex
encfs 70G 0 70G 0% /mnt/fuse/encfs/user/yandex

Mellon

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

Ну, вы, наверно, уже догадались, для чего оно. Хотябы по первотегу.
Ага, для объединения кучки халявных webdav хранилищ в одно распределённое.

Mellon

Пара заметок о видеоадаптерах нвидии и управлении их энергопотреблением.

Наверно, сведущий народец в курсе про PowerMizer и волшебные грибы^Wслова, если кто не в курсе, то может искоренить этот недостаток полуркав, например, tutanhamon.com.ua так как дальнейшее повествование будет основываться на этой статье.

Проделав описанные в той статье шаманства заметил, что поведение PowerMizer не такое уж и адаптивное, и частоты постоянно держаться на верхней планке, как и температура под 80.

В ходе нехитрых тестов выяснилось следующее.
1) Если у вас при старте иксов (был) подключен второй монитор. То видеоадаптер будет безусловно работать в режиме наибольшей производительности.
2) PowerMizerDefault и PowerMizerDefaultAC — вовсе не дефолтные, а минимальные уровни энергосбережения. как для адаптивного, так и для статичного режимов.

Рассмотрим пример:

Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2233; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x2"

Здесь мы указали, что от батареи будет работать в статичном режиме с максимальным энергосбережением и минимальной производительностью (PerfLevelSrc=0x22хх и PowerMizerDefault=0x3), а от сети будет работать в адаптивном режиме с возможностью адаптивного выбора уровня энергосбережения от 0x2 до 0x3, таким образом, производительность не будет подниматься выше среднего, сбалансированного уровня.

А раз при TwinView у нас адаптивность не работает, то получается, при подключенном втором монике карточка постоянно будет работать на среднем уровне. Чего для повседневных задач (включая десктопное 3D) вполне достаточно. Для игр же можно либо убрав PowerMizerDefaultAC перегрузить модуль nvidia (разумеется иксы тоже придется перегружать), или временно "оверклочить" через nvidia-settings до необходимого уровня (в таком случае не забываем Option "Coolbits" "1" в конфиге иксов).

Mellon

народец, а как резетнуть сетевуху, если её модуль вкомпилячен? RTL8101E/RTL8102E несколько капризничяет при смене мака, временами переставая выдавать и принимать пакеты, хотя с виду всё нормально. NM как-то её резетил при таком поведении.

Mellon

Народец, а не хотели бы вы звонить по телефону не отрываясь от компа в поисках телефона удачно зашвырнутого в ваш уютный срач? Ну... вы щас прям тутже начнете голосить, мол voip все дела, телефон ненужен... согласен, но иногда всё-таки бывает нужен.
Я уже настроил обмен смсками и контактами через wammu/gammu. следующим логичным шагом была бы звонилка на пк.

И так, суть такова. Делаем из компа bluetooth handsfree (headset).
Вопрос. Как?
На данный момент есть два варианта:
1) расковырять bluez в надежде найти искомую конфигурацию для передачи звука, а управлять телефоном всё с того же wammu/gammu (звонить, брать и класть трубу можно, гарантирую);
2) найти прожку всё в одном. Есть у кого идеи, предложения? Надо сказать, я уже нашел одну:
HFP for Linux — nohands.sourceforge.net
Осталось только наебилдить. Или может у кого уже есть?

В общем, такие дела.
Продолжение банкета последует в комментах.

Mellon

Оказался у меня модем RoverMate Exezy (ExpressCard GSM/GPRS/EDGE/WCDMA/HSDPA): info.rovermate.ru
та ещё китайщина без родословной и спеков, так что, если вышеприведенное имя устройства вам не знакомо. то можете смело его забыть.

А вот в линуксах он представляется по особенному.
Аж тремя разными способами и идентификаторами.

0. ID 05c6:2001 Qualcomm, Inc.
USB MMC Storage
Ясное дело, ZeroCD. Не очень интересно.

1. ID 05c6:3100 Qualcomm, Inc. CDMA Wireless Modem/Phone
Модем, наиболее прост в настройке, работает через cdc_acm (/dev/ttyACM0),
для чего в ядре надо включить CONFIG_USB_ACM (http://cateee.net/lkddb/web-lkddb/USB_ACM.html).
Этот ID популярен среди всяких хуя^W huawei и EVDO

2. ID 05c6:6000 Qualcomm, Inc. Siemens SG75
Модем, работает через составной порт(ы) option (/dev/ttyUSB*),
для чего в ядре надо включить CONFIG_USB_SERIAL_OPTION (http://cateee.net/lkddb/web-lkddb/USB_SERIAL_OPTION.html).
Этот ID тоже весьма популярен, особенно среди ZTE.

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

А теперь, самое интересное, как переключать.
Дело в том, что данное устройство довольно капризно к моменту переключения: наиболее верятно это сделать, после подключения ZeroCD, да и то, не всегда сразу получается. Так что, возможно, вам придется отредактировать usb_modeswitch.rules добавив
SUBSYSTEM=="block", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="2001", ACTION=="add", RUN+="/usr/sbin/usb_modeswitch -c /usr/share/usb_modeswitch/05c6:2001:sVe=Rover"
GOTO="modeswitch_rules_end"
в начало файла (пришлось хардкодить, потому как были странные глюки с потерей атрибутов, возможно, у вас и обычный RUN+="usb_modeswitch '%b/%k'" сработает)
Волшебный файл usb_modeswitch: qmellon.googlecode.com

Mellon

*skype *sound *voice
Маскировка голоса.

В предыдущей части ( gentoo.ru ) был рассмотрен вариант с использованием JACK и PulseAudio.

Во второй части попробуем обойтись без PulseAudio.

Продолжение написано для тех, кто по тем или иным причинам не может использовать PA.

On-Line разговоры: маскировка голоса (Часть 2) — gentoo.ru

Скорее всего, на этом и завершу рассмотрение методов обработки входящего звукового потока.
Или, по крайней мере, отложу до поры до времени.

Mellon

*pulseaudio *skype *sound *voice
Маскировка голоса.

Хотите ли вы подшутить над кем-то и надышавшись гелием заорать в телефон очередной бред?
А может хотите, чтобы собеседник не узнал ваш голос при встрече IRL?
Или же есть желание отретушировать ваш голосочек, сделать его более бархатным и нежным?

За всем этим не нужно ходить к кузнецу перековывать вашу глотку :)
Мощные и легкие инструменты созданные для Linux сделают это лучше любого кузнеца.
Высококачественные фильтры LADSPA ($ eix -csS ladspa) откроют все грани вашего голоса,
или переделают его до неузнаваемости.

Выбор за вами.

On-Line разговоры: маскировка голоса (Часть 1) — gentoo.ru

Mellon

Народец, порекомендуй пожалуйста хорошие, годные заклинания из цепочек фильтров sox'а для изменения голоса. Фильтров у него туева хуча и перебирая их упороться можно.
В качестве затравки оставлю мантру
pacat --record | sox -t raw -r 44100 -s -b 16 -c 2 — -t ao pulse pitch -500
из vorovtsev.ru . вместо пульса, думаю, возможно использовать jack, или может даже виртуальное устройство алсы, например.

Mellon

ночью просматривал пакеты резервирования данных на жутко секретном локалхосте. остановился на трёх системах:

app-backup/dar+app-backup/sarab ( sarab.sourceforge.net )
мега система разностного инкрементального резерввирования + автоматизация и ротация

app-backup/duplicity nongnu.org
разностное инкрементальное резервирование с шифрованием посредством gnupg

app-backup/bacula
комплексный пакет утилит для резервирования с архитектурой c/s. о лёгком освоении как бы можно забыть.

Вот, пока хз, что выбрать.
Как бы dar няшен, duplicity тоже ничотак прошарен, то что другие не умеют шифровать открытым ключом как бы фигня — резервные копии по-любому будут в зашифрованном контейнере, контейнер на диске, диск в утке.... Ну и бакула — это своеобразный стандарт считай, то есть его освоение само по себе выгодно.

Mellon

[20:02:40]<WiseLord> LIRCD_OPTS="-H devinput -d /dev/input/`cat /proc/bus/input/devices | grep -3 ir | grep "H:" | awk '{print $3}'`"
в /etc/conf.d/lircd
[20:02:54]<WiseLord> тогда не будет от номера event зависеть
====================
Так и запишем.

Mellon

Сегодня задали вопрос: как заархивировать структуру каталогов исключая файлы, или как продублировать эту структуру в новом месте?
Нашлось несколько рецептов. Чтоб не рыться где-то ещё, просто оставлю здесь.
Дублирование.
1. $ rsync -a --include='/' --exclude='' <source> <dest>
или, если по сети, то, например,
2. $ rsync -avz -e ssh --include '/' --exclude '' local_source_dir user@host:/dest_dir
Варианты с cpio. Их довольно много и гуглятся на раз. Например,
3. $ cd source_dir ; find . -type d | cpio -dumpl destination_dir
4. $ cd source_dir ; find . -type d | cpio -p destination_dir # немного проще
в конференции gentoo.ru ещё немного на эту тему повыпендривались.
Архивирование.
Здесь можно по аналогии с cpio:
5. $ cd source_dir ; find . -type d -exec tar rf destination_dir/archive.tar --no-recursion {} \;

Источники:
unix.com
opennet.ru (man cpio [ru])
man rsync
man tar