Пришлось немало повозиться, прежде чем запустить его на своей машине, поэтому решил поделиться опытом. В основном проблемы были с токеном.
1. Установка usb-токена
Вначале нам выдали в банке e-токен черного цвета (исполнение «М»), который заявлял о себе вот так:
lsusb
Bus 004 Device 009: ID 096e:0005 Feitian Technologies, Inc.
Мне так и не удалось заставить его работать. Поэтому в банке его любезно заменили на етокен оранжевого цвета (исполнение «А»), который определяется так:
lsusb
Bus 003 Device 002: ID 0a89:0060
(производитель почему-то умалчивает о себе, но мы то знаем что это rutoken ;-) )
Чтобы токен заработал установил пакеты pcscd, libccid, libpcsclite1 (под root):
aptitude install pcscd, libccid, libpcsclite1
После открыл файл /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist (я делал это по F4 в mc) и убедился, что в секции ifdVendorID есть 0x0A89, а в секциях ifdProductID и ifdFriendlyName им соответствуют значения 0x0060 и «Aktiv Rutoken Magistra». Если таких строчек нет, то добавьте (при этом название можно любое ставить).
Перезапустил pcsc:
/etc/init.d/pcscd restart
Теперь токен горит красным цветом, и это здорово.
Можно остановить сервис pcsc:
/etc/init.d/pcscd stop
и более подробно понаблюдать как определяется токен, для этого выньте токен из usb и запустите сервис в режиме debug:
pcscd --foreground --debug --apdu
После вставки токена в консоль у меня выдалось:
00000141 hotplug_libhal.c:366:HPAddDevice() Adding USB device: usb_device_a89_60_noserial_if0
01001157 readerfactory.c:1024:RFInitializeReader() Attempting startup of Aktiv Rutoken Magistra 00 00 using /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so
00000379 readerfactory.c:877:RFBindFunctions() Loading IFD Handler 3.0
00000066 ifdhandler.c:1532:init_driver() Driver version: 1.3.11
И это тоже замечательно.
ВНИМАНИЕ ГРАБЛИ 1: важная деталь, которая возможно всплыла только в дистрибутиве Debian 5.0. Суть в том, что iBank2 в своей работе использует библиотеку /usr/lib/libpcsclite.so, но ее не оказалось после установки libpcsclite1, зато были libpcsclite.so.1 и libpcsclite.so.1.0.0, смекнув делайте символическую ссылку:
ln -s libpcsclite.so.1.0.0 libpcsclite.so
я же скопировал по Shift+F5 в mc симлинк libpcsclite.so.1, изменив имя.
2. Пару слов о Java
iBank использует «родную» Sun'овскую джаву, поэтому мне пришлось скачать 19Мб по ссылке http://java.com/ru/download/manual.jsp?locale=ru&host=java.com, распаковать в отдельную папку, которую я назвал jre150lin.
3. Запуск PC-банкинга (off-line версия iBank2)
Банки обычно выкладывают tar-архив с дистрибутивом, можете сами поискать http://www.google.ru/search?hl=ru&q=PC-Banking-linux-i586.
Ссылку на дистрибутив нашего банка удалось узнать только после переписки со службой тех. поддержки: https://server1.ibank.absolutbank.ru/PC-Banking-linux-i586.tar.bz2.
Скачал и распаковал содержимое в папку iBank2abl.
Если у Вас уже была установлена Windows-версия PC-banking, то скопируйте файлы NNNN.odb и iBank.odb из C:\Program Files\Bifit PC-банкинг\ в новую папку (iBank2abl), чтобы заново не вводить данные по своей фирме. Кстати NNNN — это некоторое число.
Теперь ГРАБЛИ 2: в стандартном дистрибутиве лежит shell-файл, но он недоделанный, в частности в Linux почти всегда используется кодировка UTF-8, а iBank2 использует Windows-1251. Поэтому когда я запустил интернет-банк и провел сеанс связи, то после перезапуска iBank2 увидел «крякозяблы» вместо русских букв.
Чтобы «вылечиться» от этой напасти пришлось ставить доп. консоль:
localedef -c -i ru_RU -f CP1251 ru_RU.CP1251
и создать свою версию shell-файла:
cat ./run_ab.sh
#!/bin/sh
export JAVA_HOME=`pwd`/jre150lin
export JAVACMD=$JAVA_HOME/bin/java
export LANG=ru_RU.cp1251
export LC_ALL=ru_RU.cp1251
cd ./iBank2abl
if [ -e ../iBank2abw/83670.odb ]; then
mv ../iBank2abw/83670.odb ./
mv ../iBank2abw/iBank.odb ./
fi
$JAVACMD -Xmx256m -cp ./launcher.jar com.bifit.launcher.Launcher
Станет яснее дальше.
4. Запуск iBank2 с флэшки на любом компьютере
Чтобы пользоваться интернет-банком в любой момент и в любом месте, я ношу с собой usb-токен и флешку. На флешке в папке iBank все и лежит:
ls ./iBank
iBank2abl iBank2abw iBank2pb jre143win jre150lin run_ab.bat run_ab.sh run_pb.bat windrv32
Поясню немного:
iBank2abl - папка с PC-банкингом, который мы создали по п. 3
iBank2abw - папка с PC-банкингом из мастдайного C:\Program files\iBank2
jre143win - мастдайная java из C:\Program files\Java
jre150lin - линуксовая java по п. 2
run_ab.sh - шелл запуска в линуксе
run_ab.bat - батник для мастдая
windrv32 - папка с дровишками токена для мастдая
Под мастдаем запускаю bat-файл:
cat run_ab.bat
cd iBank2abw
move ..\iBank2abl\*.odb .\
"..\jre143win\bin\javaw.exe" -Xmx256m -cp launcher.jar com.bifit.launcher.Launcher
exit
Вот такая история из жизни, надеюсь поучительная ;-)