Качаем образ
http://archive.ubuntu.com/ubuntu/dists/ ... s/netboot/
Не смотря на то что официально релиз еще не вышел, но на своем десктопе его использую уже более месяца, проблем никаких небыло. Поэтому делать образ на уже практически устаревшей ОС нехочется.
Устанавливаем образ, при установке можно сразу установить POSTGRESQL
Создаем пользователя с именем kassir после установки попадаем в консольную UBUNTU без X
заходим как kassir
получаем рутовые права
$sudo -s
Вводим пароль
#usermod -a -G disk,dialout kassir
- Это чтобы потом не беспокоится о правах на устройства и диск
#apt-get update
Устанавливаем X icewm
#apt-get install nodm xinit icewm icewm-themes xserver-xorg-video-*
В файле /etc/default/nodm правим строки
- Код: Выделить всё
............
NODM_ENABLED=true
# User to autologin for
NODM_USER=kassir
............
- Это чтобы автоматически входить под этим польхователем
#apt-get install zenity numlockx x11vnc qt3-config libqt3-mt postgresql-server
Это все нам понадобится для нормальной работы и установки ДК
Я еще устанавливаю эти пакеты
#apt-get install screen mc openvpn smbfs
- но это уже если нужно
Далее абсолютно стандартно устанавливаем ДК - viewtopic.php?f=25&t=230
Затем так же стандартно её обновляем - viewtopic.php?f=25&t=472
Особое внимание уделим запуску демонов выгрузки загрузки, и скрипта dnc_update
Для стабильной работы этого добра написал скрипт , помимо запуска сервисов, он еще делает симлинк с папки /var/log/dancy в /tmp/dancy - таким образом все логи теперь хранятся в папке /var/log/dancy, и что ВАЖНО не очищаются при перезагрузке.
- Код: Выделить всё
#!/bin/sh
set -e
### BEGIN INIT INFO
# Provides: dnc_daemons
# Required-Start: $all
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 5
# Default-Stop: 0 1 6
# Short-Description: Runs dancy daemons (update, upload & unload daemons)
### END INIT INFO
start() {
#chmod 777 /dev/ttyS*
#chmod 777 /dev/ttyUSB*
#chmod 777 /dev/ttyACM*
chmod 644 `FindHardPath`
/etc/init.d/postgresql status >> /tmp/dancy/startup
sudo /usr/bin/dnc_update >> /tmp/dancy/dnc_update.log 2>&1
sudo /usr/bin/upload > /tmp/dancy/upload_daemon.out &
sudo /usr/bin/daemon_unload > /tmp/dancy/unload_daemon.out &
}
stop() {
ps axu|grep "RMK"|grep -v "grep"|awk '{system("kill " $2)}'
ps axu|grep "run_reshka"|grep -v "grep"|awk '{system("kill " $2)}'
ps axu|grep "reshka"|grep -v "grep"|awk '{system("kill " $2)}'
ps axu|grep "upload"|grep -v "grep"|awk '{system("kill " $2)}'
ps axu|grep "daemon_unload"|grep -v "grep"|awk '{system("kill " $2)}'
date >> /tmp/dancy/startup
rm /tmp/dancy
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
/etc/init.d/postgresql status
ps axu|grep "upload"|grep -v "grep"
ps axu|grep "daemon_unload"|grep -v "grep"
ps axu|grep "run_reshka"|grep -v "grep"
ps axu|grep "reshka"|grep -v "grep"
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
Этот скрипт гарантирует что демоны будут запускаться в самом конце 5 (те графического) уровня загрузки
Копируем этот скрипт в /etc/init.d
и выполняем
# update-rc.d dnc_daemons defaults
а в /etc/rc.local - все что добавил инсталятор ДК убираем.
-Теперь все стабильно запускается, архивируется ...
Еще доработки повышающие удобство работы
Файл /usr/bin/run_reshka - он запускает решку только 1 раз, и соответственноесли выбрать выйти из программы то мы увидим чистый экран, и чтобы запустить ДК, нужно либо мышь, либо горячие клавиши ...
Поэтому я делаю следующим образом - конец файла run_reshka
Приводим к виду
- Код: Выделить всё
....
uname -a > $LOGNAME
while [ 1 ]; do
/usr/bin/reshka >> $LOGNAME
done
- теперь reshka запускается в цикле, - и на экране всегда какминимум открыто окно с авторизацией, для кассиров так намного понятнее, как показывает моя практика
Для удаленного доступа помимо ssh используем x11vnc запускается от из .icewm/startup а пароль устанавливаем командой
- Код: Выделить всё
#x11vnc --storepasswd /home/.vnc/passwd
#chown -R root:root /home/.vnc
#chmod -R a+r /home/.vnc
#chmod a+x /home/.vnc
-Это чтобы чьи-нибудь шаловливые ручонки не напакастили
В /home/kassir/.icewm/startup
Добавляем следующее
- Код: Выделить всё
numlockx on # - Это чтобы NumLock был включен, это важно для корректной работы программируемых клавиатур
xset s 0 # - Это и след строка чтобы монитор не "тух"
xset -dpms #
xrandr --output VGA1 --mode 800x600 # Устанавливаем нужно расширение экрана, здесь нужно указать правильное имя устройства вместо VGA1
#xrandr - просмотреть режимы ИДЕАЛЬНОЕ расширение для ДК 800x600
x11vnc -rfbport 5900 -rfbauth "/home/.vnc/passwd" -forever -bg -display :0 -o /var/log/x11vnc.log & # Это запускаем vnc чтобы удаленно потом могли подключаться
/usr/bin/gcalctool & # - Это калькулятор, он прописан в winoptions чтобы открывался на 2 workspace а чтобы кассир увидил его на клавиатуру добавляем клавишу переключения workspace. Калькулятор кассиры просят, мы нашли пока вот такое только решение
sleep 10&&/usr/bin/run_reshka & # Ну и собственно сама решка с небольшой задержкой на всяк случай
Все эти скрипты есть здесь http://narod.ru/disk/46784943001.06f0b5 ... r.bz2.html
Вообще было бы интересно услышать кто как решает проблему с КАЛЬКУЛЯТОРОМ, может быть есть более красиывае решения???
Из преимуществ такого подхода
1. Установлен необходимый минимум, поэтому дистрибутив очень легкий и быстрый
2. Образ Clonzill ы полученный таким образом, котрый мы используем для заливки касс весит около 700 метров, и заливается на новое РМК в течении 5 минут, те за 5 мин голый комп, с помощью 1 флэшки, и даже не очень продвинутого в ИТ человека (имея инструкцию с картинками - это сможет сделать практически любой человек котрый отличт калвиатуру от мыши), превращается в почти настроеное РМК, остается сеть, имя компа ..... причем все это тоже автоматизируется скриптами, если интересно могу выложить
* Из замеченных особенностей при версии DK < 1.2.6p6pre5 - в связке с ФР Fprint02k были замечены необъяснимые зависания процеса RMK это обсуждалось в этой ветке форума viewtopic.php?f=16&t=56 после обновления пока проблема не проявлялась.
Дополнения, критика, рекомендации приветствуются