пятница, 14 декабря 2007 г.

"Десктопизация" OpenBSD

*
Как это ни прискорбно, но для свободной и непринуждённой работы эта система подойдёт далеко не всем. Cказать же, что для десктопа система непригодна, тоже нельзя. С чем столкнулся (в порядке а-ля что на память придёт первым):

1) Шрифты...

Песнь... Песнь песней. Поскольку русификация консоли возможна по умолчанию только в koi8-r (шрифтами /usr/share/misc/pcvtfonts/), то и гуи соответственно стоит приводить к koi8-r. Для общего развития можно почитать "каноны":

http://www.openbsd.ru/docs/howto-cyrillic.html

В дальнейшим вашим незаменимым помощником в этом деле станет xfontsel. В общем идея подана верно, но есть несколько нюансов. Во-первых не стоит валить в одну кучу приложения на gtk1 и gtk2, посему предлагаю следующее:



: ~ > ls -al ~ | grep .gtkrc

lrwxr-xr-x 1 sda users 23 Dec 8 08:56 .gtkrc -> /home/sda/.gtkrc.backup
-rw-r--r-- 1 sda users 134 Dec 8 10:48 .gtkrc-1.2-gnome2
-rw-r--r-- 1 sda users 1033 Dec 14 22:41 .gtkrc-2.0
lrwxr-xr-x 1 sda users 20 Dec 9 18:54 .gtkrc.mine -> /home/sda/.gtkrc-2.0
-rw-r--r-- 1 sda users 985 Dec 8 01:21 gtkrc_metal
-rw-r--r-- 1 sda users 767 Dec 15 00:15 .gtkrc.backup




: ~ > cat ~/.gtkrc

include "/home/sda/gtkrc_metal"

style "user-font"
{
fontset = "-*-fixed-*-*-*-*-17-*-*-*-*-*-koi8-r"
}
widget_class "*" style "user-font"
# EOF



: ~ > cat ~/.gtkrc-2.0

# Auto-written by sda00. Do not edit. :)

gtk-theme-name = "Clearlooks-DeepSky"

style "user-font"
{
font_name="-*-fixed-*-*-*-*-17-*-*-*-*-*-koi8-r"
}
widget_class "*" style "user-font"

gtk-font-name="-*-fixed-*-*-*-*-17-*-*-*-*-*-koi8-r"
gtk-icon-theme-name="Oxygen_gnome"
# EOF



Как и что "пилить" для qt приложений - не ведаю, бо не ставил и не пользую. И тут есть "момент". При подобном указании gtk-font-name="-*-fixed-*-*-*-*-17-*-*-*-*-*-koi8-r" в ~/.gtkrc-2.0 есть подозрение, что не все программы справятся с отображением интерфейса. Firefox по крайней мере сей "тест" проваливает. Он желает gtk-font-name="DejaVu Sans".


2) gtk броузеры и собственно OpenOffice работают как-то странно. Офис тормозит со страшной силой, firefox и seamonkey ведут себя непредсказуемо. Сейчас присматриваюсь к links, но основная "рабочая лошадь" - 'w3m-0.5.2-image' - пашет изумительно. Особенно радует наличие "табов".


3) Порядком провозился с настройкой терминала. Поскольку Xterm уже собран с поддержкой Xft, то решил его и пользовать. В приведённых ниже настройках Shift+"+" и Shift+"-" регулируют размер шрифта.


: ~ > cat ~/.Xdefaults

xterm*font: 8x16
XTerm*backarrowKeyIsErase: 1
XTerm*deleteIsDEL: false
xterm*saveLines: 60000
xterm*scrollBar: true
xterm*rightScrollBar: true
xterm*jumpScroll: true
xterm*cursorColor: red
xterm*colorBD: darkblue
xterm*colorBDMode: true
xterm*highlightColor: blue
xterm*activeIcon: false
xterm*awaitInput: true
xterm*scrollTtyOutput: false
xterm*scrollKey: true
*VT100.translations: #override\
Prior: scroll-back(1,pages) \n\
Next: scroll-forw(1,pages)\n\
Meta K: send-signal(int) clear-saved-lines() \n\
Meta P: print() \n\
Meta minus: smaller-vt-font() \n\
Meta KP_Subtract: smaller-vt-font() \n\
Meta plus: larger-vt-font() \n\
Meta KP_Add: larger-vt-font() \n\
Meta C: select-cursor-start() \
select-cursor-end(PRIMARY, CUT_BUFFER0) \n\
Meta V: insert-selection(PRIMARY, CUT_BUFFER0) \n\
Meta M: iconify() \n\
*Scrollbar.background: gray50
*Scrollbar.foreground: gray50
*Scrollbar.borderWidth: 0
*Scrollbar.shadowWidth: 0
*Scrollbar.thickness: 14
*Scrollbar.minimumThumb: 20
*Scrollbar.backgroundPixmap: gradient:horizontal?dimension=14&start=gray80&end=white
*Scrollbar.borderPixmap: gradient:horizontal?dimension=14&start=white&end=grey80

*Scrollbar.translations: #override\
: StartScroll(Forward) \n\
: StartScroll(Continuous) MoveThumb() NotifyThumb() \n\
: StartScroll(Backward) \n\
: MoveThumb() NotifyThumb() \n\
: NotifyScroll(Proportional) EndScroll()


эти же настройки можно пользовать и в Mac OS X для эмуляции поведения терминала. Вторая часть "Марлезонского балета" - прикручивание "цвета" к терминалу. Необходимо поставить пакет 'fileutils' и прописать пару-тройку alias-ов:


: ~ > cat ~/.bashrc

alias ls='gls --color'
alias l='gls -la --color'
alias c='clear'
export TERM=xterm-color




4) Нашёл аналог управления частотой процессора - apmd. Запустив sensorsd и 'apmd -C' остался весьма доволен результатом. 'sysctl hw' покажет итоги трудов праведных.


5) Если нет желания собирать E17 :), то пожалуй единственным нормальным ВМ-ом "из коробки" будет WindowMaker. Пилить всё придётся руками (от меню и до...), но результат того стоит.


Про mime.types говорил ранее, настройка ~/.mailcap тоже не относится к Rocket Science. Все multimedia пакеты стоит пересобрать из портов. Настройку mutt описывал ранее: http://www.rootshell.be/~sda00/mutt.html . Ежели чего запамятовал - допишу позже. На закуску - скриншотик с WindowMaker-ом. Практически "дефолт" от и до.




среда, 12 декабря 2007 г.

OpenBSD - сборка E17-cvs (или ещё одна маленькая победа разума)

*
Помнится лет 15 назад коммерческие Unix можно было сравнить с тракторами Caterpillar - вылизанный, сияющий, новенький трактор: мощи - немеряно, рык грозен и авторитет подавляющ. Linux - ну что там Линукс, студентиком Танненбаума написан? Кто про него знал - заикались, что мол это тоже трактор, ржавенький, но трактор (типа бесплатно и для народа). Счастливчики, дорвавшиеся до "фирмового" оборудования с коммерческими Unix при этих словах падали под стул от хохота, те, кто разбирался с HP-UX, не тратили сил даже на то, чтобы покрутить пальцем у виска. Благодаря блестящему маркетингу и абсолютно наплевательской позиции к вопросам копирайтов MS уверенно "хавала" десктопы россиян и умы разработчиков, выжигая напалмом островки NetWare, OS/2 и прочих более интересных "обитателей" компьютерных "винтов". Народ уже матерился при взгляде на требования MS к железу, но... "Делать нечего... Бояре, потужив о Государе и царевне молодой, в спальню к ней вошли толпой..." (и даже не заикайтесь о нонешнем "падении нравов").
К чему это я тут так разоряюсь? А вы представьте себе чуток проржавевшую помесь танка с трактором (женского полу), у которого вместо седушки водителя торчит огрызок трубы. Вертикально. Чтобы сразу и по самые гланды всем, кто захочет притопить "газулю" в пол сразу после установки generic системы. Представили? Вот это и есть OpenBSD. Ежели неумелой детской рукой на "морде" этого чудовища намалевать глазки и ухмылку "рыбки" с картинки "No Blow - No Go!" - то именно так и будет выглядеть истинный символ этой ОСи.

FAQ: "Выбор любой операционной системы зависит от ответа на вопрос: "Можно ли сделать некую работу именно так, как Вам хочется?" И ответить на сей вопрос Вы должны самостоятельно."

Как это ни парадоксально - чем-то эта система притягивает. Может тем, что требует сначала "любви, ласки и внимания", а вот потом "на всё готовая я...". По большому счёту единственное, что реально бесит - это отсутствие нормальных драйверов на видео, из-за чего работа в иксах превращается в кошмар (угу, ваша Галя - балованная!). Не гонял пока тестов для сравнения с Linux-2.6.23 (SLUB), но что-то подсказывает, что наше "чудовище" даже с включенным softupdate окажется аутсайдером. Бо цели у проекта несколько иные. Во главу угла поставлена безопасность системы, что накладывает порой довольно ощутимые ограничения на процесс оптимизации софта под эту платформу. В частности я ставил как i386 на Athlon64 и для успешной компиляции 'ecore' пришлось вырезать использование mmx инструкций. Теперь по порядку (всё, что описано ниже - сугубо моё IMHO и ни в коем случае не претендует на "истину в последней инстанции"):

1) Товарищ, помни, OpenBSD - не Unix и POSIX несовместима! Таки позабыл? Не беда! Отсутствие функции strfmon() и хэдера monetary.h быстро восстановят сей пробел.

2) "Зеркала" официального репозитория чудовищны. Сперва грешил на свои настройки. Потом поставил Master Fanout Site (Canada) - заработало. Такое ощущение, что многие файлы на зеркалах "обрезаны", недокачаны. Радовался рано. Где "затычка" - пока не разобрался, но "рецепт" следующий: тянем wget-ом и потом ставим с "винта". Иначе устанете вырезать partial установки (довольно занятная кстати фишка, потом подумаю, как её использовать).

3) Не ищите iocharset в опциях mount-а. Его там нет. Запись в openbsd-misc mailinglist (от января 2006-го года):

"At the moment, there is no way to specify a particular charset when
mounting filesystems. This is being worked on, however (at least for
cd9660, udf and ntfs filesystems).

Miod"

Сильно. Внушает. Интересно, сколько обезьян необходимо, чтобы вкрутить в патрон лампочку? Нет. Не так. Сколько времени необходимо одной обезьяне, чтобы проделать сие упражнение, не расхерачив при сём упомянутую лампочку к свиньям собачьим? "Дак ведь Пост, Матушка, ждём-с, до первой звезды..."

4) Нет поддержки ни одной журналируемой файловой системы.

5) А теперь позвольте выкатить списочек. Это - полный top. В фоксе открыто 15 вкладок, на одной из которых пишется сия нота. В Enlightenment-е загружено 55 модулей. mpd + emphasis. Почему emphasis жрёт 68.07% от остатков проца - разговор отдельный и будет он понятен и интересен пожалуй только разработчикам. dbus запущен сугубо ради спортивного интереса. wget тащит пакет openoffice с офсайта. Лепота...

load averages: 1.45, 1.46, 1.56 18:37:50
43 processes: 3 running, 38 idle, 1 zombie, 1 on processor
CPU states: 38.4% user, 0.0% nice, 60.8% system, 0.2% interrupt, 0.6% idle
Memory: Real: 216M/360M act/tot Free: 641M Swap: 0K/1537M used/tot

PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND
27809 sda 63 0 10M 17M run - 162:13 68.07% emphasis
13285 sda 2 0 34M 44M sleep poll 24:01 13.13% enlightenment
22761 sda 45 0 18M 76M run - 13:51 7.23% Xorg
11287 sda 32 0 77M 110M run - 11:03 3.32% firefox-bin
10391 sda 2 0 1216K 4176K sleep poll 2:54 0.93% mpd
13510 root 2 0 492K 768K sleep select 5:24 0.00% pptp
26634 sda 2 0 936K 3784K sleep poll 1:07 0.00% mpd
24992 sda 2 0 7204K 27M sleep poll 0:34 0.00% SciTE
15922 root 2 0 1024K 1552K sleep select 0:23 0.00% ppp
6781 root 2 0 368K 932K sleep select 0:16 0.00% pptp
24611 root 2 0 892K 1868K sleep select 0:08 0.00% ppp
23415 sda 2 0 2684K 2784K sleep poll 0:06 0.00% mpd
26339 sda 2 0 2096K 5096K sleep poll 0:03 0.00% enlightenment_fm
28451 sda 2 0 480K 1556K sleep select 0:03 0.00% wget
10225 sda 2 0 1568K 4176K sleep select 0:02 0.00% xterm
9292 sda 2 0 1628K 4156K sleep select 0:01 0.00% xterm
15626 _syslogd 2 0 404K 872K sleep poll 0:00 0.00% syslogd
30207 sda 2 0 1164K 3040K sleep poll 0:00 0.00% gconfd-2
20833 sda 10 0 996K 1952K idle wait 0:00 0.00% bash
25807 root 2 0 332K 740K idle netio 0:00 0.00% syslogd
14280 sda 10 0 1060K 1892K idle wait 0:00 0.00% bash
17142 sda 28 0 752K 1628K onproc - 0:00 0.00% top
6089 root 2 0 516K 732K sleep select 0:00 0.00% pptp
13630 sda 10 0 908K 1804K idle wait 0:00 0.00% bash
1266 root 2 0 480K 828K idle select 0:00 0.00% cron
23036 _dbus 2 0 612K 1228K idle poll 0:00 0.00% dbus-daemon
23716 sda 10 0 688K 1340K idle wait 0:00 0.00% bash
24928 sda 18 0 540K 504K idle pause 0:00 0.00% sh
3816 sda 18 0 480K 476K idle pause 0:00 0.00% sh
13991 sda 18 0 504K 592K idle pause 0:00 0.00% sh
18563 sda 2 0 636K 1332K idle poll 0:00 0.00% dbus-daemon
15497 sda 2 0 556K 1136K idle poll 0:00 0.00% dbus-launch
1 root 10 0 388K 340K idle wait 0:00 0.00% init
9994 sda 10 0 456K 1124K idle wait 0:00 0.00% xinit
26534 root 2 0 360K 692K idle select 0:00 0.00% inetd
3810 root 3 0 336K 768K idle ttyin 0:00 0.00% getty
24959 root 3 0 420K 768K idle ttyin 0:00 0.00% getty
18100 root 3 0 296K 760K idle ttyin 0:00 0.00% getty
15889 root 3 0 224K 756K idle ttyin 0:00 0.00% getty
19607 sda 18 0 408K 440K idle pause 0:00 0.00% sh
26715 sda 2 0 1708K 1008K idle netio 0:00 0.00% Xorg
13956 root 2 0 568K 1156K idle select 0:00 0.00% sshd



6) Базовую систему ставил всю, кроме SMP ядра (не пользую SMP на десктопе из принципа). Долго рубился в Tetris (на 9-ом уровне меня подкосили - непорядок). Ностальгировал. Узрел в пакетах quake и quake2. Смахнул скупую слезу и долго думал про всех, кто не желает появления nVidia драйверов для OpenBSD. В результате список установленных пакетов выглядит на сегодня вот так:

~ > pkg_info | awk -F\ '{print $1}'

ORBit2-2.14.7
aalib-1.2p2
apr-1.2.9
apr-util-1.2.8
aspell-0.50.5p4
atk-1.18.0p0
autoconf-2.59p1
autoconf-2.61p1
automake-1.9.6p2
bash-3.2.17
bison-2.1p0
boehm-gc-7.0
bzip2-1.0.4
cairo-1.4.10
cdparanoia-3.a9.8p0
cdrtools-2.01p0
chmlib-0.39
curl-7.16.2
db-4.2.52p11
dbus-1.0.2p1
dbus-glib-0.73p0
dbus-python-0.80.1
desktop-file-utils-0.12p0
docbook-4.4
docbook-dsssl-1.72
dvd+rw-tools-5.21.4.10.8p0
e16keyedit-0.2
enlightenment-0.16.7.2p2
esound-0.2.34p0v0
evince-0.8.1
faac-1.24
faad-2.0p6
fam-2.7.0p2
fetchmail-6.3.8
ffmpeg-20070501p0
findutils-4.1p0
flac-1.1.2p1
gconf2-2.18.0.1
gettext-0.14.6p0
ghostscript-8.54p1
ghostscript-fonts-8.11p0
giblib-1.2.4p3
gimp-2.2.17
glib-1.2.10p1
glib2-2.12.12p1
glitz-0.5.6
gmake-3.80p1
gmpc-0.15.1
gmpc-lyrics-0.15.0
gnome-icon-theme-2.18.0p0
gnome-keyring-0.8.1
gnome-mime-data-2.18.0
gnome-vfs2-2.18.1p0
gtk+-1.2.10p6
gtk+2-2.10.13
gtkspell-2.0.5p4
hicolor-icon-theme-0.10p0
imlib-1.9.14p5
imlib2-1.3.0p0
iodbc-3.52.4p0
iso8879-1986
jasper-1.900.1
javaPathHelper-0.3
jbigkit-1.6p1
jpeg-6bp3
ladspa-1.12p0
lame-3.96.1p2
lcms-1.15
libIDL-0.8.8
liba52-0.7.4p2
libao-0.8.8
libart-2.3.19p1
libaudiofile-0.2.6p0
libbonobo-2.18.0
libbonoboui-2.18.0
libcroco-0.6.1
libdnet-1.10p2
libdv-0.104p1
libdvdnav-20051102p2
libexif-0.6.16
libgadu-20060411
libgcrypt-1.2.0p1
libglade2-2.6.1
libgnome-2.18.0
libgnomecanvas-2.14.0p0
libgnomeprint-2.18.0
libgnomeprintui-2.18.0
libgnomeui-2.18.1p0
libgpg-error-1.1p0
libgsf-1.14.3p2
libiconv-1.9.2p3
libid3tag-0.15.1bp0
libidn-0.6.1
libltdl-1.5.22p2
libmad-0.15.1bp1
libmikmod-3.1.10p4
libmng-1.0.9p1
libmpcdec-1.2.4
libmpd-0.14.0
libmspack-20040308a
libogg-1.1.3
librsvg-2.16.1p0
libsamplerate-0.1.2p0
libshout-2.2.2p0
libslang-1.4.9p3
libsndfile-1.0.11p0
libtheora-1.0alpha7
libtool-1.5.22p13
libungif-4.1.4p1
libunicode-0.4p1
libutf-2.0
libutf8-0.8p0
libvorbis-1.2.0
libwmf-0.2.8.3p3
libwpd-0.8.9p0
libxml-2.6.29
libxslt-1.1.21
lzo-1.08p1
mc-4.6.1p1
meanwhile-1.0.2p0
metaauto-0.7
mozilla-firefox-2.0.0.6
mpc-0.12.1
mpd-0.13.0p1
mplayer-1.0pre8p14-sdl
msmtp-1.4.12p0
mutt-1.5.16p0
nasm-0.98.38p0
neon-0.26.2
nmap-4.20
nspr-4.6.7
nss-3.11.7
openoffice-2.2.1p0
p5-Text-Iconv-1.4
p7zip-4.47
p7zip-rar-4.47
pango-1.16.4
pcre-7.1
pidgin-2.0.1p0-gtkspell
png-1.2.18
poppler-0.5.4p1
popt-1.7p0
pptp-1.7.1
procmail-3.22p2
pstree-2.27
py-Numeric-23.1p1
py-cairo-1.4.0
py-gobject-2.13.1
py-gtk2-2.10.4
py-iconvcodec-1.1.2p0
python-2.4.4p4
python-expat-2.4.4p4
qdbm-1.8.75
quake-20000101p3-sdl
quake2-0.3p3
rxvt-2.7.10p2
scintilla-1.74
scite-1.74
screen-4.0.3p0
scrollkeeper-0.3.14p3
sdl-1.2.9p7-sun
shared-mime-info-0.21p0
silc-toolkit-1.0.2p1
speex-1.2beta2
sqlite3-3.4.1
startup-notification-0.9
subversion-1.4.4
t1lib-5.1.0p0
taglib-1.4p1
teTeX_base-3.0p9
teTeX_base-fmt-3.0p0
teTeX_texmf-3.0p1
texi2html-1.64
tiff-3.8.2p0
toolame-0.2lp1
unzip-5.52
vim-7.1.33-no_x11
w3m-0.5.2-image
wget-1.10.2p0
wxWidgets-gtk2-2.6.3p0
x264-20070325p1
xchm-1.13
xcompmgr-1.1.1p2
xcyrillic-2.0p0
xine-lib-1.1.7p0
xine-ui-0.99.5
xvidcore-1.0.3p0
yasm-0.6.1
zip-2.32

Жить можно. Из исходников был поставлен лишь последний gettext (0.17). Плюс добил библиотеки amr* и скоро возьмусь за пересборку xine-lib, ffmpeg и mplayer, бо что мы имеем в пакетах - в кошерных домах даже свиньям не подают. Причём ffmpeg и mplayer ещё можно как-то пользовать, а вот xine... Xine пришлось поставить для сборки Enlightenment-а на скорую руку. Итоги:

~ > df -h

Filesystem Size Used Avail Capacity Mounted on
/dev/wd2a 9.8G 2.1G 7.3G 22% /
/dev/wd2d 19.2G 10.2G 8.0G 56% /home
/dev/wd2j 31.0G 28.1G 2.8G 91% /mnt/sdb3

/dev/wd2j - есть не что иное, как Fat-опомойка cо скромной аудиоколлекцией. Посмотрим на порно, что заняло 56% от /home?

~ > find /home/sda/source -maxdepth 1 -type d -exec du -sh {} \; | sort -rn

367M /home/sda/source/e17themes
9.0G /home/sda/source
6.5G /home/sda/source/books
2.2G /home/sda/source/compile

и заодно на наши скромные результаты:

~ > du -sh /opt/e17
67.9M /opt/e17


7) Большим сюрпризом оказалось отсутствие mime.types файла в /etc. Оно есть в /var/www/conf/mime.types, есть в /etc/mutt/mime.types (если вы любите mutt также, как люблю его я). Из обеих файлов можно скомпоновать достойный внимания результат после обработки напильником. Поскольку скрипт ставит все компоненты в /opt/e17 (да и удалять потом проще. грохнул каталог и спи спокойно), то бросил симлинк на mime.types и в /opt/e17/etc.

8) Скрипт ноне гарантированно способен на i386/x86-64 архитектуре собрать вам следующие "вкусности" (и уверен, что это не предел, поскольку не тестировал для всего, что лежит в E-cvs):

EFL (Enlightenment Foundation Libraries):
eet edb evas ecore embryo imlib2 efreet edje epeg epsilon esmart emotion engrave ewl etk exml enhance imlib2_loaders etk_extra e_dbus

EFL 'applications':
e edje_viewer entrance exhibit estickies examine e_utils express elicit iconbar imlib2_tools emphasis expedite extrackt scrot rage

EFL 'e_modules' (помимо стандартных):
alarm bling cpu calendar deskshow efm_nav efm_path emu flame forecasts mail net news photo rain screenshot slideshow snow taskbar tclock uptime weather winselector wlan

всвязи с некоей спецификой OpenBSD архитектуры следующие модули требуют лёгкой рихтовки:

cpu, mem, battery, net, wlan, temperature (грубо говоря - все, что имеют дело непосредственно с железом)

9) После доводки секций скрипта по сборке до ума удалось свести количество патчей исходников к минимуму (для устанавливаемых компонентов естественно). Поскольку в html переводить лениво - смотрите лучше в скрипте:


# OpenBSD patchset
case $(uname) in
OpenBSD)
echo "Starting OpenBSD patchset..."
cd $e17_cvs_local_location

if [ "`grep \#include\ \<png\.h\> ./e17/libs/imlib2/src/modules/loaders/loader_png.c`" != "" ] ; then
cat ./e17/libs/imlib2/src/modules/loaders/loader_png.c | sed 's/\#include\ \<png\.h\>/\#include\ \<\/usr\/local\/include\/libpng\/png\.h\>/' > ./loader_png.c.patched
cp ./loader_png.c.patched ./e17/libs/imlib2/src/modules/loaders/loader_png.c
fi

if [ "`grep _POSIX_HOST_NAME_MAX ./e17/apps/e/src/bin/e.h`" = "" ] ; then
echo '#ifndef _POSIX_HOST_NAME_MAX' > ./e.h.patched
echo '#define _POSIX_HOST_NAME_MAX 255' >> ./e.h.patched
echo '#endif' >> ./e.h.patched
cat ./e17/apps/e/src/bin/e.h >> ./e.h.patched
cp ./e.h.patched ./e17/apps/e/src/bin/e.h
fi

if [ "`grep inttypes.h ./e17/libs/evas/src/lib/engines/common/evas_convert_main.c`" = "" ] ; then
echo '#include </png\.h\>' > ./evas_convert_main.c.patched
cat ./e17/libs/evas/src/lib/engines/common/evas_convert_main.c >> ./evas_convert_main.c.patched
cp ./evas_convert_main.c.patched ./e17/libs/evas/src/lib/engines/common/evas_convert_main.c
fi

echo "OpenBSD patchset is DONE. Press Enter."
read a1
;;
esac


как видим из приведённого выше - сие есть не что иное как издержки autotools в чистом виде. В общем всё оказалось не так уж и страшно. Как только rootshell.be будет доступен (сайтик кстати с недавних пор переехал на OpenBSD платформу) - выложу скрипт version="0.7.0.1". Кому "в Париж по делу срочно" - мыльте, закину.

Hint: ежели опыта маловато, а попробовать таки хоцца - качайте заодно и диск Frenzy - он спасёт отцов демократии в критические дни. Обычно хватает boot -s на промпте :).

10)
Let It Be! Just Let It Be!








и махонький совет на прощание, коли позволите: отключите Java и Java-Script в настройках браузера...

пятница, 7 декабря 2007 г.

OpenBSD - всё для Человека и ради Человека...

*
Ребята из E-community попросили взглянуть на "нюансы" компиляции и установки под OpenBSD (може памятуя о том, что для FreeBSD мой скрипт отработал без ошибок сборку одним из первых). "Гавно вапрос!" - подумал я... "Попалсо?! - раком!" - подумал установочный диск OpenBSD-4.2 (а будь я на его месте - то подумал бы ещё и не так!)...

Это надо чувствовать... Это - непередаваемая атмосфера, в которую погружаешься сразу с головой, лишь только попадая на оффсайт проекта (imo - лицам с неокрепшей психикой туда "ходить" строго противопоказано!)... Это надо читать... Вдумчиво... Смаковать за рюмкой коньяка наиболее удачные ура-патриотические "перлы" официальной документации...



Посмотрели на картинку? Вспомнили поговорку: "No Blow - No Go!"? (прим.переводчика: "не дунешь - не полетишь!") "Дунули"? Повторили? Тогда продолжим...

Я не могу пройти мимо фразы из FAQ-а: "It might be worth noting that a large amount of OpenBSD development is done on laptops." (прим.переводчика: "сие есть сущая безделица, что громадьё кода системы писано именно на ноутбуках.") Как же это здорово! - думалось мне, крепчал энтузиазм, надежда, что разработчики в кои-то веки близки к народу с его скромными чаяниями: простая, строгая, надёжная система с отличной документацией, с поддержкой пусть и не самого нового железа, но именно такого, "что в масть". Да ещё и секурная, да ещё и из Канады (не подвержена "патентным игрищам"), да...ах! Мячта!!! ОНО!!! Родимоё!!! Впрочем, любые "розовые шарики мячты" имеют свойство разлетаться вдребезги, столкнувшись с жёсткой шкурой реальности. Начало было положено документом INSTALL.linux . Первая мысль: "Вот это - КРУТЬ! Это ж про меня! У меня же окромя... хм... начать "список" с Plan9 или закончить?... не важно, но при виде сего документа (ДО прочтения) я готов был записаться в Патриоты, что дорогого стоит." Верный заветам дедушки Ленина - учиться, учиться и ещё раз учиться - штудировал документацию на сайте проекта, трепетно лелея двухсотмегабайтовую инсталляционную исошку. "Юноша бледный со взглядом горящим". И тут значит смотрю на первую строку сего "циркуляра" - v 1.12 2004/08/18 08:57:33 - ого-го! Стабильность! Каноны! Написано раз - и на века! И фраза: "Or use the commercial offering Partition Magic." Оп-па... Эт что, слова parted + ntfsprogs этим "дядям" не знакомы? Далее по тексту выясняется, что "дружеское" сосуществование Linux и FreeBSD у "дяденьки" токмо с ext2 и fat партициями... То был первый "удар колокола". Ваш-то покорный слуга имеет в пользовании Reiser-3.6 (в основном), Xfs, Jfs, Hfs+(да-да-да, и не надо пальцем тыкать), Bfs, чуток Venti и конечно Fat-опомойку, бо без неё никак... И когда в последних абзацах сего "указателя" достопочтенный "автор" выливает ушат нечистот с радостным гиканьем: "A word of caution: brain-damaged linux installations" - понимаешь сразу, что сие есть "перебор". Да простят мне, убогому, подобное утрирование, но Linux на сегодня - это (процитирую своё же более раннее высказывание) "единственная ОСь, которую можно установить хоть в /dev/ass при наличии у того бутсектора 512-ти байт. И будет работать." Естественно, что вопрос: "Какие именно файловые системы поддерживает OpenBSD и как?" требовал немедленного ответа. Попробуйте найти его самостоятельно, не имея под рукой уже установленную OpenBSD (в смысле не потроша саму систему и её документацию). "Список - в Студию!" - проорал популярный некогда телеведущий под мощный аккомпанимент фанфар... Не вопрос:


> man fstab

The system currently supports the following types of filesystems:

cd9660 An ISO 9660 CD-ROM filesystem.
ext2fs A local Linux compatible ext2fs filesystem.
ffs A local UNIX filesystem.
mfs A local memory-based UNIX filesystem.
msdos An MS-DOS FAT filesystem.
nfs A Sun Microsystems compatible Network File System.
ntfs An NTFS filesystem.
procfs A local filesystem containing process information.
swap A disk partition to be used for swapping.
udf A UDF filesystem.
vnd A VND image file.

и скромненько так, между прочим, что ntfs - только на чтение и до сих пор "экспериментально". "Щастья мало не бывает" - попёр на nvidia.com искать утешения в кошерных, TRUE, дровах на свою "старушку". Э-э... Все хорошо расслышали громкие причмокивающие звуки, что я издал, придя на оный сайт? "Надо брать!" - сказала Машенька Защекова, хоть и была ну Очень порядочной девушкой... Для повторения легендарного анектода про Золотую Рыбку и "пусть сбудется всё, что скажет наш боцман, проснувшись завтра на рассвете" осталось лишь найти несоответствие в "подручном" железе и списке поддерживаемого оборудования. Не нашёл. Ха. Ха. Ха.

К чёрту слюни и сантименты -> разгрузка одной из Fat-опомоек -> wodim -> "болванка" -> init 0 ->

> sudo fdisk wd2

Disk: wd2 geometry: 14593/255/63 [234441648 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
------------------------------------------------------------------------
0: 07 0 1 1 - 6501 254 63 [ 63: 104454567 ] HPFS/QNX/AUX
*1: A6 6502 0 1 - 10548 254 63 [ 104454630: 65015055 ] OpenBSD
2: 0B 10549 0 1 - 14592 254 63 [ 169469685: 64966860 ] Win95 FAT-32
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused

-------------------------------------------------------------------------

> sudo disklabel wd2

# Inside MBR partition 1: type A6 start 104454630 size 65015055
# /dev/rwd2c:
type: ESDI
disk: ESDI/IDE disk
label: ST3120026A
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 14593
total sectors: 234441648
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
a: 20980890 104454630 4.2BSD 2048 16384 1
b: 3148740 125435520 swap
c: 234441648 0 unused 0 0
d: 40885425 128584260 4.2BSD 2048 16384 1
i: 104454567 63 unknown
j: 64966860 169469685 MSDOS


и прыжок со скалы без парашюта в порядочных размеров отстойник с "фиалками" с целью "дозвониться" по "ВПН" к своему Провайдеру и "хапнуть" глоток свежих "портов" и "пакетов". Мдэ... Документация оказалась "на уровне". В "манах" кажется понаписали про всё на свете, кроме моего, совершенно рядового случая. Конструкция вырисовывалась презабавнейшая. Кама-Сутра где-то описывает похожие отношения и позы, только применимо к Homo Sapience, а не /dev/rl0 + /dev/tun (что меня интересовало зело поболе в тот момент времени). Карета "Скорой помощи" в лице (!кого бы Вы думали!) Anonymous-a! (та-дам! занавес!) подкатила с серверов Corbina, кои я Очень Уважаю за q3dm6.ru и Clan Arena в частности.



Вот она какая! Псиса молодая! Оргазм!? - Лучше!!!

Очередная партизанская засада поджидала на тропе "русификации"... Слов в принципе остаётся всё меньше, для характеристики ситуации (вернее это - уже более смахивает на диагноз, а не на "ситуацию"):

1. Припадаем к "канонам".
2. Возвращаемся ...гхм... не солоно хлебавши (при условии, что мы НЕ ХОТИМ и НЕ БУДЕМ пересобирать ядро - что есть первостатейная заявка как минимум на дикую криворукость мэйнтейнеров, не умеющих / не желающих предлагать универсальные решения. Если что-то сделать нельзя - то так и надо об этом говорить, а не городить огород).

Возвращаемся к "нашему" FAQ-у. Читаем громко и с выражением первые два абзаца (перевод вольный):

"Не взирая на то, что OpenBSD есть суть не что иное, как традиционный TRUE Юникс, знакомый и близкий всем, кто общался с подобными*, в нём есть кое-какие отличия. Ежели Вы только и имели счастья поиграться с Linux-ом - то OpenBSD Вам покажется 'странным'`. Для тех же, кто начинал с OpenBSD, 'странным' покажется Linux. Вы ОБЯЗАНЫ понять разницу между 'стандартом' и Вашим личным опытом.

Ежели Вы изучали Юникс по ХОРОШИМ книжкам, то OpenBSD - Ваш Друг, Товарищ и Брат. В противном случае всё будет с точностью до наоборот."

(прим*. - Очень Грамотно не приведены примеры таких же, как и OpenBSD, традиционных и true Юниксов)
(прим`. - угу, только вот "нюансы" - они ведь разные...)

ШЕДЕВР!!! Учить наизусть! Я не жалею ни о чём только за ту радость, что испытываю каждый раз, перечитывая эти два абзаца.

Возвращаясь к нашим "баранам". Для OpenBSD-4.2 я добился приемлимого результата в русификации сделав несколько простых "шагов":


1. Качаем 'bash-3.2.17 GNU Bourne Again Shell' и ставим его шеллом по умолчанию для всех.

2. > cat /etc/wsconsctl.conf

keyboard.encoding=ru # use different keyboard encoding
keyboard.bell.volume=0 # mute keyboard beep
keyboard.map+="keycode 157 = Mode_Lock" # switch by Right Ctl

3. > cat /etc/rc.local

if [ -x /usr/sbin/wsconscfg -a -x /usr/sbin/wsfontload ]; then

for SCREEN in 2 3 4 5 6 7 8 9 10 11; do
/usr/sbin/wsconscfg -d $SCREEN
done

/usr/sbin/wsfontload -h 16 /usr/share/misc/pcvtfonts/koi8-r-8x16

for cons in 2 3 4 5 6 7 8 9 10 11; do
wsconscfg -t 80x25bf $cons
done

fi



то бишь тупенько вырезаем дефолтные "скрины", грузим koi8-r шрифт и восстанавливаем "скрины" с нормальным koi8-r шрифтом.




где-то так... в следующей части этого "опуса" будет история собственно о сборке и тестировании E17-го в таком водъ, труЪ, Юниксе... панимаш...

среда, 5 декабря 2007 г.

забавные инвестиции...

Российская интернет-компания "СУП" полностью приобрела известный интернет-сервис LiveJournal

о-ля-ля! "Чуден Днепр при тихой погоде, когда вольно и плавно мчит сквозь леса и горы полные воды свои. Ни зашелохнет; ни прогремит" // Н.В. Гоголь. это чтоб уж точно и наверняка "не зашелохнуло" и "не прогремело". воистину, дела Твои... со скуки помереть точно не судьба!

можно по-разному относиться к подобным инициативам, но стоит помнить, что в стане нашего "старого друга" оплотом (last stand) Демократии остаётся лишь радио, а никак не газеты, журналы, тв и прочая публицистика. только вот с Госкомсвязьнадзором в наших "степях" не забалуешь, да и "демократия" у нас чуток иная (поправьте, ежели ошибаюсь)...

рекомендую ознакомиться с шикарнейшим трэдом на моём любимом форуме ("В Иране зобанели Гугол"):
http://unixinfo.ru/index.php?topic=301.0

ей-ей мы уже где-то "там же" по уровню актуальности информации в так называемых "ИА" (это - не имя Ослика из сказки про Винни-Пуха, это - сокращение термина "Информационное Агентство"). прав был Льюис Кэррол, глаголя в XIX веке устами Алисы: "...всё чудесатее и чудесатее..."

23Oz (23 Ounces of Glass) ETK

http://e17-stuff.org/content/show.php/23Oz.-etk?content=71090

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

суббота, 24 ноября 2007 г.

23Oz (23 Ounces of Glass)

Хочется сказать многое... а написать - ещё больше... но...

23Oz.

Dear Nathan Baxter!

Thank you for your great original artwork.

Regards,
sda00

а сейчас я встану, открою дверь на улицу и тихонько покурю...

P.S. вот так простые ламеры становятся "отцами":
http://www0.get-e.org/Main/News/_articles/431.html

вторник, 13 ноября 2007 г.

Взгляд ушастого ламера на проект "Информационная независимость России"...

"...виды, намеренья и цели государя, немногим известные, и образ его действий при сем, нередко скрывающий первые. Политика - тухлое яйцо..."
(Суворов)

"Политика - это искусство возможного"
(Отто фон Бисмарк)

поскольку по предмету "Политпроституция" в моей "зачётке" стоит твёрдый "Неуд.", или говоря проще - "единица" по любой из возможных систем оценок (5-ти бальной, 10-ти и т.д.), то особого смысла "марать бумагу" вроде как и нет. но, ежели рассматривать сей опус как некое развлекательное чтиво (а-ля pulp fiction), то "пуркуа бы и не па"?

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

для начала - краткий экскурс в историю.

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

место, которое наша страна занимает сегодня в мировой индустрии IT, можно назвать "призовым" с сильной "натяжкой" (во всех смыслах, оттенках и позах этого слова). дабы не "растекаться мыслию по древу" настоятельно рекомендую ознакомиться со следующим изумительным по красоте изложения и сути произведением г-на Картунова, дающим представление о заслугах некоторых весьма уважаемых лиц перед Отечеством:
Кое-что об Эльбрусе-2000
из прочих "активов" заслуживает упоминания "свечной заводик" в славном городе Зеленограде, и пожалуй ещё возможность выпуска микропроцессорного комплекта Л1839 (аналога VAX-11/750):
"ЭЛИНС-36"
итого: "тишь, гладь, да Божья Благодать". а ежели следовать логике поговорки "нас е*** - а мы крепчаем!", то состояние наше по "крепости" думаю уже давно превышает любые мыслимые и немыслимые параметры всех известных (и неизвестных впрочем тоже) науке жидкостей, материалов и т.п.. пожалуй стоит откровенно признать, что подобное состояние вполне закономерно. почему? да потому, что "как-то так сложилось", что людям, способным думать и творить, создавать что-то новое и идти вперёд нет места в структурах нашего Отечества (опять же, "место" скорее всего таки есть, только вот оценка их труда по сравнению с "альтернативными" "местами" не выдерживает никакого сравнения). а людей, способных данные качества воспитать и развить у детей... да вы и сами всё знаете... "знак червонца проступает вместо лика на доске"(БГ). а с таким подходом альтруисты и фанатики своего дела долго здесь не задерживаются. "климат здесь не тот" (Розенбаум).


лирическое отступление: ни в коей мере не стоит считать, что только у нас всё плохо, а "за морем" всё хорошо. "хорошо там - где нас нет!" внимательно изучим следующую статью:
"DEC_Alpha"
как мне кажется на её основе стоит сделать несколько очевидных выводов:
1) наиболее ценным ресурсом в любых аспектах деятельности являются именно люди, а не материалы (сырьё);
2) наиболее передовую и перспективную разработку прикрыла более успешная/ые коммерческие компания/ии (опять же - люди, менеджмент, стратегическое планирование, позиционирование на рынке, расширение своего бизнеса и т.п.);
3) благодаря опять таки людям (команде разработчиков "Альфы") наработки не пропали даром, а используются сегодня, как в AMD, так и в Intel (такое ощущение, что порвали "Альфу", как Тузик тряпку, и куски этой "тряпки" ноне жёстко конкурируют меж собой за доли рынка).
поучительная история, не правда ли?


и на фоне этого благолепия вдруг (практически все незапланированные события случаются "вдруг"... вопрос лишь в том, является ли рассматриваемое нами событие незапланированным...) нежданно и негаданно "что-то случилось само собой в кармане полковничьих брюк"("Наутилус") и вуа-ля! "здравствуйте! я - ваша тётя!". встречаем:
"Виктор Имантович Алкснис"
"Пудинг - это Алиса! Алиса - это Пудинг! Унесите Пудинг!" (Л. Кэррол) и унеслось... настоятельно советую всем внимательно изучить "блог" этого человека и составить своё собственное мнение о его делах и поступках, ежели есть к тому малейшее желание. нас же в первую очередь интересует следующий Документ:

проект "Информационная независимость России"

постараюсь выделить некоторые моменты без отрыва от контекста (пожалуйста, укажите на возможные допущенные ошибки, "пробелы". спасибо):

1) фраза насчёт "последних пятнадцати лет" звучит как-то чересчур оптимистично в свете того, что на тайваньском заводе TSMC по модели отечественной разработки для комплекса "Эльбрус-3М1" был выпущен процессор R500 с тактовой частотой в 300Mhz, в то время как в 1992-ом году 64-разрядная версия процессора "Альфы" EV4S была способна работать на частоте 200 МГц. мы что, таки 15 лет назад имели сопоставимые продукты и инфраструктуру для их выпуска??? "а мужики-то не знают..." (рекламная пауза). или сравнение с "передовиками капиталистического труда" не входит в наши планы?

2) "Удручающее состояние...создаёт угрозу...препятствует проведению преобразований..." стоп, стоп, стоп... "я вам не скажу за всю Одессу..."(Утёсов), но:

>:/sda@black::
[21:34:32] : ~ > uname -a
Linux black 2.6.23-ARCH #1 PREEMPT Sun Oct 28 20:11:25 MSK 2007 i686 AMD Athlon(tm) 64 Processor 3700+ AuthenticAMD GNU/Linux

таки да! всё "железо" без исключения - "вражеское, забугорное". вы можете не верить, да только мне это ну ни капельки не создаёт никаких "угроз" и "препятствий". а вот операционная система (ОС) и все прикладные программы (кои целиком и полностью уже много лет удовлетворяют все мои потребности) - Open Source (с открытыми исходными кодами) - и я в праве модифицировать их так, как считаю нужным (чем иногда и занимаюсь по мере необходимости). при этом не нарушаю ни один из пунктов законодательства своей страны, связанный с незаконным использованием ПО (программного обеспечения). а основные причины, по которым произошёл отказ от использования проприетарного ПО - именно низкое качество, дикая дороговизна и банальное отсутствие оного для полного удовлетворения всех моих потребностей (наряду с прочими). да, сейчас довольно много качественного Open Source софта портировано на платформу MS Windows, токмо аналогов связки iptables+iproute(2) до сих пор и близко нет. возможно, что и не будет. если же говорить о довольно субъективном критерии "качества" и объективном критерии "функционал" - то лишь линейка продуктов компании Adobe превосходит Open Source аналоги. поскольку грубо говоря "Gimp"-а + "Evince" + утилит формирования pdf файлов мне хватает с избытком, то и надобности в продуктах от Adobe пока нет. есть правда ещё пунктик об OCR (Optical Character Recognition) - тут я полный профан, бо на сегодня схема: "картинка" со сканера -> оптимизация "картинки" -> pdf как-то прекрасно работает и без OCR.

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

3) "Реализация данного национального проекта должна обеспечить создание российских программных средств общего назначения, а так же производство в Российской Федерации конкурентоспособных образцов компьютерной техники и комплектующих к ней".

вопрос нумеро уно: "именно создание с нуля или адаптация уже существующего"? (это очень и очень разные суммы денег, доложу я вам).

меня так всё устраивает как оно есть ноне в исходниках. и документация на английском радует. а была бы нужная документация на китайском - так засел бы за словари или знакомого китайца попросил бы помочь. нет знакомого китайца? и интернета нет? тогда с тихой грустью и лютой пролетарской ненавистью "рыл" бы исходники... в мире Open Source не бывает безвыходных ситуаций.

вопрос нумеро дуо: "производство в Российской Федерации конкурентоспособных образцов компьютерной техники и комплектующих к ней... на какой основе? база где? что мы тут собрались производить? и самое главное - для кого?"

про ограниченное количество ресурсов не забыли? "Ну а здесь, знаешь ли, приходится бежать со всех ног, только чтобы остаться на том же месте! Если же хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее!"(Л.Кэррол) мы безнадёжно отстали в "производстве конкурентоспособных образцов компьютерной техники и комплектующих к ней". и вопрос не в деньгах. предположим на мгновение, что денег у нас - как атомов во вселенной. люди. основного ресурса у нас нет. не лучше ли вместо этой более чем сомнительной инициативы сконцентрироваться на том, что мы до сих пор умеем делать и делаем лучше других? и развивать именно эти направления, потихоньку "вытягивая" смежные отрасли из трясины? или кроме сырьевой базы в качестве "ресурсов" уже ничего не осталось?
"нет повести печальнее на свете, чем повесть о....." эх... "Испокон веков на Руси всего две проблемы... Первая - это дороги. Вторая же успешно решается при помощи асфальтоукладчика..."

4) "на первом этапе его реализации...должно быть предусмотрено создание российских программных средств общего назначения... для использования органами государственной власти, органами местного самоуправления, государственными и муниципальными унитарными предприятиями, государственными и муниципальными образовательными учреждениями."

ура! чётко очерчена "целевая аудитория". то есть можно набравшись смелости констатировать свершившийся факт: Государство призадумалось и пытается выработать для себя какие-то "правила поведения", хотя более уместно уже говорить о "правилах выживания в экстремальных условиях" и на первое место выносить именно "муниципальные образовательные учреждения". в этом контексте представляют определённый интерес проверки коммерческих структур на предмет "лицензионного ПО". "Врачу - исцелися сам!" хотя... признаю. осознанное использование коммерческой структурой нелицензионного ПО автоматически означает готовность принять на себя все риски и отвечать за последствия данного шага. но вот подобная проверка упомянутой "целевой аудитории" имеет гораздо больший смысл. особенно если была выделена и ПЕРЕЧИСЛЕНА определённая целевая сумма из бюджета в конкретно проверяемое учреждение. впрочем, я опять забегаю вперёд паровоза. хочу лишь настоятельно рекомендовать к прочтению следующую "страничку":

Дело Поносова

горжусь своим Президентом, способным внятно изложить точку зрения:
"Хватать и не пущать — это простое дело, а разобраться по существу это всегда сложнее. Если необходимо внести изменения в законодательство, которое, как я вижу, является не очень совершенным, значит, подумаем над этим.
Но вот так хватать человека, который купил там какой-то компьютер, и грозить ему тюрьмой это чушь собачья"
(В.Путин)


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

наконец-то! "аз есмь истина!" "дети прыгали до потолка - папа в козыря попал!"(поговорка в Преферансе) и вот тут позвольте вернуться к сути пункта №4 и спросить: "так что же мешает изменить это положение дел?" ведь по большому счёту уважительных причин-то нет! было бы желание! в мире Open Source НЕТ разницы, кем создано ПО. исходники доступны и модификация исходников как правило не запрещена. кем бы ни было создано Open Source ПО - конечный пользователь всегда обладает тотальным контролем над ним (исходники-то под рукой). и не надо даже заикаться о наличии специализированного софта и отсутствии Open Source аналогов! отказ от использования продукции Майкрософт высвободит такие средства бюджета, на которые не только аналоги гипотетическому спец. софту можно будет создать с нуля, но и детишкам в детские дома и интернаты подкупить новых игрушек, одежду, отремонтировать что не так.

и опять несколько нюансов... основное здесь - что слово Linux напрямую фигурирует только в привязке к КНР, а мы все знаем, чем там дело закончилось:

Конец проекта Red Flag

но даже если события развернутся аналогичным образом - то всё равно высвободятся колоссальные средства бюджета. на детские дома должно хватить. коды же самой ОС Windows в теории должны быть (уже) открыты госструктурам РФ. вопрос только в цене лицензии на их возможную модификацию. то есть вопрос этот ещё и не вопрос вовсе. что же до создания Open Source приложений под Windows - так их и ноне ужо портировано вагон с телегой, да и в Microsoft работают далеко не идиоты - уже зарегистрировали 2 своих Open Source лицензии. им-то подавно не надо самим себе доказывать всю ущербность собственного ПО по сравнению с Open Source аналогами. я конечно же утрирую. Microsoft безусловно создала некоторые очень функциональные программные продукты (тот же Active Directory), но посмотрите сами на долю решений от MS, работающих в top 500! и пусть это субъективно, но мой собственный "десктоп" работает лучше и гораздо функциональнее любого "десктоп" решения от этой уважаемой корпорации. хотя бы потому, что позволяет делать вещи именно так, как я хочу, а не так, как считает правильным продукт от MS (который практически всегда считает себя "умнее" конечного пользователя/администратора). "I'll find a Way. Or make One" (Atlanta Clark University).

6) "...российское ПО также должно иметь статус свободного ПО с доступным пользователю исходным кодом и распространяться на основании свободной лицензии, то есть лицензии, позволяющей пользователю использовать исходный код ПО для своих нужд, в том числе вносить в него изменения и распространять его."

ДА!

7) "Создать такое ПО в РФ возможно, если использовать ПО, существующие в настоящее время, выверенные, основанные на открытом исходном коде и распространяемые на основании свободной лицензии. Это сократит финансовые..." (ещё бы! кто б сомневался!)

ДА!

нюанс: как правило нет в природе ПО, полностью свободного от ошибок. необходимо чётко отдавать себе в этом отчёт. огромнейшим преимуществом Open Source ПО является способность латать "дыры" в кратчайшие сроки и не делать тайны из найденных уязвимостей, что даёт грамотным администраторам возможность самостоятельно оперативно реагировать и закрывать уязвимости "подручными средствами", коих превеликое множество. и по моему скромному разумению необходимо и достаточно не заниматься тупой и бесполезной "выверкой" кода, а именно готовить толковых администраторов и программистов, способных находить и устранять подобные уязвимости. и всеми силами избегать схемы "security through obscurity" (это безопасно потому, что об этой опасности ещё никто не знает).

8) насчёт разработки дополнительных необходимых программ и последующего распространения на платной основе - немного непонятно, но вроде как ни одна из Open Source лицензий при условии соблюдения её требований подобного нe запрещаeт.

9) "...отказ от использования в деятельности по ведению делопроизводства и документооборота... так называемых документов с закрытым форматом, в частности DOC...и переход на использование документов с так называемым открытым международным форматом, в частности ODF"

ДА!

нюанс: во втором круге голосования неплохо бы нашей стране отказать Open XML документам от права называть себя "документами с так называемым открытым международным форматом" (а то в первом круге дружно проорали "одобрям-с!", а потом неделю искали того/тех, кто собственно орал...) или же добиваться полного открытия спеков на все форматы документов компании Microsoft.

10) "... Потребуется поддержка от государства в постановке задач по созданию и стандартизации программного обеспечения, управлению таким проектом, а также финансированию предусмотренных им приоритетных разработок."

а почему бы сразу не написать что-то типа:

"... Потребуется поддержка от государства в постановке задач по созданию и стандартизации программного обеспечения, управлению таким проектом, финансированию предусмотренных им приоритетных разработок а также по дальнейшей интеграции и поддержке развития всего Open Source Community."

именно акцентируя во-первых на чётко расставленных национальных приоритетах, а во-вторых на полное одобрение и поддержку со стороны государства (как минимум) подобной сферы деятельности. в этом случае правда придётся слова делами подкреплять не одномоментно, но постоянно. впрочем и так, как есть - вполне неплохо.


позвольте же мне после цифири 10 в меру скудоумия подвесть итогову черту: "Поезд тронулся, господа присяжные заседатели!"(О.Бендер)

я искренне и от всего сердца благодарю господина Алксниса за всё, что он делает по продвижению проекта "Информационная независимость России" и желаю Виктору Имантовичу "долгие лета", успехов и удачи в сём многотрудном начинании.

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

E17 и "прозрачность"

традиционно в *nix X Window System за "прозрачность" ответственен 'Composite' модуль xorg-а (XFree86). проверить его наличие можно следующей командой:

> xdpyinfo | grep Composite
Composite

для "включения" в работу нужно чуток модифицировать ваш xorg.conf. владельцам видеокарт nvidia стоит воспользоваться следующими командами:

> nvidia-xconfig --composite
> nvidia-xconfig --allow-glx-with-composite

и в Device секцию "добросить" строку:

Option "RenderAccel" "true"

если после упомянутых трудов есть желание посмотреть на эталонную работу WM-а с прозрачностью окон - ставьте E16. у "старшего брата" (E17-го) с этим пока далеко не всё гладко. как вариант - поиграть с модулем 'bling':

> enlightenment_remote -module-load bling
> enlightenment_remote -module-enable bling

но рекомендовать для повседневного пользования сие не могу. в этой ситуации гораздо более разумным решением является связка 'xcompmgr'+'transset'. дёшево и сердито. перед использованием стоит ознакомиться с man страницей xcompmgr-а. для себя поступил очень просто:

> cat ~/bin/xcompmgr_01

#!/bin/sh
xcompmgr -c -f -F -n &

> cat ~/bin/transset_01

#!/bin/sh
transset .9

после чего повесил на хоткеи команды transset, transset_01, xcompmgr_01, 'killall xcompmgr'. результат более чем скромен, но меня очень радует (учитывая отказ urxvt работать в E17 с "URxvt*inheritPixmap: true"):

четверг, 1 ноября 2007 г.

Взгляд ушастого ламера на компиляцию ядра из исходников... Монолит или модули?

я таки подозревал, что придётся "ответ держать". извольте.

спрашивали?
Attila комментирует...

А вот почему бы не вкомпилить модули, необходимые для работы жёсткого диска, сетевой карты, корневой файловой системы и т.п монолитно? Ядро Linux'a всё-таки относится к монолитным ядрам, пусть и с некоторой поддержкой модульнотсти.
Всё в ядре и вообще никакой мороки с модулЯми?

отвечаем...

любое подобное "включение" приводит к снижению уровня "гибкости" системы. начиная от банальной потери возможности передать модулю какие-то параметры при загрузке и заканчивая тупой аксиомой - "а яго ужо не выгрузишь". примерно процитирую высказывания с LDP о преимуществах использования модулей:

1) нет нужды пересобирать каждый раз ядро;
2) любой баг в ядре гораздо труднее отследить, чем баг в модуле;
3) любой баг в модуле менее критичен, чем баг в самом ядре и отслеживается в разы быстрее (спорно, но это правда);
3) более оптимальное использование памяти компьютера;
4) нет прироста в производительности при жёстком включении.

с учётом вышесказанного никакого смысла нет в ядро пихать даже драйвер корневой файловой системы - Initial Ramdisk придумали явно не зря, не так ли?

морока именно имеет место быть, когда люди от большого ума пытаются засунуть в ядро абсолютно лишние компоненты. история из реальной жизни. один знакомый молодой человек, начитавшись статей многоуважаемого г-на Федорчука, решил поставить себе на ноут Zenwalk. да только не обратил, сердешный, внимания в пылу энтузиазма на фразу: "В Zenwalk функции управления тактовой частотой ноутбучных процессоров вкомпилированы в ядро, а не собраны с виде модуля, как это делается обычно. Поэтому, если обладателя двухгигарецового процессора раздражает работа на тактовой частоте 800 Mhz (а меня, например, это раздражает весьма сильно), то придется пересобирать ядро, чем я намерен заняться в ближайшее время." очень интересная фраза... я буду весьма признателен, если кто-нибудь мне объяснит необходимость пересборки ядра в данном случае. необходимо и достаточно поставить пакет "cpufrequtils" и ознакомиться с man-страницей или просто разобраться в схеме управления параметрами ядра через /proc, /sys. в нашем же случае всё было с точностью до наоборот. ядро Zenwalk-а раскочегарило "Кору-дуру" так, что вентиляторы были готовы "рвануть в небо", а на клавиатуре можно было еду разогревать. пакета "cpufrequtils" знакомый не нашёл (что не повод делать выводы, хотя...), посему тупенько через /sys выставили дефолтный cpu governor на ondemand. и всё. "сковородочка стала остывать".

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

отдельно выделим фразу: "Ядро Linux'a всё-таки относится к монолитным ядрам, пусть и с некоторой поддержкой модульнотсти". а вот в компании Red Hat в "Red Hat Enterprise Linux 4: Руководство по системному администрированию" считают иначе:

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

правда на правду? или всё же RTFM? что и находит подтверждение в LDP: "LKMs did not exist in Linux in the beginning. Anything we use an LKM for today was built into the base kernel at kernel build time instead. LKMs have been around at least since Linux 1.2 (1995)." то бишь с 1995-го года ядро имеет "модульную структуру", а мы всё заикаемся о "некоторой поддержкой модульнотсти" и рвёмся "придется пересобирать ядро, чем я намерен заняться в ближайшее время". вот это и называется "Пиздец", господа, и именно с большой буквы "П".

среда, 31 октября 2007 г.

Взгляд ушастого ламера на компиляцию ядра из исходников...

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

какие могут быть причины для подобного шага? их всего три:

1) использование новых функций, отсутствующих в текущем ядре дистрибутива;
2) оптимизация под текущую конфигурацию "железа";
3) если установлено специфичное оборудование или возникает конфликт аппаратного обеспечения со стандартным ядром

вторая причина довольно неоднозначна, ибо эффект от модернизации самого железа, который достигается за, не побоюсь этого слова, копейки, в разы перекроет любую оптимизацию программного обеспечения. но она же подразумевает сборку ядра без лишних компонентов/модулей, что оправдано для ряда специализированного оборудования. всё остальное - не серьёзно. можно заниматься этиим ради удовлетворения собственного любопытства, можно экспериментировать с флагами опримизации, можно... можно даже встать на уши, разогнаться и впечататься в ближайшую стену - гулять так с музыкой... третью причину ранее смело выносили на первое место, да времена ужо не те.

нюанс... при дороговизне трафика сборка из исходников полностью себя оправдывает. тратить деньги за десяток килобайт на сжатый diff файл или тянуть десяток мегабайт кем-то скомпиленного готового ядра? это справедливо для любых "крупных" пакетов, будь то OpenOffice, kernel, E17 :).

ещё один спорный момент: монолит или модульное? на ваше усмотрение, господа присяжные заседатели. с точки зрения "ламера ушастого" - монолит ноне не нужен.

что нам понадобится из "инструментария":

Meld
( пользователи SuSE имеют в "загашнике" JMeld )
и конфиг ядра дистрибутива, работающего в данный момент (стоит ли напомнить, что желательно иметь одинаковую major версию ядра - например 2.6.*?). предположим, что конфиг вкомпилен в ядро и его можно "достать" командой:

zcat /proc/config.gz

что мы и делаем в качестве нашего первого шага:

zcat /proc/config.gz > /home/USER/config_current

распаковываем исходники нового ядра и выполняем:

make menuconfig

затем выбираем опцию: "Load an Alternate Configuration File" -> /home/USER/config_current
тем самым загружая текущую конфигурацию ядра. после сразу же делаем:
"Save an Alternate Configuration File" -> /home/USER/config_new

всё, что нам осталось сделать, это пройтись meld-ом по этим двум файлам (config_current и config_new) и сформировать наш будущий конфиг с учётом всех новых опций, загрузив его уже известным "Load an Alternate Configuration File". если есть сомнения в параметрах новых опций - ставим "=m", видим явно лишнюю опцию - комментируем, ставя в начало строки "#". желаете описание каждой опции в параметрах конфигурации ядра - читайте документацию. основное правило: в ядро - только необходимый минимум, всё, что только можно, - вынести в модули. именно при таком подходе можно получить выигрыш во времени как при старте системы (подгружая только необходимое), так и по использованию памяти самим ядром.

N.B. товарищ, помни: "автоматом" подгрузить модуль можно, но выгрузить - только "вручную" (как вариант - использовать скрипты-"обвязки").

дальнейшие команды по сборке и установке нового ядра (make dep && make clean успели устареть):

make
make modules
sudo make modules_install
sudo make install

необязательные (но иногда крайне полезные) команды, выполняемые после установки (но до перезагрузки). если внимательно смотреть на вывод предыдущих 2-х команд, то в них нужды особой нет (так как именно они и выполняются в процессе), хотя...:

sudo depmod -a
(sudo depmod -aq)
смотрим на вывод команды и проверяем, какие модули будут активированы при загрузке того или иного установленного в системе ядра и собственно проверяем корректность .map файла нового ядра. эта каманда позволит сравнить загружаемые модули вашего старого/(старых) и только что установленного нового кернела. излишне пожалуй говорить, что практически все проблемы разряда "сабрал новае видро а ано нигрузиццо..." могут/должны быть устранены на этой стадии.

в зависимости от системы можно (естественно при желании) пересобрать Initial RAM Disk командами "mkinitrd" или "mkinitcpio" (обратите внимание на /etc/mkinitcpio.conf !!! отсутствие необходимых опций в нём может привести к провалу при загрузке нового кернела) - читайте справку по опциям. приведу для примера свой /etc/mkinitcpio.conf:

MODULES="pata_via sata_via reiserfs"
BINARIES=""
FILES=""
HOOKS="base udev autodetect pata scsi sata usbinput keymap filesystems"


сие означает, что на чипсете VIA имею IDE и SATA винты, плюс пользую reiserfs. основная же нагрузка падает на HOOKS. для понимания оных - читайте доки и комментарии в самом /etc/mkinitcpio.conf (мне хватило комментариев).

на закуску - несколько интересных статей в продолжение темы:

Ядерная физика для домохозяйки
ещё одна абсолютно чумовая статейка с использованием временных "рэперов" и живым примером перехода от 2.4 до 2.6:
Установка ядра linux-2.6.1 (вместо 2.4.x)

намеренно не затронут вопрос модификации загрузчика (внесения нового ядра в список оного) - ибо пошло и неинтересно.

четверг, 25 октября 2007 г.

Kernel 2.6.23

начитавшись страшилок и пару раз обжёгшись "иду на второй круг"... и сразу же "по полной программе" - ибо к чёрту полумеры:

# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_HZ_1000=y
CONFIG_HZ=1000


(это значит, что переходим на новый диспетчер управления ресурсами и сажаем "под капот" сразу 1000 лошадей :)). запущены: сборка kernel26 2.6.23.1-4, сборка E17-го, OOo, mpd, mplayer, xmms, ffmpeg потрошит авишку, плюс до кучи демонов и служб. имеем (может не совсем удачно, но общий смысл предельно ясен):

top - 21:54:24 up 1:25, 0 users, load average: 3.06, 2.68, 2.39
Tasks: 120 total, 7 running, 117 sleeping, 0 stopped, 0 zombie
Cpu(s): 73.4%us, 25.6%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.7%hi, 0.3%si, 0.0%st
Mem: 1035436k total, 984068k used, 51368k free, 73564k buffers
Swap: 2104472k total, 4k used, 2104468k free, 620396k cached


тормозов и заиканий нет.

из приятного - CONNLIMIT таки внесли в исходники (теперь можно не извращаться с глобальным ограничением количества соединений с одного IP-а). на запись правда примонтировать партицию Mac OS X не рискнул (бэкап староват для такого развлечения).

вердикт: must have! что по-русски значит - все на kernel.org за исходниками!

Заметки (перенесено с rootshell.be)

Поскольку любимый мной rootshell.be закрыли/перенесли с потерей учётной записи - потихоньку буду выкладывать здесь наиболее интересный материал...


ENLIGHTENMENT (E16)

Пару слов об этом замечательном WM-е. Основные грабли - русификация (что характерно). Разберём на примере темы "winter". На самом деле это довольно интимное занятие и оно различается от темы к теме для e16. Моя версия - 0.16.8.7-0.00 из cvs. Как я его собирал - скриптик дан вверху странички, пользуйтесь. Для этой темы надо в 'путь_к_установленному_Вами_e16/share/e16/themes/winter/ttfonts' положить допустим шрифт verdana.ttf и verdanab.ttf (любые шрифты поддерживающие Вашу locale. Dejavu тоже подойдёт (даже лучше будет), но под рукой нету) в дополнение к уже присутствующим (надеюсь) Vera.ttf и VeraBd.ttf и выполнить (от рута)
mkfontscale && mkfontdir
стоя в 'путь_к_установленному_Вами_e16/share/e16/themes/winter/ttfonts'
Затем идём в ~/.e16/cached/cfg и открываем файлик
.*.share.e16.themes.winter.fonts.cfg.preparsed
вместо * у Вас будет что-то написано ессно. Это делается для проверки, дабы избежать внесения изменений в
'путь_к_установленному_Вами_e16/share/e16/themes/winter/fonts.cfg'
и избежать операции "purge cache all". Приводим этот файлик (это - аналог нашего fonts.cfg) вот в такой вид:

1001 1
21 999
font-default "verdanab/7"
font-border "verdanab/7"
font-coords "verdanab/7"
font-dialog "verdana/7"
font-dialog-hilite "verdana/8"
font-epplet "verdana/6"
font-epplet-small "verdana/6"
font-epplet-medium "verdana/8"
font-epplet-large "verdana/10"
font-focus "verdanab/7"
font-iconbox "verdanab/7"
font-init "verdanab/8"
font-menu "verdana/7"
font-pager "verdanab/7"
font-tooltip "verdanab/7"
1000

Всё. Restart. Если заголовки окон в норме - рихтуйте
'путь_к_установленному_Вами_e16/share/e16/themes/winter/fonts.cfg'
и purge cashe all
Самое важное здесь - ставить именно те шрифты, которые поддерживают Вашу locale. Для темы же 'aqua' всё немного по-другому (определение шрифтов разнесено по нескольким конфигурационным файлам), посему - ищите да обрящете...
Тут есть ещё такой "ньюанс" - вполне возможно/вероятно, что для версии 0.16.8.1 данный способ не подойдёт. Посему - upgrade пожалуйста...

Доводим до ума E16...


После длительного перерыва решил продолжить, ибо тема E16 не раскрыта совершенно. Полагаю, что это - лучший WM на сегодня, да и на ближайшее обозримое будущее тоже. Количество тем офрмления для него просто огромно (с версии E 16.8.10 темы требуют доработки):

http://themes.freshmeat.net/browse/60/

Вот что установлено у меня в ~/.e16/themes и на скриншоте - самая верхняя, 23OZ, с которой пришлось чуток повозиться путём рихтовки всех конфигурационных файлов, содержащих инструкции по использованию отсутствующего у меня шрифта/семейства шрифтов "helvetica". Кроме того на скриншоте "gkrellm" с темой "23ozglass" и индикатором писем из темы "CoplandOS". В отличие от "стандартной" темы "winter" в "23OZ" (как и в большинстве старых тем) внимания требуют практически все конфигурационные файлы, ибо стандарта по созданию тем как такового нет до сих пор. Кроме того добавил теме своё собственное звуковое оформление. Для этого достаточно разобраться с файлом ~/.e16/themes/23OZ/sound.cfg (если тема установлена в ~/.e16/themes).

Но основное внимание стоит уделить файлу "~/.e16/bindings.cfg". Он имеет 3 секции:
Aclass BUTTONBINDINGS normal
Aclass DESKBINDINGS normal
Aclass KEYBINDINGS global
соответственно первая в ответе за отклик окон на различные комбинации "щёлканья" мышкой (и опционально - с клавиатурой), вторая - за "кликанье" мышкой (опять же +- клавиатура) на рабочем столе и последняя даёт волю в выборе "горячих" клавиш. Ограничений - практически никаких. Есть утилита для установки некоторых функций "горячих" клавиш в gui - "e16keyedit". Изменения попадут в секцию "Aclass KEYBINDINGS global". Желающие "огласить весь список" могут набрать в консоли:

eesh help full

и очень рекомендуется к прочтению следующий документ:

README

Если мы к примеру добавим в конец файла "~/.e16/bindings.cfg" следующую строку:

KeyDown - F1 menus show windowlist

то по нажатию кнопки "F1" вылетит окно со списком всех запущенных приложений. Понятно, что для "подгонки" приложений под выбранную/созданную тему придётся всё равно "ковырять" настройки gtk/qt, но это уже совсем другая "песня". Ещё пожалуй стоит упомянуть утилиту "e16menuedit2", которая для E-0.16.8 и выше позволяет "визуально" редактировать списки меню с перечнем доступных приложений. Если есть желание расположить на рабочем столе "иконки" для запуска документов или приложений - смотрите в сторону программы idesk. Enlightenment был и остаётся самым красивым и функциональным WM в истории *nix.

вторник, 16 октября 2007 г.

E17 - приятные мелочи (multimedia)

долго думал, писать аль не стоит... судить Вам, Господа. встречайте: Rage - будущий мультимедиа-центр для пользователей E17-го:



это именно мультимедиа - просмотр картинок, DVD, фильмов, броадкаста ТВ по сети с пультом remote control плюс прослушивание аудио-коллекции. но это - в будущем. а на сей момент работает всё, кроме аудио и просмотра картинок - что ну ни капельки не расстраивает, поскольку есть eclair, exhibit, ephoto, entice... для DVD можно устанавливать параметры просмотра в меню:



есть опция Rip (DVD), как её активировать - догадайтесь сами (да, я нонче вредный). найденные на винчестере фильмы отображаются в меню весьма достойно - с двойным предпросмотром в миниатюрных окошках - сценки с самого начала фильма и из "серединки":





это чертовски удобно при наличии огромных коллекций на "винте" (хех, или на подмонтированных фтп серверах с обилием этого добра):



одним словом - зело удобная классная софтина, дающая пользователю с умением кастомизировать гуи E17-го придумать к ней полностью свой интерфейс (окромя всего прочего). как всё это настроить? - читайте в README файле из каталога с исходниками.

удачи!

суббота, 13 октября 2007 г.

SuSE + Enlightenment = угробил целый день

http://download.opensuse.org/repositories/home:/dmitry_serpokryl:/Enlightenment-cvs-core-metapackage/

вот так и никак иначе. да будет свет! сегодня scheduler для x86-64 просто взял отпуск, посему смело можно ставить src.rpm, подключится к интернету и набрать волшебную команду:

> rpmbuild -bb ./enlightenment-cvs-core.spec

оно само вытянет исходники из cvs и скомпилит rpm-ку в /usr/src/packages/RPMS/ваша_архитектура/

(это камешек в огород противников rpm дистрибутивов: коли не умеете "готовить" - так не надо и позориться! а то так и прёт изо всех щелей: "в rpm-based нельзя из исходников компилить"...STFU + RTFM!). такой вот "ответ турецкому султану" получился.

огромную помощь в сём благом начинании оказал альбом "Пепел" (коллекционное издание) группы "Чёрный Обелиск".

P.S. вот так всегда... паришься целый день, а резюме - на 2 строчки + скомпиленные пакеты для SLE_10, OpenSuSE-Factory, OpenSuSE-10.2 и OpenSuSE-10.3... эх....

пятница, 12 октября 2007 г.

OpenSuSE 10.3 fonts for LCD - шрифты...

я всё понимаю... чесслово... но глаза мои не выдержали того ужаса, что идёт по умолчанию в дистрибутиве OpenSuSE-10.3. такого безобразия не было даже в SuSE-8.2!

забирайте (пока не прибили каталог заодно с моим логином :)) :

http://ftp5.gwdg.de/pub/linux/suse/opensuse/repositories/home:/dmitry_serpokryl/openSUSE_10.3/

чего есть:
всё (BI, SWITCH, Apple glyphs...)

чего нет:
* проверки GX/AAT и OpenType таблиц при "открытии" шрифта (бо лишнее)
* патчей "memcpy-fix" и "bitmap", поскольку совершенно некритично. было бы надо - давно засадили бы в исходный код...

пользуйте...

для x86-64 берите srpm и ручками пересобирайте сами, бо что-то там в шайтан-xen-машине не заладилось с билдом (ошибка либо на пустом месте, либо... соберите себе gcc-release дабы не было этих "либо").

там же скоро появится "igmpproxy" и, очень постараюсь, cvs Enlightenment DR-17, а то на версию 016.999.037 без слёз смотреть невозможно.

среда, 10 октября 2007 г.

15 человек на сундук мертвеца! (или песнь о зарытых сокровищах)

лучше будет сказать 17 человек, бо "о бедном гусаре замолвите слово", не во грех сие, но во благо...

недалече как сегодня поставил многоточие после трудов своих над темой E17-го. это стало восхитительным упражнением! оказалось, что по большому счёту создание любого гуи в 17-ом очень похоже на написание программы (синтаксис практически сишный, есть объекты, их описание, источники событий/сигналов, генерация событий/сигналов и их обработка, плюс многое другое из арсенала высокоуровнего языка программирования). EFL программа в идеале не должна содержать элементов визуального интерфейса - это отдано на откуп "темерам"/дизайнерам. всё как у взрослых, причём после такого творчества находиться в прочих WM-ах как-то стало непросто. не могу назвать результат шедевром, хотя на http://www0.get-e.org/ не попал сугубо по соображениям лицензионной чистоты - авторы скачанных мной из интернета изображений не потрудились ответить на запросы о получении разрешения на подобную некоммерческую инициативу. другими словами - слегонца подташнивает (кроме как от E16-го, поскольку первая любовь коррозии не поддаётся, да и темы у 16-го шикарнейшие). пользовался gimp-ом и elicit, чей 20-ти кратный зум любого пикселя экрана с последующим определением палитры оказался незаменимым для подобного рода упражнений. в общеобразовательных целях ознакомился с inkscape - для работы с цветом шрифтов в 17-ом сей тул может пригодиться. откуда столько сложностей? дык... судьба, барин! супротив не попрёшь!

первым делом - пока все остальные ВМ-ы/(гхм... разработчики оных) занимаются неизвестно чем - в 17-ом всё тотально завязано на модель RGBA (и не путайте здесь композит/bling/xcompmgr - оне тут совершенно ни при чём). это значит, что альфа канал является цветообразующим для любого элемента, от шрифтов и до... последнего пикселя. вот кстати про одну из самых любимых тем "крутых перцев" - да-да-да! про шрифты! - и поговорим... очень хотелось в качестве названия этой заметки воспользоваться словом "сасать" и восклицательным знаком - постеснялся... судите сами: для отображения шрифта в любом месте интерфейса может использоваться три значения цвета (естественно каждый из трёх - в RGBA) - это цвет собственно шрифта, цвет его "тени"/shadow и цвет его "окантовки"/outline. плюс к этому - вагон и маленькая тележка эффектов отрисовки начертания. оные эффекты применимы к любому элементу интерфейса (шрифт - не более чем один из них). у меня от открывшихся возможностей чуть "крыша" на поехала - ограничился правда минимальным использованием в своей теме, "вешками чуток тропку разметил" так сказать...

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

и "на закуску", несмотря на то, что продолжать можно вечно (пока не кончатся батарейки) - тотальная модульность. есть canvas - сиречь evas, всё прочее можно смело рассматривать как "включения", что может дать вот такой интересный эффект:



заметили шарик в левом верхнем углу изображений? это - управление альфа каналом, поскольку Evas принял видеофильмы как очередные элементы/объекты управления. для иллюстрации этого подхода к изображениям можно посмотреть на Entice - очень неординарную программу-гляделку:



в создании темы мне очень здорово помогли советами следующие товарищи в алфавитном порядке (разработчики этого WM-а отмечены в начале большой буквой "E"):

boneyfrog (создатель темы "blue_eyed")
E devilhorns (Christopher Michael)
E Rasterman (Carsten Haitzler)
E Ravenlock (Eric Schuele)
E mekius (к стыду своему запамятовал ФИО)
E morlenxus (Brian Miculcy)
E Viktor Kojouharov


нижайший им поклон, хотя... в общем в отместку придётся написать труд "Create E17 Theme From Scratch", после ревизии коего можно будет перевести на русский (вот думаю, стоит ли?) и выложить на том же get-e. комплексного материала в этой области пока нет. всё довольно разрозненно и успело значительно устареть.

P.S. в качестве музыкального сопровождения при создании темы использовался плеер Emphasis, загруженный альбомами SRV и славной группы "Чёрный Обелиск" (земля пухом Стиви и Толику).

P.P.S. насчёт жалоб об отсутствии систрея - читаем здесь:
http://www.freedesktop.org/wiki/Standards_2fsystemtray_2dspec
и здесь (ищем по слову "systray" заметку от Thursday, 2 February 2006):
http://www.rasterman.com/index.php?page=News
в двух словах: нет стандарта - нет и систрея! так-то! пройдите товарищи!


********************************************************************

(всё ещё нужен систрей? ок. поищите trayer или stalonetray)


********************************************************************

пятница, 5 октября 2007 г.

OpenSuSE 10.3 - апгрейд, Господа!

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

Господа и Дамы - проходите прямо!
Бэлла, киса, не скучай!
Сегодня Лонжерон гуляет,
Себе на стол SuSE вставляет!
Маэстро! Сёма! Дай ему на чай!

скоро будет как 10 лет моего поверхностного знакомства с этим замечательным дистрибутивом. он всегда был (и надеюсь останется) лучшим линукс дистрибутивом как для домашнего пользователя, так и для корпоративного сектора. если вы где-то слышите негативные отзывы в его адрес - перед вами очередной экземпляр рода людского не умеющий и/или не желающий (скорее и то и другое) учиться. от суперкомпьютеров (где продукты семейства SuSE доминируют) и до десктопов пользователей - таков спектр его применения. а начиналось всё так:

А было это летом, в восемнадцатый год,
Убили Мишку в Питере с нагана.
На сходке порешили отомстить за него
Ребята загорелые с лимана...

и форкнули в конце 1993-го года Slackware, оставаясь совместимой с ней на уровне пакетов вплоть до версии 4.? (запамятовал).

до сего момента ваш покорный слуга аки набожная монашка осуществлял переход с версии на версию в классическом "миссионерском" стиле:

0. затаривался пивищем (проверено: особенно на критичных серверех без этого никак...)
1. бэкап /etc, /var, /srv
2. /home с незапамятных времён на отдельном винте - тут всё под контролем
3. качал исошки, нарезал и ставил систему, как девственницу перед алтарём
4. восстанавливал конфиги (meld - великая штуковина)
5. усердно молился перед рестартом

но времена нонче иные, о нравственности и душевных ценностях заикаться и не вздумай, бабло тотально изгнало понятие зла из жизни обывателей, да и общение с Archlinux-ом совратило с пути истинного...

итак, борзо наплевав на официальные рекомендации, приступаем к делу!

0. бежим в ларёк за пивом! возвращаемся. в качестве "small handy tool"-а воспользуемся YAST-ом. в отличие от того же smart-а (который идеален при повседневной рутине по апгрейду/удалению/установке новых пакетов) YAST ставит пакет сразу же после его скачивания из сети, сие очень критично при глобальном обновлении системы. smart же сперва качает, а потом ставит, что приводит к курьёзным последствиям в процессе "глобальной индустриализации". рассмотрим типичную ситуацию: в новом релизе изменились версии пакетов db и rpm (rpm зависит от db). YAST качает, "чаго попросють" и "не отходя от кассы" производит окончательный расчёт (используя конструкт наподобие rpm -i --force --nodeps пакет.rpm). что делает smart: качает пакеты в кэш, устанавливает очередь обновления (сперва db, потом rpm, потом может в очередь загнать что-то ещё), а вот как он это ставит - ведает только Аллах, ибо дело закончится тем, что на вашей машине будет установлена новая версия db (плюс новые версии пакетов из очереди до db), стёрт rpm, а smart остановится, вопя в дурнину, что rpm (старый, который ещё висит в памяти как запущенный процесс) отказывается работать со свежим db. как только вы прекратите этот вой smart сразу же потеряет "ниточку" к старому процессу rpm (что приведёт к его удалению из памяти) и вы - счастливый обладатель того, что раньше было известно как здоровая рабочая система. наличие установочного диска плюс chroot конечно же спасут отца русской демократии, да только осадочек в душе уже не вытравить. может это пиздарное поведение и исправили ноне, но своё решение проапгрейдиться с 10.1 до 10.2 smart-ом назвать удачным язык до сих пор не поворачивается (особенно вспоминая обороты русской речи, на которые мой язык таки повернулся при виде подобного)...
нюанс: перед выполнением дальнейших процедур запустим консольку с поддержкой табов (urxvt вполне подойдёт али там gnome-terminal). когда всё обновится в памяти останутся только запущенные процессы, а перед перезагрузкой надобно пару-тройку телодвижений совершить, так что на всякий случай (дабы не лезть в консольный режим Ctl+Alt+F[1-6])...

1. сугубо из уважения к Даме кинем на топчан матрас и поменяем постельное бельё на свежевыстиранное:

2. заполним записную книжку многочисленными адресами нашей новой подруги:

галочку с "Sinchronize Changes with ZENworks" снимать не стоит (сервис запущен, не так ли?), но вот набраться терпения после внесения всех "адресов" и соответствующего подтверждения придётся преизрядно. что оно там делает так долго - загадка сия велика есть, но, учитывая, что писано сие на mono - подобное поведение неудивительно (Превед Иказе, что характерно). я не программист, но как пользователь стараюсь изо всех сил избегать продуктов, базирующихся на mono (сравните например распиаренный во все дыры beagle (и такой же дырявый) с трудягой tracker-ом - результат вам скажет всё сам). характеристика самого Иказы как человека, неспособного довести до конца ни одно дело, и его личные высказывания, включая сам подход к реализации mono, побуждают отказываться от пользования подобными продуктами (по возможности)...
N.B. CD-ROM (DVD-ROM) приводы в качестве источника/репозитория должны быть отключены напрочь!

3. после чего откроем блокнотик на вкладочке Online Update вот в таком ракурсе, нажмём на клавишу "+" и не отпустим её до тех пор, пока не пометим весь список:

4. при этом уже установленные пакеты с более новыми номерами версий, чем в репах 10.3 (выделены красным) останутся незатронутыми - исправляем сие недоразумение (почему? - из-за конфликта библиотек):

5. нажимаем на кнопочку "Check" внизу и продираемся сквозь дебри к солнцу, безжалостно рубя всех шашкой под корень:

6. но в лесу всегда останутся партизаны, требующие наличия под рукой снайперской винтовки:

проводим отстрел, нажав на "Cancel" и вырезая ручками...
7. продолжаем зачистку до получения одобрения со стороны Рейхсканцелярии:

8. отправляем состав в путь со станции "Жмеринка" и расписываем "пульку со скачками":

9. о том, что пора в перезагрузку, догадаться право труда не составит:

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

после нажатия на "Close" стоит проявить вежливость и подождать какое-то время. вежливость говорят ещё никому не помешала. впрочем - "есть у нас ещё дома дела", коими и займёмся до рестарта с Божьей помощью...

перво-наперво сделаем копию /etc/fstab и подрихтуем сам файл, поскольку переход на libata подразумевает определение IDE дисков как скази. например всё, что ранее обзывалось как /dev/hda станет ноне /dev/sda, /dev/hdb -> /dev/sdb и т.д.. можно конечно заранее поменять точки монтирования по меткам или юидам, но по-старинке как-то привычнее. если у нас есть cd-rom/cd-rw (dvd-rom/dvd-rw), то он станет /dev/sr0 соответственно. проверим для очистки совести /etc/X11/xorg.conf (он не должен измениться), перекрестимся и перегружаемся. как? помним запущенную консольку перед всем этим безобразием? вот в ней и рисуем от рута reboot -n.

наивная чукотская девушка! libata... переход... ну да по порядку. после рестарта grub отказался грузить обновлённую систему (что-то ему в нумерации не понравилось). не вопрос! входим в командный режим и рисуем (корень - на /dev/sda5 - не удивляйтесь первой записи):

root (hd2,4)
kernel /boot/vmlinuz-2.6.22.5-31-default
initrd /boot/initrd-2.6.22.5-31-default
boot


опаньки! мир не видел более наглого требования провести вручную процедуру проверки файловой системы (fsck)! уже чуя подвох малюю:

hwinfo | grep \/dev\/

эч! а разметка-то осталась старой! ладненько, 1:0 SuSE открывает счёт (наслушался понимаш крикунов, а правила-то udev-а старые остались!!!). благо есть бэкап:

cp /etc/fstab.old /etc/fstab
reboot -n



после перезагрузки счёт стал 2:0 - ибо всё заработало без малейших усилий. залез в обновлённый YAST и быстренько переписал grub на старое место (в /dev/sda5 ибо в MBR стоит grub Archlinux-а, настроенный грузить всё моё немаленькое хозяйство). так не бывает - думал, глядя на работающий lm_sensors (он без пинков у меня не пахал никогда). зад чуял приближение беды... угу, наши прежние настройки сессий канули в лету (beagle запустился без моего разрешения), кое какие пакеты в пылу страсти тож были возложены на жертвенный алтарь (мой недосмотр, но причина-то - неумение автоматом разрулить зависимости) посему 2:1 и ощущение, что кто-то подкрался незаметно, всё усиливается. а что это у нас с сетью? правильно! "дети прыгали до потолка - папа в козыря попал!" сети нет. вообще нет. исправляем сие досадное недоразумение:

1. default route ушёл погулять - возвращаем!

2. отныне привязка в таблице роутинга к device-id "за отмазу не канает" - жёстко указываем сетевой интерфейс:

без правильно прописанного роутинга у вас есть риск не дождаться результата от replacedefaultroute при pptp (впн) соединении.

3. по старой доброй традиции SuSEfirewall похерил прежние настройки, загнав все интерфейсы в "No zone assigned", тем самым заблокировав весь траффик - правим:


тестировать "Network Manager" у меня нет ни сил ни желания уже не первый год - Kinternet прекрасно справляется со своими функциями. будем считать, что счёт в противостоянии Машина-Хьюман как минимум сравнялся.

настройки наших новых репозиториев (странно... репозиторий, но депозитарий - при одинаковой смысловой нагрузке...) сохранились (что удивительно), только все они в статусе "выключено". включаем в YAST -> Software Repositories и по большому счёту - всё! остальное - рутина (доустановка "потерянных" пакетов, дрова на видео и т.п).

пожелаем же всем остальным и дальше тянуть с интернета установочные диски! мне же в качестве rescue system хватает этого добра, выкачанного для предыдущих версий...

наслаждаемся... (выбор софта - просто супер...)