И само-собой с сервера хочется смотреть видео. Вот о видео мы и поговорим.
Итак, сегодня рассматриваем построение мультимедиа-станции на базе cетевой станции, использующей:
-- X.org в качестве графической среды,
-- MWM в качестве оконного менеджера,
-- MPlayer в качестве видеоплеера,
-- управление по радиоканалу через джойстик,
-- графический интерфейс GTK-2,
-- вес готовой болванки 94 Mb,
-- расход оперативы при старте 256 Mb
Обсудим концепцию системы. Мы используем в качестве базы cетевую станцию, т.к. предполагаем что музыка и видео лишь расширение системы, а основное назначение все же работа с сетью. Если это не так, то можно собрать на основе базовой системы, болванка будет на 10 Mb легче.
В силу исторических причин для качестве оконного менеджера я использую MWM. Его преимущество в том что его пакет весит полтора мегабайта, а недостатком - то что он постоянно отваливается. Не рекомендую им пользоваться. Нам нужно всего-лишь экранное меню и в качестве альтернативы думаю можно использовать Xdialog, но он работает на Gtk2 интерфейсе который весит порядочно. Но судя по комментарию на SlackBuilds.org его можно собрать на GTK-1 интерфейсе который полегче.
для управления используется джойстик. почему не ИК пульт ДУ ? это вынужденно. в моем городе джойстики валяются в каждом магазине, а про usb-пульты ДУ не слыхивали даже в радио-магазинах. для работы с джойстиком используется программа rejoystick которая позволяет переопределить на его кнопки клавиши клавиатуры. программа работает в демоническом режиме если запустить с опцией -d
rejoystick -d
если же запустить без параметров, ты вылазит конфигуратор, который... работает на GTK+2. это "удовольствие" утяжеляет нашу систему еще на 10 MB. решение "в обход" будет искаться.
кнопок на джойстике мало и у каждой программы свои "горячие" клавиши, поэтому для каждой программы следует создавать свой конфиг .rejoystickrc и при запуске через меню нужной программы, подменять конфиг с перезапуском rejoystick.
MPlayer весит 9 MB. При сборке пакета в slackbuild'е во-первых убирайте всякое упоминание о gui, а во-вторых добавте --disable-mencoder что бы не собирать лишнего
Сложности:
-- нужно будет суметь собрать свое ядро,
-- проприетарный драйвер Nvidia собирается только из-под ядра в котором будет работать. т.е. сначала нужно собрать всю систему, затем добавить пакеты для компиляции включая исходники ядра, далее затем собрать драйвер, и затем удалить пакеты для компиляции. одним словом - chroot здесь не поможет.
Тестовое железо:
M/B: EP-3PTA
CPU: Celeron 1.4GHz
RAM: 512Mb
VIDEO: GeForce4 MX-440 8x 64Mb
Ethernet: rt8139
Joystick: Logitech Cordless RumblePad 2
Итак, у меня есть готовая сборка LiveCD, которую я собрал методом подбора пакетов раза с третьего. Здесь я просто выложу список пакетов, с необходимыми конфигами и пояснениями. предполагаю что некоторые пакеты здесь будут лишними, со временем я будут их выявлять и удалять из списка.
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/pkgtools-13.0-noarch-3.tgz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/xz-4.999.8beta-i486-1.tgz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/tar-1.22-i486-2.tgz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/gzip-1.3.12-i486-1.tgz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/aaa_base-13.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/aaa_elflibs-13.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/aaa_terminfo-5.7-noarch-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/acl-2.2.47_1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/acpid-1.0.8-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/attr-2.4.43_1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/bash-3.1.017-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/bin-11.1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/bzip2-1.0.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/coreutils-7.4-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/cpio-2.9-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/cxxlibs-6.0.10-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/devs-2.3.1-noarch-25.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/e2fsprogs-1.41.8-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/etc-13.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/findutils-4.4.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/gawk-3.1.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/gettext-0.17-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/getty-ps-2.1.0b-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/glibc-solibs-2.9-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/grep-2.5.4-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/hdparm-9.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/infozip-6.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/inotify-tools-3.13-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/kbd-1.15-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/less-418-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/lha-114i-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/module-init-tools-3.6-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/openssl-solibs-0.9.8k-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/pciutils-3.1.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/procps-3.2.7-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sed-4.1.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/shadow-4.0.3-i486-18.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sharutils-4.7-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/slocate-3.1-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/splitvt-1.6.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sysfsutils-2.1.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sysvinit-2.86-i486-6.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sysvinit-scripts-1.2-noarch-30.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/udev-141-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/utempter-1.1.4-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/util-linux-ng-2.14.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/ap/nano-2.0.9-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/ap/screen-4.0.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/glibc-i18n-2.9-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/cyrus-sasl-2.1.23-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/inetd-1.79s-i486-8.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/iptables-1.4.3.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/iputils-s20070202-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/lynx-2.8.6rel.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/net-tools-1.60-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/network-scripts-13.0-noarch-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/openssh-5.2p1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/tcp_wrappers-7.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/telnet-0.17-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/traceroute-1.4a12-i386-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/vsftpd-2.1.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/wget-1.11.4-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/whois-4.7.26-i486-1.txz
+ самосборные
libsigc++-2.2.3-i486-1_SBo.tgz
libtorrent-0.12.5-i486-2_SBo.tgz
rtorrent-0.8.5-i486-2_SBo.tgz
xmlrpc-c_svn_my.tgz
это "сетевая станция"ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/xz-4.999.8beta-i486-1.tgz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/tar-1.22-i486-2.tgz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/gzip-1.3.12-i486-1.tgz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/aaa_base-13.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/aaa_elflibs-13.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/aaa_terminfo-5.7-noarch-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/acl-2.2.47_1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/acpid-1.0.8-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/attr-2.4.43_1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/bash-3.1.017-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/bin-11.1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/bzip2-1.0.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/coreutils-7.4-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/cpio-2.9-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/cxxlibs-6.0.10-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/devs-2.3.1-noarch-25.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/e2fsprogs-1.41.8-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/etc-13.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/findutils-4.4.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/gawk-3.1.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/gettext-0.17-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/getty-ps-2.1.0b-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/glibc-solibs-2.9-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/grep-2.5.4-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/hdparm-9.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/infozip-6.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/inotify-tools-3.13-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/kbd-1.15-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/less-418-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/lha-114i-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/module-init-tools-3.6-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/openssl-solibs-0.9.8k-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/pciutils-3.1.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/procps-3.2.7-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sed-4.1.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/shadow-4.0.3-i486-18.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sharutils-4.7-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/slocate-3.1-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/splitvt-1.6.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sysfsutils-2.1.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sysvinit-2.86-i486-6.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/sysvinit-scripts-1.2-noarch-30.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/udev-141-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/utempter-1.1.4-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/util-linux-ng-2.14.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/ap/nano-2.0.9-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/ap/screen-4.0.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/glibc-i18n-2.9-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/cyrus-sasl-2.1.23-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/inetd-1.79s-i486-8.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/iptables-1.4.3.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/iputils-s20070202-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/lynx-2.8.6rel.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/net-tools-1.60-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/network-scripts-13.0-noarch-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/openssh-5.2p1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/tcp_wrappers-7.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/telnet-0.17-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/traceroute-1.4a12-i386-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/vsftpd-2.1.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/wget-1.11.4-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/n/whois-4.7.26-i486-1.txz
+ самосборные
libsigc++-2.2.3-i486-1_SBo.tgz
libtorrent-0.12.5-i486-2_SBo.tgz
rtorrent-0.8.5-i486-2_SBo.tgz
xmlrpc-c_svn_my.tgz
теперь прикручиваем ALSA
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/alsa-oss-1.0.17-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/alsa-lib-1.0.18-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/ap/alsa-utils-1.0.18-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/dialog-1.1_20080819-i486-2.txz
пакет dialog нужен только для для работы alsaconf, после настройки ALSA можно удалить.ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/alsa-lib-1.0.18-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/ap/alsa-utils-1.0.18-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/dialog-1.1_20080819-i486-2.txz
настраиваем звук звук командами
alsaconf
alsamixer
alsactl store
Если нужно будет перенести настройки, то они хранятся в файлах:alsamixer
alsactl store
/etc/asound.state
/etc/modprobe.d/sound
ставим консольный MP3-плеер и его зависимости
/etc/modprobe.d/sound
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/ap/mpg321-0.2.10-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/libid3tag-0.15.1b-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/libmad-0.15.1b-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/libao-0.8.8-i486-1.txz
в принципе, мы собираемся ставить mplayer который умеет играть mp3 в консоли, так что нужно ли вам это, решайте сами.ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/libid3tag-0.15.1b-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/libmad-0.15.1b-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/libao-0.8.8-i486-1.txz
наш X.org использует HAL для работы с клавиатурой/мышью. В принципе, возможность "горячего" подключения оных, без перезапуска х-сервера, нам очень полезна. используем их:
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/dbus-glib-0.80-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/dbus-1.2.14-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/hal-0.5.11-i486-6.txz
добавляем конфиг
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/a/dbus-1.2.14-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/hal-0.5.11-i486-6.txz
cat > /tmp/livecd/1/etc/hal/fdi/policy/10-keymap.fdi << EOF
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keymap">
<append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
</match>
<match key="info.capabilities" contains="input.keys">
<!-- Restore Ctrl-Alt-Bksp Xserver Zapping -->
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
<!-- Edit (as needed) these four lines in the copied fdi file -->
<merge key="input.xkb.rules" type="string">base</merge>
<merge key="input.xkb.model" type="string">evdev</merge>
<merge key="input.xkb.layout" type="string">us,ru</merge>
<merge key="input.xkb.variant" type="string">,winkeys</merge>
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp:lwin_switch,grp_led:scroll</merge>
</match>
</device>
</deviceinfo>
здесь переключение между раскладками Ctrl+Shift, временное переключение регистра - левый shift, убийство х-сервера Ctrl+Alt+Backspace<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keymap">
<append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
</match>
<match key="info.capabilities" contains="input.keys">
<!-- Restore Ctrl-Alt-Bksp Xserver Zapping -->
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
<!-- Edit (as needed) these four lines in the copied fdi file -->
<merge key="input.xkb.rules" type="string">base</merge>
<merge key="input.xkb.model" type="string">evdev</merge>
<merge key="input.xkb.layout" type="string">us,ru</merge>
<merge key="input.xkb.variant" type="string">,winkeys</merge>
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp:lwin_switch,grp_led:scroll</merge>
</match>
</device>
</deviceinfo>
теперь самое гравное - установка х-сервера:
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xextproto-7.0.5-noarch-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libpthread-stubs-0.1-noarch-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/liblbxutil-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libhangul-0.0.7-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libdmx-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXxf86vm-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXxf86misc-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXxf86dga-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXvMC-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXv-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXres-1.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXrender-0.9.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXrandr-1.3.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXprintUtil-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXprintAppUtil-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXpm-3.5.7-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXinerama-1.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXi-1.2.1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXft-2.1.13-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXfixes-4.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXevie-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXdamage-1.1.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXcursor-1.1.9-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXcomposite-0.4.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXaw-1.0.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXTrap-1.0.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXScrnSaver-1.1.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libFS-1.0.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libICE-1.0.5-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libSM-1.1.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXtst-1.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXt-1.0.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libdrm-2.4.12-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xf86driproto-2.0.4-noarch-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xdriinfo-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/dri2proto-2.1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXp-1.0.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXmu-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXext-1.0.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libX11-1.2.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xauth-1.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/rgb-1.0.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/pixman-0.15.18-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libfontenc-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXfont-1.4.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libpciaccess-0.10.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xorg-server-1.6.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xproto-7.0.15-noarch-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libxcb-1.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xcb-proto-1.5-noarch-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXdmcp-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXau-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libpthread-stubs-0.1-noarch-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/liblbxutil-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libhangul-0.0.7-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libdmx-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXxf86vm-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXxf86misc-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXxf86dga-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXvMC-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXv-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXres-1.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXrender-0.9.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXrandr-1.3.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXprintUtil-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXprintAppUtil-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXpm-3.5.7-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXinerama-1.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXi-1.2.1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXft-2.1.13-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXfixes-4.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXevie-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXdamage-1.1.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXcursor-1.1.9-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXcomposite-0.4.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXaw-1.0.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXTrap-1.0.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXScrnSaver-1.1.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libFS-1.0.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libICE-1.0.5-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libSM-1.1.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXtst-1.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXt-1.0.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libdrm-2.4.12-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xf86driproto-2.0.4-noarch-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xdriinfo-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/dri2proto-2.1-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXp-1.0.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXmu-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXext-1.0.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libX11-1.2.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xauth-1.0.3-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/rgb-1.0.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/pixman-0.15.18-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libfontenc-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXfont-1.4.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libpciaccess-0.10.6-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xorg-server-1.6.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xproto-7.0.15-noarch-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libxcb-1.3-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xcb-proto-1.5-noarch-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXdmcp-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXau-1.0.4-i486-2.txz
убийство x-сервера
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xkill-1.0.1-i486-2.txz
скрипты инициализации
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xinit-1.1.1-i486-1.txz
поддержка 3D-акселерации
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/mesa-7.5-i486-1.txz
поддержка устройств ввода
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xkeyboard-config-1.6-noarch-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libxkbui-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libxkbfile-1.0.5-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xinput-1.4.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xkbutils-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xkbevd-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xkbcomp-1.1.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xf86-input-evdev-2.2.5-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libxkbui-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libxkbfile-1.0.5-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xinput-1.4.2-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xkbutils-1.0.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xkbevd-1.0.2-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xkbcomp-1.1.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xf86-input-evdev-2.2.5-i486-1.txz
поддержка фонтов
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/libXfontcache-1.0.4-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/fontconfig-2.6.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/freetype-2.3.9-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/fontconfig-2.6.0-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/freetype-2.3.9-i486-1.txz
сами фонты
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/font-misc-misc-1.0.0-noarch-4.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/font-misc-cyrillic-1.0.0-noarch-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/liberation-fonts-ttf-1.04-noarch-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/font-misc-cyrillic-1.0.0-noarch-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/liberation-fonts-ttf-1.04-noarch-1.txz
нам нужен будет xterm
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/x/xterm-243-i486-2.txz
MWM
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/lesstif-0.95.0-i486-5.txz
видео будем смотреть через SDL
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/sdl-1.2.13-i486-4.txz
т.к. для работы с джойстиком будем использовать программу rejoystick, который при конфигурации(определения клавиш) использует gtk2 - интерфейс, ставим gtk2:
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/glib2-2.18.4-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/cairo-1.8.6-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/pango-1.22.4-i486-4.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/atk-1.26.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/jasper-1.900.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/gtk+2-2.14.7-i486-4.txz
Mplayer для вывода OSD нужны будут
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/cairo-1.8.6-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/pango-1.22.4-i486-4.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/atk-1.26.0-i486-1.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/jasper-1.900.1-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/gtk+2-2.14.7-i486-4.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/libcaca-0.99.beta16-i486-3.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/aalib-1.4rc5-i486-2.txz
ftp://ftp.chg.ru/pub/Linux/Slackware/slackware-13/slackware/l/aalib-1.4rc5-i486-2.txz
теперь нужно собрать rejoystick и MPlayer. Конечно, готовый Mplayer есть в Slackware-13.0 но пользоваться им нельзя.
Дело за малым - добавить конфиги.
xorg.conf
cat > /tmp/livecd/1/etc/X11/xorg.conf << EOF
Section "ServerLayout"
Identifier "Simple Layout"
Screen "Screen 1" 0 0
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/share/X11/rgb"
FontPath "/usr/share/fonts/misc/"
EndSection
Section "Module"
Load "dbe" # Double buffer extension
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection
Load "freetype"
Load "glx"
EndSection
Section "Monitor"
Identifier "My Monitor"
HorizSync 30.0 - 70.0
VertRefresh 50.0 - 160.0
EndSection
Section "Device"
Driver "nvidia"
Identifier "MX440"
BusID "PCI:1:0:0"
VideoRam 65536
Option "nologo" "true"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Option "AddARGBGLXVisuals" "true"
Option "TripleBuffer" "true"
Option "TwinView"
Option "SecondMonitorHorizSync" "30-50"
Option "SecondMonitorVertRefresh" "60"
Option "TwinViewOrientation" "Clone"
Option "ConnectedMonitor" "CRT,TV"
Option "TVOutFormat" "COMPOSITE"
Option "TVStandart" "PAL-B"
EndSection
Section "Screen"
Identifier "Screen 1"
Device "VESA Framebuffer"
Monitor "My Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "800x600"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Simple Layout"
Screen "Screen 1" 0 0
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/share/X11/rgb"
FontPath "/usr/share/fonts/misc/"
EndSection
Section "Module"
Load "dbe" # Double buffer extension
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection
Load "freetype"
Load "glx"
EndSection
Section "Monitor"
Identifier "My Monitor"
HorizSync 30.0 - 70.0
VertRefresh 50.0 - 160.0
EndSection
Section "Device"
Driver "nvidia"
Identifier "MX440"
BusID "PCI:1:0:0"
VideoRam 65536
Option "nologo" "true"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Option "AddARGBGLXVisuals" "true"
Option "TripleBuffer" "true"
Option "TwinView"
Option "SecondMonitorHorizSync" "30-50"
Option "SecondMonitorVertRefresh" "60"
Option "TwinViewOrientation" "Clone"
Option "ConnectedMonitor" "CRT,TV"
Option "TVOutFormat" "COMPOSITE"
Option "TVStandart" "PAL-B"
EndSection
Section "Screen"
Identifier "Screen 1"
Device "VESA Framebuffer"
Monitor "My Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "800x600"
EndSubSection
EndSection
xinitrc выполняется при команде startx
cat > /tmp/livecd/1/home/flanker/.xinitrc << EOF
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
#font=andysuns 12
# merge in defaults and keymaps
if [ -f $sysresources ]; then
/usr/X11R6/bin/xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
/usr/X11R6/bin/xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
/usr/X11R6/bin/xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
/usr/X11R6/bin/xmodmap $usermodmap
fi
# start some nice programs
exec mwm & xterm -iconic ~/start
здесь автозапуском стартует mwm, за ним xterm, в окне которого запускаем rejoystick, а само окно xterm сворачиваем в иконку параметром -iconic
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
#font=andysuns 12
# merge in defaults and keymaps
if [ -f $sysresources ]; then
/usr/X11R6/bin/xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
/usr/X11R6/bin/xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
/usr/X11R6/bin/xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
/usr/X11R6/bin/xmodmap $usermodmap
fi
# start some nice programs
exec mwm & xterm -iconic ~/start
cat > /tmp/livecd/1/home/flanker/start << EOF
#!/usr/bin/bash
/usr/local/bin/rejoystick -d
/usr/bin/cat
/usr/local/bin/rejoystick -d
/usr/bin/cat
конфигурируем X.org
cat > /tmp/livecd/1/home/flanker/.Xdefaults << EOF
*AutoRaise: on
*DeIconifyWarp: on
*warp:on
*TitleFont:andysans24
*scrollBar: true
*font:courier24
Mwm*menu*foreground: black
Mwm*menu*background: CornflowerBlue
Mwm*menu*RootMenu*foreground: LightGray
Mwm*menu*RootMenu*background: black
Mwm*icon*foreground: grey25
Mwm*icon*background: LightGray
Mwm*foreground: black
Mwm*background: LightSkyBlue
Mwm*bottomShadowColor: Blue1
Mwm*topShadowColor: CornflowerBlue
Mwm*activeForeground: white
Mwm*activeBackground: Blue1
Mwm*activeBottomShadowColor: black
Mwm*activeTopShadowColor: LightSkyBlue
Mwm*border: black
Mwm*highlight:white
!my section
!Mwm*positionOnScreen: False
!Mwm*menu*RootMenu*font: -*-*-medium-r-*--16-*-*-*-*-*-koi8-r
Mwm*menu*fontList: -*-*-bold-r-*--20-*-*-*-*-*-koi8-r
!Mwm*client*fontList: -*-*-medium-r-*--16-*-*-*-*-*-koi8-r
!Mwm*menu*RootMenu*font: -b&h-lucida-bold-r-normal-sans-22-*
Mwm*pager: false
aixterm.foreground: green
aixterm.background: black
aixterm.fullcursor: true
aixterm.ScrollKey: on
aixterm.autoRaise: true
aixterm.autoRaiseDelay: 2
aixterm.boldFont:Rom10.500
aixterm.geometry: 80x25
aixterm.iconFont: Rom8.500
aixterm.iconStartup: false
aixterm.jumpScroll: true
aixterm.reverseWrap: true
aixterm.saveLines: 500
aixterm.scrollInput: true
aixterm.scrollKey: false
aixterm.title: AIX
*AutoRaise: on
*DeIconifyWarp: on
*warp:on
*TitleFont:andysans24
*scrollBar: true
*font:courier24
Mwm*menu*foreground: black
Mwm*menu*background: CornflowerBlue
Mwm*menu*RootMenu*foreground: LightGray
Mwm*menu*RootMenu*background: black
Mwm*icon*foreground: grey25
Mwm*icon*background: LightGray
Mwm*foreground: black
Mwm*background: LightSkyBlue
Mwm*bottomShadowColor: Blue1
Mwm*topShadowColor: CornflowerBlue
Mwm*activeForeground: white
Mwm*activeBackground: Blue1
Mwm*activeBottomShadowColor: black
Mwm*activeTopShadowColor: LightSkyBlue
Mwm*border: black
Mwm*highlight:white
!my section
!Mwm*positionOnScreen: False
!Mwm*menu*RootMenu*font: -*-*-medium-r-*--16-*-*-*-*-*-koi8-r
Mwm*menu*fontList: -*-*-bold-r-*--20-*-*-*-*-*-koi8-r
!Mwm*client*fontList: -*-*-medium-r-*--16-*-*-*-*-*-koi8-r
!Mwm*menu*RootMenu*font: -b&h-lucida-bold-r-normal-sans-22-*
Mwm*pager: false
aixterm.foreground: green
aixterm.background: black
aixterm.fullcursor: true
aixterm.ScrollKey: on
aixterm.autoRaise: true
aixterm.autoRaiseDelay: 2
aixterm.boldFont:Rom10.500
aixterm.geometry: 80x25
aixterm.iconFont: Rom8.500
aixterm.iconStartup: false
aixterm.jumpScroll: true
aixterm.reverseWrap: true
aixterm.saveLines: 500
aixterm.scrollInput: true
aixterm.scrollKey: false
aixterm.title: AIX
дело за малым, конфиг mwm
cat > /tmp/livecd/1/home/flanker/.mwmrc << EOF
Menu RootMenu
{
"Video" f.exec "~/.shvideo"
"QUIT" f.exec "halt"
}
Menu DefaultWindowMenu
{
Restore _R Alt<Key>F5 f.restore
Move _M Alt<Key>F7 f.move
Size _S Alt<Key>F8 f.resize
Minimize _n Alt<Key>F9 f.minimize
Maximize _x Alt<Key>F10 f.maximize
Raise _a Alt<Key>F2 f.raise
Lower _L Alt<Key>F3 f.lower
no-label f.separator
Close _C Alt<Key>F4 f.kill
}
Menu MouseMenu
{
"New Window" f.exec "xterm -geometry 110x40 +sb -bg black -fg green -xrm 'XTerm*VT100.translations: #override <Btn1Up>: select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)'"
}
Keys DefaultKeyBindings
{
!! Shift<Key>Escape window|icon f.post_wmenu
<Key>F8 window f.menu RootMenu
Alt<Key>space window|icon f.post_wmenu
Alt<Key>Tab root|icon|window f.next_key
Alt Shift<Key>Tab root|icon|window f.prev_key
Alt<Key>Escape root|icon|window f.circle_down
Alt Shift<Key>Escape root|icon|window f.circle_up
Alt Shift Ctrl<Key>exclam root|icon|window f.set_behavior
Alt<Key>F6 window f.next_key transient
Alt Shift<Key>F6 window f.prev_key transient
Shift<Key>F10 icon f.post_wmenu
Alt Shift<Key>Delete root|icon|window f.restart
<Key>F11 root|icon|window f.screen - "next"
Alt<Key>F11 root|icon|window f.screen - "prev"
}
Buttons DefaultButtonBindings
{
<Btn1Down> icon|frame f.raise
<Btn3Down> icon|frame f.post_wmenu
<Btn3Down> root f.menu MouseMenu
}
конфиг крайне простой. на F8 "вешается" rootmenu/главное_меню, соответственно клавиша F8 "вешается" на одну из кнопок джойстика. если будет необходимость зайти в систему с монитором+мышью на правый клик выведено меню по которому можно будет открыть xtermMenu RootMenu
{
"Video" f.exec "~/.shvideo"
"QUIT" f.exec "halt"
}
Menu DefaultWindowMenu
{
Restore _R Alt<Key>F5 f.restore
Move _M Alt<Key>F7 f.move
Size _S Alt<Key>F8 f.resize
Minimize _n Alt<Key>F9 f.minimize
Maximize _x Alt<Key>F10 f.maximize
Raise _a Alt<Key>F2 f.raise
Lower _L Alt<Key>F3 f.lower
no-label f.separator
Close _C Alt<Key>F4 f.kill
}
Menu MouseMenu
{
"New Window" f.exec "xterm -geometry 110x40 +sb -bg black -fg green -xrm 'XTerm*VT100.translations: #override <Btn1Up>: select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)'"
}
Keys DefaultKeyBindings
{
!! Shift<Key>Escape window|icon f.post_wmenu
<Key>F8 window f.menu RootMenu
Alt<Key>space window|icon f.post_wmenu
Alt<Key>Tab root|icon|window f.next_key
Alt Shift<Key>Tab root|icon|window f.prev_key
Alt<Key>Escape root|icon|window f.circle_down
Alt Shift<Key>Escape root|icon|window f.circle_up
Alt Shift Ctrl<Key>exclam root|icon|window f.set_behavior
Alt<Key>F6 window f.next_key transient
Alt Shift<Key>F6 window f.prev_key transient
Shift<Key>F10 icon f.post_wmenu
Alt Shift<Key>Delete root|icon|window f.restart
<Key>F11 root|icon|window f.screen - "next"
Alt<Key>F11 root|icon|window f.screen - "prev"
}
Buttons DefaultButtonBindings
{
<Btn1Down> icon|frame f.raise
<Btn3Down> icon|frame f.post_wmenu
<Btn3Down> root f.menu MouseMenu
}
При сбросе х-сервера с драйвером nvidia, в консоли слетает русский шрифт. что бы поправить дело нужно заново выполнить
/etc/rc.d/rc.font
,а лучше вывести ссылку
ln -s /etc/rc.d/rc.font /tmp/livecd/1/home/flanker/f
теперь при вводе команды f шрифт поправится.
Пишем конфиги к MPlayer
кодировка субтитров:
mkdir /tmp/livecd/1/home/flanker/.mplayer
chown --reference=/tmp/livecd/1/home/flanker /tmp/livecd/1/home/flanker/.mplayer
echo "subcp=cp1251" > /tmp/livecd/1/home/flanker/.mplayer/config
chown --reference=/tmp/livecd/1/home/flanker /tmp/livecd/1/home/flanker/.mplayer/config
chown --reference=/tmp/livecd/1/home/flanker /tmp/livecd/1/home/flanker/.mplayer
echo "subcp=cp1251" > /tmp/livecd/1/home/flanker/.mplayer/config
chown --reference=/tmp/livecd/1/home/flanker /tmp/livecd/1/home/flanker/.mplayer/config
создаем ссылку на шрифт субтитров:
ln -s /usr/share/fonts/TTF/LiberationSans-Regular.ttf /tmp/livecd/1/usr/share/mplayer/subfont.ttf
через экранное меню для просмотра видео вызывается скрипт ~/.shvideo
cat > /tmp/livecd/1/home/flanker/.shvideo << EOF
#!/usr/bin/bash
killall -9 rejoystick
rm ~/.rejoystickrc
cp ~/.rjrcmplayer ~/.rejoystickrc
/usr/local/bin/rejoystick -d
mplayer -fs -vo sdl /mnt/hd/*.avi
killall -9 rejoystick
rm ~/.rejoystickrc
cp ~/.rjrcmenu ~/.rejoystickrc
/usr/local/bin/rejoystick -d
при просмотре фильмов сжатых кодеками уровня xvid c флешки подключенной через USB 1.1 порт проблем не возникало, что и логично если принять что скорость USB1.1 ~1 MB/c ,а битпоток самого качественного рипа ~2000kbit/s т.е. 1/4 скорости порта USB1.1#!/usr/bin/bash
killall -9 rejoystick
rm ~/.rejoystickrc
cp ~/.rjrcmplayer ~/.rejoystickrc
/usr/local/bin/rejoystick -d
mplayer -fs -vo sdl /mnt/hd/*.avi
killall -9 rejoystick
rm ~/.rejoystickrc
cp ~/.rjrcmenu ~/.rejoystickrc
/usr/local/bin/rejoystick -d
но для душевного спокойствия пожалуй стоит включить кеш при воспроизведении:
mplayer --cache 8192 -fs -vo sdl /mnt/hd/*.avi
"душевное спокойствие" займет еще 8MB в оперативной памяти.Пока это все, со временем, статья будет дописываться, ошибки находится и исправляться.
Напишите статью где вы собираете liveCD от а до Я
ОтветитьУдалитьС использование Xorg и нечего лишнего
Сугубо базовая система + Xorg
хорошо, в выходные напишу.
ОтветитьУдалить