пятница, 25 мая 2012 г.

Мультифон

Предыстория.

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

Был у меня в Сибири МТС(по родительской инициативе, потому что мне по барабану, а ему дешевле), а тут я двинул в Питер и ещё заранее решил, что там буду брать Мегафон. Цены не самые низкие, зато самая надежная связь по всему Северо-Западу. Впрочем, по Сибири тоже. И бесплатный трафик на яндех-карты, которые куда лучше пресловутых Ovi Maps. О последнем, правда, я совсем забыл, хотя это было чуть ли не ключевым критерием. В общем, приобрёл заветную симку с недорогим тарифом "33 копейки" и забыл, почему именно Мегафон. Всегда считал его лучшим оператором из "Большой тройки", но это не критерий. Ну да ладно.

Через полгода понадобилось на месяц-два снова двигать в северные края. Тут и пришлось серьёзно задаться вопросом: "А нафига я подключался к Мегафону?" - номер то уже у всех друзей и знакомых записан и менять без особой необходимости не лучшая идея. Но хотелось бы оставаться на связи за разумную цену.

И я давай шерстить официальный сайт на предмет различных бонусов для роуминга. Например, на МТС есть такая услуга "Везде как дома": за два рубля в сутки бесплатные входящие в любой точке России(а может и не только) и невысокие тарифы на звонки за пределы домашнего региона. Что-то подобное я искал у Мегафона. И не нашёл. Выгодные предложения только для гастарбайтеров("Позвони соседу в Душанбе, пусть завидует") и откровенное наебалово в виде тарифов вроде "Для гостей города": все звонки по 9 рублей.

К делу.

Снова увидел знакомое слово "Мультифон", стало интересно: а может там с роумингом проще. По идее то должно быть, если звонки проходят через инет. Так и оказалось, плюс тарифы стали более чем адекватными. Все входящие на мультифон бесплатны вне зависимости от местонахождения абонента(оно и логично). Более того, исходящие звонки с него стоят 80 копеек на Мегафон по России, на все остальные операторы - 1.5 рубля. Убедиться можно здесь.

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

Но и это не беда. Мультифон работает по протоколу sip и вполне себе настраивается через сторонние клиенты и даже можно прикрутить Asterisk. Представления о последнем мне даже указанная статья не улучшила, скорее наоборот. Так что для меня это - нечто огромное, явно относящееся к телефонии и несомненно очень-очень крутое. Но подходящее скорее для локальных сетей, нежели для одного ноутбука. А так уверен, что связкой Asterisk+Мультифон можно добиться очень крутого функционала. В разделе помощи есть нужная информация.

В общем, я выбрал sip и конкретно клиент linphone, потому что лёгкий и мало чего за собой тащит. И всё бы ничего, но промудохался я прилично из-за собственной глупости. На всякий случай для других, кто в танке, настройки вот такие:





А вот в настройках аккаунта я здорово слажал, не обратив внимание на строку "Registration duration(sec)":


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

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

Из минусов могу лишь назвать невозможность через конкретно линфон принимать/отправлять смски. Но какой это минус? Это огромнейший плюс! Всегда бесила совершенно идиотская манера некоторых людей превращать смски в чат.

Ну и насчет экономии. Услуга не требует никакой дополнительной платы свыше указанных тарифов. Более того, звонки с питерского Мегафона на непитерские номера для меня выходят дешевле, чем звонки здесь же с местного МТС. Такие дела.

P. s.. Данный пост ни в коей мере не является проплаченной рекламой вышеупомянутого оператора, хотя я был совсем не против. Спасибо всем, кто прочитал всю эту кучу букв.

P. s. s.. В дальнейшем планирую ещё выложить скрипты для вывода баланса на экран рабочего стола путём conky, используя как базу настройки от ololgmen'a. Но когда это случится, неизвестно. Чтобы вывести три цифры и точку, нужно написать целую книгу скриптов на lua, а возиться с этим языком меня честно говоря заебло. Так что пока получаю информацию о балансе командой в терминале(curl + фильтрация). Если кто вызовется помочь с lua, я только за.

UPD.. На идею с рабочим столом был забит болт, сделал несколько иначе и, на мой взгляд, намного удобнее. Вот так:


Вызывается комбинацией [Win] + [M]. Потом выложу, как такое сделать. Когда разберусь, как эту хрень перенести вниз вправо.

четверг, 1 марта 2012 г.

Делаем общесистемные скрипты.

Допустим, есть у нас скрипт или комбинация команд, которая часто используется. Можно это засунуть в bashrc или zshrc, как у меня, можно запускать напрямую. А ещё удобней просто засунуть скрипт в /usr/local/bin и затем использовать как обычную команду. Главное - не забыть сделать ещё chmod u+x *имя файла со скриптом*, иначе работать не будет.

Например, у меня иногда случается, что интернет недоступен, потому для некоторой экономии ресурсов ноутбука написал скрипт следующего содержания:
 % cat /usr/local/bin/no_network
#!/bin/bash
rc-update del ntpd default
rc-update del privoxy default
rc-update del tor default


Это пока мелкий набросок, не более. Но уже вполне рабочий. Позже добавлю туда строки /etc/init.d/servicename stop, чтобы cервисы не только выпиливались из автозапуска, но и останавливались в момент запуска скрипта. Ну и разумеется, там же есть и скрипт, который всё это запихивает обратно.

понедельник, 9 января 2012 г.

Elantech Touchpad

Довольно долгое время не мог завести данное дело. Точнее, оно заводилось, да только было видимым в качестве PS/2-мыши, из имитаций кнопок работала только левая. При том, что работать должно было нормально ещё с последних версий второго ядра(а у меня третье). Потому заводил все методом отсюда. То есть, каждый раз патчил исходники ядра...

А оказалось все как обычно просто. Примерно так:

Device Drivers  --->
    Input device support  --->
        [*] Provide legacy /dev/psaux device
        (1366) Horizontal screen resolution
        (768) Vertical screen resolution
        <*> Event interface
        [*] Mice  --->
            <*> PS/2 mouse
            [*]   Elantech PS/2 protocol extension

В принципе значения "resolution" можно поставить по вкусу. Главное - не надо там вешать галочки Synaptics, как указано во многих мануалах. Просто надо поставить потом пакет "xf86-input-synaptics".

воскресенье, 11 декабря 2011 г.

Кракозябры в консоли после неудачного применения cat.

Здесь всё очень просто, потому сразу к делу.
1. Заходим в какую-нибудь консоль. Допустим, ++
2. Ловим глюк. Например, так: $ cat /bin/dmesg
3. Лечим глюк: $ reset

Может это и детский сад, но я вот не знал и лечил ребутом. И могу забыть. А блог этот, как указано выше - записная книжка, которая может ещё кому-нибудь пригодиться.
Спасибо за решение некоему рублег'у.

воскресенье, 13 ноября 2011 г.

laptop-mode-tools: Unhandled kernel version

Проблема кроссплатформенная, решается следующим образом. В /usr/sbin/laptop_mode находим такие строки:
case "$KLEVEL" in
        "2.4" ) ;;
        "2.6" ) ;;
        *)
                log "ERR" "Unhandled kernel version: $KLEVEL ('uname -r' = '$(uname -r)')" >&2
                exit 1
                ;;
esac

И добавляем, например, "3.0" ) ;; в это дело, тем самым у нас получается такое:

case "$KLEVEL" in
        "2.4" ) ;;
        "2.6" ) ;;
        "3.0" ) ;;
        *)
                log "ERR" "Unhandled kernel version: $KLEVEL ('uname -r' = '$(uname -r)')" >&2
                exit 1
                ;;
esac
Потом просто добавляем версии по мере необходимости. Можно заранее, но есть риск, что при обновлении laptop-mode-tools снова придется переписывать. Благо не особо часто обновляется.
Большое спасибо вот этому источнику.

UPD В новых версиях пакета всё уже исправлено.

четверг, 22 сентября 2011 г.

Claws-gmail

Второй раз настраивал claws-mail под гугль(на генте, до этого был дебиан), и второй раз всё не слава яйцам. Ни хрена не работало, а в логах было только гениальное: "** Ошибка IMAP в imap.gmail.com: ошибка потока".

Так что записываю, чтобы в третий раз(когда-нибудь я сменю ноутбук) не мудохаться ключевые моменты настройки гмыла по imap.

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




Всё. Так будет работать. Если на сервере гмыла уже есть указанные на последнем скрине папки, может понадобиться их удалить, затем в клавсе(ну называю его так, "клаус" как-то дебильно звучит) кликнуть в главном окне слева по имени аккаунта правым кликом и там "Перестроить дерево папок". Они сами создатутся заново.

Прошу прощения за своеобразные "рамочки" вокруг скринов, если они задевают чью-либо тонкую душевную организацию. Исправлять не буду.

P. s.. И вот какая ещё ситуация... У меня когда-то давно(ещё во времена палеолита, когда компьютеры были каменными, а интернет осуществлялся посредством выкрикивания двоичных кодов через цепочку людей) была настроена переадресация со всех ящиков в гугль. Потому что заходил в них только через браузер, а тут сразу всё в одном. И действий меньше, и рисков. С переходом на клавс появилась потребность отцепить эти ящики, дабы настроить по отдельности в клиенте. Ну чтобы можно было быстро проверять по отдельности, плюс последние амбиции "корпорации добра" мне совсем не по душе.

Проще всего отцепить было Рамблер. Настроить тоже(если надо, могу потом выложить настройки, они отличаются от гугля). Это единственный ящик, от которого у меня сохранился пароль и который при этом вообще не был нигде засвечен - только зарегистрирован. При смене пароля обнаружилось, что дизайн полностью спизжен у гугля. А после настройки в клавсе выяснилось, что самое важное спиздить забыли или поленились - пришло сразу пять спам-сообщений(ещё раз говорю, ящик нигде не был засвечен). Ну ебаный же пельмень, теперь придётся ещё и спамасассина ставить и настраивать.

вторник, 20 сентября 2011 г.

Доступ к Postgresql в Linux из Windows в VirtualBox'е на примере Holdem Manager

Как всё начиналось...

Сначала на десктопе было несколько убунт, потом, когда их глючность окончательно достала, Debian Squeeze, потом я купил новый Asus K73E и поставил туда уже Gentoo. Объединяла эти три системы, как ни странно, венда, установленная в VirtualBox, а ещё больше - установленные туда клиенты покеррумов и Holdem Manager. Собственно было создано два динамических виртуальных диска для венды - один системный на 12 Гб и для всяких там историй рук на 50 Гб.

В общем, занимался я покером, всё было хорошо, иногда не очень(особенно всякие Чёрные Тяпницы и навернувшийся в связи с этим Full Tilt), но в целом неплохо. Тем более, ноут как раз на эти деньги и куплен, на покерные. В какой-то момент случился алярм с Holdem Manager'ом. Если в двух словах, PokerStars изменили названия столов с fast на Fast, и после этого перестала автоматически вылезать статистика после посадки за стол и отыгрыша первой руки. Приходилось каждый раз лезть в TableFinder.

Слава разрабам HM'а, они довольно оперативно пофиксили бяку, выпустив обновление. Тут то я и встрял по самые помидоры. После установки обновления HM решил, что ему надо обновить базы. И давай обновлять. Минут через двадцать выдаёт ошибку, что месту на диске хана. И не запускается!

Тут то и обнаружилось, что хоть HM и был установлен на большом диске, пострег один хрен был на C:/(или как там они у вас обозначаются в винде). И сожрал нахрен там всё место, разумеется...


Ай што делать што делать!!!

Первым делом полез уменьшать размеры, да только вот уменьшилось всего на 1 Гб, может чуть больше. Затем вспомнил про совет в виде вот этого мануала, и решил перенести базу в хост, то есть, в Gentoo.

И снова появились проблемы. В первую очередь, мануал не совсем подходил к моим целям. В нём описывается доступ с компа с вендой к postgresql на компе с linux-системой по локальной сети(или не по локальной, по внешнему IP). А мне то надо было не через жопу локалку соединить VBox с Gentoo, а по-людски. Как я ни мудохался, порты какие-то пробрасывал, что-то где-то прописывал, ничего не получалось. Решение было найдено совершенно случайно.


А теперь за дело.

Для начала поставим пострег. Тут западло вот в чём. Установить полностью по мануалу у меня не получилось, так что в принципе можно его не читать, но не помешает ввиду полезной информации(да и небольшой мануал то). Дело в том, что редактирование параметра
DATA_DIR="/var/lib/postgresql/9.0/data"
 
в /etc/conf.d/postgresql-9.0 никак не влияло на последующие действия. То есть, при emerge --config dev-db/postgresql-server:9.0
система всё равно пыталась задействовать как папку для хранения баз именно /var/lib/postgresql/9.0/data, что меня ну никак не устраивало.

Так что алгоритм действий для установки пострега получился такой:
# emerge dev-db/postgresql-server
Затем я создал прямо в /home папку пострега и кинул на неё симлинк:
# mkdir /home/postreg
# ln -s /home/postreg /var/lib/postgresql
Вместо /home/postreg может быть в принципе что угодно. Плюс, симлинк добавляет гибкости. Например, можно куда-нибудь свободно перемещать эту инфу и затем снова кидать симлинк. Можно создать раздел xfs и кинуть это дело туда, как рекомендуется в оригинальном мануале, но мне это делать лень, и так всё отлично работает.

Теперь завершаем установку пострега:

# emerge --config dev-db/postgresql-server:9.0
Всё, пострег установлен. Запустим сервер:
# /etc/init.d/postgresql-9.0 start
Далее шаги снова частично из исходного мануала. Но у нас поменьше действий. Создадим нового пользователя:
# su postgres
$ createuser -P -s -R -d ballzofsteel
Enter password for new role: boobs
Enter it again: boobs
$ exit
 Теперь у нас есть новый пользователь с именем ballzofsteel и паролем boobs. На всякий случай перезапустим пострег:
# /etc/init.d/postgresql-9.0 restart
Теперь лезем в венду, запускаем там командную строку и перемещаемся куда надо(версия пострега может отличаться, у меня была 8.4:
cd "C:\Program Files\PostgreSQL\8.4\bin"
 И делаем дамп всех баз:
pg_dumpall.exe --username=postgres > holdem.dump
Поскольку, как я уже говорил ранее, у меня диск C был под завязку забит, у меня команда выглядела чуть иначе:
pg_dumpall.exe --username=postgres > D:\holdem.dump
Собственно holdem - это и есть имя HM'овской базы. Оно может быть и другим, если Вы его сделали не дефолтным. У меня было дефолтным и имя, и пароль. Пароль - postgrespass почему-то надо было ввести аж четыре раза: два раза в начале дампа и два в конце. Это нормально, как оказалось. Хотя я из-за этого стремался и раз пять этот дамп переделывал.

Если одолел склероз и не помним ни названия базы, ни пароля, идём в папку HM'а и чуть дальше: "...\Holdem Manager\Config\HoldemManager.config" - в этом файле смотрим и видим третью строчку:
SERVER=10.0.2.2;PORT=5432;UID=holdem;PWD=holdem
Где UID - название базы, а PWD - пароль от неё же.

Теперь переместим holdem.dump в хост-систему. Это уж описывать не буду, делается через "Общие папки". Затем развернём базу:
# su postgres
$ psql -f holdem.dump postgres
$ exit 
 Теперь делаем так: "Пуск >> Программы >> Postgresql >> Stop Server" или что-то типа того(а лучше сразу удаляем пострег в венде через "Панель управления"), после чего запускаем HM, который не сможет теперь соединиться с сервером и вылезет соответствующее окно. Либо можно просто напрямую его запустить, это DBControlPanel.exe в папке HM'a на диске. И там указываем:
Server Name: 10.0.2.2(вот она, главная хитрость!!!)
Port Name: 5432(оставляем прежним)
Login Name: ballzofsteel
Password: boobs
Затем жмём Connect, указываем  нашу базу базой по умолчанию(Set as Default) и Start Holdem Manager.

Готово! Теперь наши базы в гораздо большей безопасности, за пределами вражеской территории!