понедельник, 5 октября 2009 г.

Допиливаем IceWM под себя.

Уже довольно продолжительное время использую IceWM в качестве оконного менеджера и постепенно улучшаю свое существование в нем разными полезными и удобными вещами.
В этой заметке попытаюсь поделиться ими с людьми.


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

Переключение раскладки.
Тут есть два момента:
1. Раскладка должна переключаться(обязательно)
2. Должен отображаться индикатор(желательно)
Первый я традиционно решаю с помощью xorg.conf, вписывая туда в секцию "InputDevice" следующие буквы:

Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:alt_shift_toggle"

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

Календарь

На примере календаря продемонстрирую один интересный момент в тонкой настройке системы.
Итак, нам нужно настроить кнопочку в трее, по которой рядом с ней будет появляться календарь, а потом исчезать, опять же по нажатию.
Ставим пакет xcalendar. По одноименной команде появляется этот календарь, но появляется где попало и вообще, на виндовыйпривычный календарь похож мало. Чтобы привести его в божеский вид, нужно использовать конфигурационный файл winoptions, из папки ~/.icewm. Он позволяет тонко настраивать поведение окна для каждого приложения. Сначала, с помощью команды xprop необходимо узнать имя окна приложения. Запускаем в терминале:

xprop|grep WM_CLASS

Курсор изменяется на плюсик и ткнув в нужное окошко, в терминале появится строка вроде этой:

WM_CLASS(STRING) = "xcalendar", "XCalendar"

Здесь, значение в первых кавычках, это как раз нужное нам имя.
Создаем файл ~/.icewm/winoptions с такие содержанием:(если файл уже есть, то дописать в конец)

xcalendar.tray: Exclusive
#создать иконку в трее и не создавать кнопку на панели
xcalendar.geometry: +800+800
#расположить окно в правом нижнем углу(цифры должны соответствовать выбранному разрешению)
xcalendar.dTitleBar: 0
#не отображать заголовок окна
xcalendar.icon: /usr/share/icons/Human/24x24/apps/menu-editor.png
#иконка
xcalendar.allWorkspaces: 1
#отображать на всех рабочих столах
xcalendar.ignoreQuickSwitch: 1
#не отобрать в списке окон по Alt+Tab

Об остальных опциях можно почитать в документации.

Заметки
Изначально использовал tomboy, но какой-то он слишком задумчивый(видимо из-за Mono), поэтому поменял его на zim. Какой-то специальный функционал меня не интересует, просто иметь возможность чего-нибудь быстренько записать и потом не потерять.
Пару моментов, как сделать, чтобы он правильно запускался и не мешал.
Заходим в Правка-Настройки-Дополнения и ставим галочку напротив TrayIcon. После этого можно запускать автоматически следующей командой:

zim --iconify ~/Notes/

где ~/Notes/ - адрес вашего блокнота.

Автозапуск

Автозапуск приложений при старте icewm реализуется с помощью скрипта startup, который должен лежать в директории "/home/username/.icewm/".
Он должен быть выполняемым (chmod +x startup).
Вот пример моего файла:

xcalendar &
rfcomm-dev-create &
gnome-power-manager &
zim --iconify ~/Notes/ &
fbxkb &
nm-applet &

Файловый менеджер и автомонтирование накопителей.
Обе задачи решаются с помощью pcmanfm. Легкий и обладает достаточным фукционалом. Проблемы с монтированием могут возникать достаточно экзотические, в зависимости от конкретного дистрибутива. Решаются с помощью google и прямых рук. ;)
Кроме того он может управлять рабочим столом, отображать фон и значки.

Для настройки сети я использую гномовский апплет, который запускается командой nm-applet.

Состояние батареи.
Для контроля состояния батареи раньше похожим образом использовал gnome-power-manager, но недавно в preferences наткнулся на родной индикатор. Параметр выглядит так:
TaskBarShowAPMStatus=1
Симпатичную цветную батарейку он, правда, не показывает, но ее заменяют вполне информативные цифры, которые при питании от батареи отображают примерное оставшееся время работы, а при работе от сети процент заряда аккумулятора.

Шрифты.
Еще скажу немного о шрифтах. Есть очень хорошая и полная статья по их настройке, но там очень много шагов, а я расскажу какими ограничился я и результат меня устроил. У меня десятидюймовый экран от eeePC.
1. Измерил линейкой ширину экрана: 22 см. Сделал расчет по формуле
1024 точек / (22 см / 2,54) = 118 точек на дюйм
2. Открыл gnome-appearance-properties, на вкладке Шрифты включил "Субпиксельное сглаживание". Потом в кнопке Подробнее указал полученное выше значение.
Все, после этого шрифты стали заметно глаже и симпатичнее. Кому этого мало, прошу по ссылке.


В принципе это все, что я успел на данный момент наломать настроить.
Также рекомендую почитать замечательные статьи о настройке, темах и возможностях IceWM.


Продолжение...


четверг, 3 сентября 2009 г.

Кто сожрал трафик или просмотр tcp соединений под linux'ом.

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

Заключается оно в использовании встроенной утилиты netstat.
Все делается проще некуда, команда:

netstat -tp

выведет нам примерно такую табличку:

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 gprs-internet:52725 buddychat-m02b ESTABLISHED 5101/pidgin
tcp 0 0 gprs-internet:46308 sablino:afs3-f ESTABLISHED 6364/firefox
tcp 0 0 gprs-internet:58030 bos-m053b-sdr2 ESTABLISHED 5101/pidgin
tcp 0 0 gprs-internet:51400 ww-in-f125.goo ESTABLISHED 5101/pidgin

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


Продолжение...


пятница, 10 июля 2009 г.

Громкость записи звука в Linux

Давно не давала жить спокойно такая проблема. При записи звука с помощью Audacity, записывалось не пойми что(в плане каналов), а иногда ничего, просто тишина. Недавно, чисто случайно, натолкнулся на ее решение. Решил сделать пометку на память.

В виндоус для этого открывался Регулятор громкости, там в параметрах выбиралось "Запись" и вот они желанные ручки. Правда работали они не всегда, но это уже мелочи.
Я предполагал, что в линуксе все должно быть также, но добраться до них никак не получалось. Решение до ужаса просто:
Запускаем в терминале

alsamixer -V Capture

И все. Видим как раз то, что нам надо. Работает замечательно и как надо, я никаких проблем не нашел.

Продолжение...


четверг, 8 января 2009 г.

Выбор и настройка сканера в Linux.

После долгих мытарств, я все-таки решил свою проблему со сканером.


После мучительных и продолжительных попыток, я отчаялся заставить работать свой старый сканер Benq 5000, и, решив подойти к проблеме кардинально, купил другой.
В начале пару слов о старом. На сайте SANE обещают поддержку на уровне "good", то есть пригодную для "day-to-day use". Я пытался заставить его работать в течении примерно полутора лет. Он замечательно определялся в sane-
find-scanner, цеплялся xsane'ом, но при попытке запуска предварительного просмотра упорно выдавал "Ошибка ввода-вывода при работе с устройством". Я пытался воткнуть разные прошивки, но бестолку. Потом, совсем недавно узнал(к сожалению уже не помню где), что на самом деле так и должно быть. Поддержка на уровне good, это без режима предварительного сканирования, только черно-белое и только в разрешении 1200dpi. Какой уж тут "day-to-day", этим же вообще пользоваться невозможно. Перезагружаться в windows ради сканера мне уже порядком надоело, поэтому я нашел-таки выход, хоть и немного странный. Я ставил VirtualBox с поддержкой usb, туда винду и родные дрова. И настраивал сохранение изображений сразу в общую папку. Не супер конечно, но всё же лучше, чем перезагружаться...
И вот теперь, пока после Нового года остались недотраченные деньги :) решил избавиться от этой проблемы до конца. Я сразу стал искать, у каких сканеров лучше всего отношения с линуксом и пришел к выводу, что у Epson'ов. Вывод я такой сделал, побывав вот на этой странице. Там можно скачать драйвера практически для всех их современных моделей.
Базой по поддержке SANE я не стал пользоваться по 2 соображениям. Про одно я уже говорил, сканер обозначенный как good, на самом деле едва ли может хоть что-то сделать. А второе заключается в том, что сканеры(я смотре
л epson'овские) с поддержкой уровня "complete" или уже не продаются или стоят больше 15 тысяч... Мне же ничего сверхъестественного не было нужно, просто возможность нормально сканировать документы и изображения. Поэтому, побродив по Маркету, а выбрал самую дешевую модель, а именно Perfection V10.
Теперь пару слов о настройке. Обратите внимание на "пару слов". Не инструкция на 5 страницах, из которых примерно половина консольные команды, а именно пара слов. На моей системе (Sabayon) вся настройка заключалась в уст
ановке пакета iscan. Предполагаю, что на абсолютном большинстве пакетных систем все будет аналогочно. Если же такого пакета вдруг в репозиториях не окажется, то по вышеуказанной ссылке можно скачать исходники в .tar.gz и собрать все самому. Больше делать ничего не пришлось. Я включил xsane, нажал "Предварительное сканирование" и вуаля! Несколько секунд на прогрев и начинает появляться изображение. Я чуток поигрался, попробовал цветной и черно-белый режим в разных разрешениях, все работает, как по маслу. Если вдруг столкнусь с какой-нибудь проблемой, обязательно здесь ее опишу.
На этом закругляюсь, очень надеюсь, что этот пост кому-нибудь поможет сделать правильный выбор при покупке.
Выглядит он примерно так:




Продолжение...


среда, 12 ноября 2008 г.

Кодировки в текстовых файлах.

Коротенькая заметка по конвертированию текстовых файлов в utf8 в качестве памятки.

Доставшееся виндовое наследие в виде каких-то заметок, записок, рецептов, стихов и прочих текстовых документиков долго не давало мне покоя, из-за того, что хранилось оно в кодировке CP1251.
Чтобы спать спокойно, нужно все это перевести в utf8. Желательно легко, быстро и все сразу. Такой способ есть. Для этого нам понадобится программа enconv, входящая в пакет enca. Работать с ней до безобразия просто. Команда

enconv zametki.txt

автоматически определяет кодировку файла и конвертирует в родную кодировку локали с перезаписью файла.
Соответственно, чтобы сконвертировать все разом, нужно скомандовать примерно следующее:

find /home/user/ -name "*.txt" |enconv

и все станет великолепно. Файлы которые уже в utf8, enconv не трогает, они остаются без изменений.

Но все равно остается шанс столкнуться с файлом в ненавистной cp1251. С этим можно бороться двумя способами.
1. Поставить leafpad. Никаких особых достоинств типа подсветки синтаксиса или автодополнения кода у него нет, но зато он замечательно автоматически определяет кодировку файла и отображает его в читаемом виде. К тому же он достаточно легкий и быстрый.
2. Можно допилить стандартный гномовский gedit по инструкции, посоветованной мне товарищем Cucumber. Я попробовал, у меня все заработало.
Огромное спасибо коментаторам, с их подачи пост был практически полностью переписан.

Продолжение...


вторник, 9 сентября 2008 г.

Мои впечатления о eeePC.

Недавно стал счастливым обладателем этого замечательного девайса и хотел поделиться впечатлениями от его использования.

Их существует достаточно много разновидностей, моя называется eeePC 1000.
Характеристики Intel Atom 1.6/1024MB RAM/40Gb SSD/Bluetooth/Wi-fi/10" дисплей.
Продавался он с предустановленным линуксом - Xandros. Поначалу нравилось, непривычное ощущение, вроде и линукс, а вроде и все работает. Потом выяснилось, что на самом деле не все. Набор приложений в репозиториях, которые можно подключить (включая всякие левые) откровенно беден и версии давно устаревшие. Вообщем я понял, надо ставить что-то свое. Остановил свой выбор на Debian Lenny. Давно хотел где-нибудь дебиан попробовать, но все как-то у меня с ним не складывалось. В этот раз сложилось.
Ставил я его по этой инструкции. Все делал как написано и никаких проблем при установке не возникло. После установки, впрочем, проблем тоже не было. Практически все работает, проще сказать, что не работает. Не работают частично Fn клавиши. В частности клавиша переключения режимов работы WiFi/Bluetooth. Это означает, что включить или выключить эти устройства можно только из биоса. Особых проблем это не доставляет, у меня они все время включены, благо батарейка это позволяет.
К слову о батарейке. Это один из очень заметных существенных плюсов. В режиме набора текстов он без труда работает 6 часов, при максимальной яркости экрана. Фильмы я смотреть не пробовал, но уверен, что в режиме просмотра фильма со звуком - 3,5..4 часа он протянет.
По поводу экрана. Размер у него оптимальный. Он настолько мал, насколько это возможно без создания критических неудобств. Кроме того, изображение на нем вполне разборчиво даже в прямом солнечном свете.(сказывается то, что он матовый).
Клавиатура. Клавиатура тоже удобная(ну, насколько может быть удобной клавиатура ноутбука...), за исключением одной досадной детали. Это правый шифт. Постоянно попадаешь на кнопку вверх. Но со временем все равно привыкаешь.
Тачпад. Туговаты кнопки, нажимать приходится с усилием. Зато Multitouch очень удобная штука. Изображения масштабировать это скорее игрушки, но вот использование двух пальцев для эмуляции колесика мыши - очень удобная штука. Привык мгновенно и теперь на всех других ноутбуках пытаюсь прокручивать страницы аналогичным образом.
Вес и размер меня устраивает. Таскаю его целый день с собой и к вечеру плечо не отваливается, как это было раньше с моим HP nx6110.
Вот он, красавец.


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

Продолжение...


пятница, 29 августа 2008 г.

qutIM - лучший icq клиент под linux.

Небольшая заметка о молодом и подающем огромные надежды ICQ клиенте.

Сбылась моя давнишняя мечта. Теперь можно нормально пользоваться аськой под линуксом. Именно нормально, без всяких оговорок и извечных отмазок в духе "эта функция не работает? да на фиг она тебе, я вот не пользуюсь и все в порядке".
Никаких проблем с кодировками. Передача файлов, х-статусы. Чудеса да и только. И это несмотря на то, что текущая версия программы на момент написания заметки 0.1.1.
В репозитории ее найти пока еще сложновато, но собранные бинарные пакеты для популярных дистрибутивов есть на сайте программы.
Тех, кто уже не первый месяц(год) пользуется линуксом программка скорее всего не заинтересует, так как уже давно найдено свое решение проблемы. Я, к примеру, привык к jabber'у с icq транспортом. Невысокая стабильность и проблемы с поддержкой асечных сервисов компенсируется для меня сохранением истории сообщений в gmail'е. (пользуясь аськой на работе, дома, в гостях, в дороге с телефона и обладая изрядной рассеянностью и забывчивостью, считаю, что это очень полезно.)
Но, раньше, когда мне требовалось передать/принять файл или воспользоваться поиском, мне приходилось извращаться, запуская qip под wine'ом. Теперь для этого я использую qutim. Это значительно проще и идеологически правильнее. :)
А уж для людей, которые переходят на линукс, qutim станет просто незаменимой вещью.

Продолжение...


воскресенье, 22 июня 2008 г.

Интернет в каждый дом!

Решил поделиться очередным(и надеюсь завершающим) эпизодом из саги о моем домашнем интернете.



Небольшая предыстория.
Я живу в деревне Сидоровка, примерно в 650 метрах от более или менее цивилизованного города Краснознаменска(который, в свою очередь находится в 20 км от МКАДа). Мечтаю о нормальном интернете уже давно и основательно. Первоначально приходилось довольствоваться gprs'ом, потом "проапгрейдил" его до спутникового.(долго собирался написать о его настройке под линуксом, но так наверное уже и не соберусь)
Продумывал варианты подключения по радиоканалу(www.5g.ru), но не очень устраивала цена. Примерно 20 тыс рублей за подключение и 2000 рублей в месяц за безлимитку 128 кбит.
Потом набрел на сайт http://www.wifiantenna.org.ua/, прочитал там про увеличение радуса действия wifi с помощью самодельных антенн и загорелся идеей протянуть беспроводную сеть.

Я использовал следующее оборудование:
Роутер Dlink DIR-300 - 1 шт. (1200 рублей)
Точка доступа Dlink DWL-2100AP - 2 шт. (3000 рублей обе)
Контейнер пластмассовый для еды - 1 шт. (250 рублей)
Кабели: витая пара и обычный кабель для проводки. (500 рублей)

Процесс проходил достаточно беспорядочно и хаотично, делать я пытался все сразу, но здесь попытаюсь изложить более упорядочено.

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

Вторым пунктом идет установка вышеперечисленного оборудования.
Без особых проблем настроил роутер по мануалу. В один порт подключил компьютер друга, в другой одну из точек доступа. Существенная проблема состояла в том, что окна у друга выходят на улицу в направлении, противоположном моему дому. Поэтому пришлось протаскивать провода по подъезду. Я тащил витую пару и питание по двум отдельным проводам. Читал про Power over Ethernet, но показалось, что протащить 15 метров 2 проводов, вместо одного проще.
Точку я подвесил на улице(5 этаж), для усиления сигнала и защиты от злоумышленников :). От дождя ее защищает пластмассовый контейнер, а вот что с ней будет на морозе я пока не знаю, с тревогой жду зимы. В спецификации конечно же указано, что она предназначена исключительно для работы в помещении, но вселяют надежду отзывы о нормальной работе при температуре до -25. Никаких специфических настроек я не делал, режим AP, шифрования нет.
Вторая точка стоит в помещении на подоконнике. Она соединена со свитчем в моей комнате витой парой и работает в режиме AP Repeater. При этом к ней можно цепляться по wifi и через свитч подключать любое количество компьютеров проводами.

Третьим пунктом доллжно было быть подключение антенн, но тут вышло небольшое недоразумение. Оказалось, что на таком расстоянии коннект великолепно устанавливается и без всяких антенн. Можно было конечно чисто из интереса попробовать, но антенны еще не доделаны, а интернет-то он вот, бери и пользуйся. Я так и поступил.
Пользуюсь и не устаю радоваться. Скорость, отзывчивость и стабильность, по сравнению со спутником, возрасли в разы. Ping www.google.com - в районе 80 мс. По сравнению с 700-900 на gprs и 1200-1500 на спутнике это просто супер.




















Продолжение...


понедельник, 31 марта 2008 г.

Конвертирование музыки из wma в mp3

Предисловие.
Я поменял шаблон блога на более жизнерадостный(но правда тоже из стандартных, были мысли найти что-то пооригинальнее, но пока лень. может как-нибудь соберусь) и изменил название, посчитав его неактульным. В связи с этим возможно появление постов не связанных с GNU/Linux.



Регулярно возникает проблема, когда кто-нибудь приносит мне музыку в каком-то непонятном формате.(wma) И хотя Amarok его замечательно воспроизводит, но при прослушивании возникает какой-то дискомфорт. Еще в далекие времена, когда я использовал windows я уже не любил этот формат музыки, а уж сейчас и подавно. Но до недавнего времени я ленился подойти к этому вопросу вплотную и клянчил у мамы ноутбук с виндой, чтобы сконвертировать очередной альбомчик. Но тут все-таки решил перебороть свою лень и в течении 15 минут нашел решение проблемы.
Фактически я здесь помещаю перевод этой статьи с небольшим изменением в скрипте, потому что так "не работало".
Нам потребуется mplayer и lame. Mplayer я думаю входит в репозитории любого дистрибутива. А вот lame в мандривовском репозитории я не нашел. Но сильно не расстроился и воспользовался сайтом rpmseek.com. Нашел там пакет для 2006 версии, скачал, установил - все работает.

Последовательность действий:
1. Создаем любимым текстовым редактором файл, например wmamp3.
2. Вбиваем туда следующее содержимое:


#!/bin/bash

current_directory=$( pwd )


#убираем пробелы
for i in *.wma; do mv "$i" `echo $i | tr ' ' '_'`; done


#убираем верхний регистр

for i in *.[Ww][Mm][Aa]; do mv "$i" `echo $i | tr '[A-Z]' '[a-z]'`; done

#распаковываем в wav и пакуем в mp3

for i in *.wma ; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader $i && lame -m s audiodump.wav -o $i; done

#меняем расширение на правильное

for i in *.wma; do mv "$i" "`basename "$i" .wma`.mp3"; done
rm audiodump.wav


3. Сохраняем файл, ставим на него флаг выполняемости

chmod +x wmamp3

4. Переносим куда-нибудь в /bin или /usr/bin.

sudo mv wmamp3 /usr/bin

5. И пробуем использовать примерно так:

wmamp3 file_name

6. Можно использовать для всех файлов в папке по маске:

wmamp3 *

Время на конвертацию в среднем до 20 секунд на песню.

Заранее отвечу на вопрос: "Почему не в ogg?" Мой телефон, который я изредка использую в качестве плеера, его не поддерживает.


Продолжение...


понедельник, 3 марта 2008 г.

Впечатления о Skylink.

Еще в конце декабря приобрел таки себе модем, по сей день пользуюсь, решил поделиться ощущениями.

Модем я выбрал Anydata ADU-300A, основываясь на отзывах нескольких человек на форумах, что мол в линуксе работать должно.
И не обманули меня, точно работает. Только есть одна небольшая тонкость, в ядра до 2.6.18 включен какой-то недоделаный модуль для работы с этими модемами. На всех последних дистрибутивах уже таких не найти, но у меня на сервере стоит ASP10, и там было ядро 2.6.17. Особых проблем это не вызвало, скачал rpm'ку с ядром 2.6.20 и все заработало на ура.
По поводу собственно интернета. Во-первых оказалось, что в моей местности(МО 20 км от МКАД по Минскому шоссе) уровень сигнала низковат и соединение нестабильное. Поэтому пришлось купить переходник под внешнюю антенну. Саму внешнюю антенну мне купить не удалось, потому что они как раз к моему приезду в офис закончились. Я припаял к переходнику FM антенну от старого тюнера. Как ни странно помогло.
Скорость до обещанных 2.4 Мбит(300 Кб/сек) по технологии EVDO ни разу не поднималась. Максимум 150 килобайт причем где-то в районе с 3 до 6 утра. В часы пик падает до 10-15 кбайт, средняя примерно 30 - 40. Что радует по сравнению с gprs, так это время отклика: стабильно меньше 150 мс.

Подключался я на тарифный план "Ночной безлимит", с целью закачки больших объемов трафика. Вообщем свое назначение он выполняет, за ночь можно гигабайта 1,5 выкачать.(если конечно с нормального сайта качать).
Единственное, что смущает, сейчас в скайлинке какие-то непонятные вещи творятся. Вроде бы людей насильно переводят с одних тарифов на другие и прочее. Меня пока ничего такого не коснулось, но уже начинаю опасаться.

Продолжение...