Отправляет email-рассылки с помощью сервиса Sendsay

KirovLUG: пользователи Linux в Вятке

Перевод от Акулова Захара

ParallelKnoppix

By Majid Hameed

Перевод на русский: Захар Акулов (hozzzar at kirov dot lug dot ru)

Что такое ParallelKnoppix?

Теория

ParallelKnoppix - это LiveCD, основанный на Knoppix,
произошедшего, в свою очередь, от дистрибутива Debian Linux.
ParallelKnoppix позволяет в считанные минуты создавать
Linux-кластеры, оснащенные инструментарием для распределенных
вычислений, таким, как MPI. Он сохранит вам массу времени,
которое вы бы потратили на конфигурирование вычислительного
окружения. Используя ParallelKnoppix, вы не повредите уже
существующее окружение, поскольку LiveCD работает без
установки на жесткий диск (каталог, созданный на главном узле,
(главный узел - составная единица кластера. - прим. пер.) при
необходимости может быть удален после перезагрузки).

(From http://pareto.uab.es/mcreel/ParallelKnoppix/):

ParallelKnoppix - это вариант Knoppix'а, позволяющий
развернуть кластер для параллельных вычислений, используя
свободные LAM-MPI и/или MPICH реализации MPI. (открытой
спецификации библиотеки передачи сообщений. - прим. пер.)
Если машины оборудованы сетевыми картами PXE, установка и
запуск занимает менее пятнадцати минут.

Предпосылка

Кластеризация - один из наименее затратных методов достижения
преимуществ параллельных вычислений. Кластеризация с
использованием Linux - одна из его ипостасей. Огромное
количество университетов и других организаций имитируют
суперкомпьютеры, объединяя в кластерные узлы персональные
компьютеры, работающие под Linux через Ethernet. Linux был
принят на вооружение научным сообществом для своей
исследовательской работы, поскольку он имеет массу научных
инструментов, таких, как LAM, MPI, PVM, и множество других,
так что Linux прекрасно подходит для параллельных вычислений.
Однако проблема в том, что ученым и программистам приходится
проводить массу настроек программного обеспечения, что
замедляет и усложняет их задачи.

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

ParallelKnoppix - один из таких дистрибутивов. Также доступны
другие LiveCD, например, BCCD и ClusterKnoppix.

Описание

Как и его родственник Knoppix, ParallelKnoppix автоматически
определяет все оборудование и периферию. Я тестировал его как
на D865GBF Intel P-IV, так и на Intel 810C (P-III), и
ParallelKnoppix автоматически настроил все оборудование - мне
не пришлось ничего добавлять. Компьютеры, настроенные с
помощью ParallelKnoppix, используют общий каталог, созданный
на главном узле через NFS (сетевую файловую систему). Главный
узел загружается с компакт-диска, а остальные кластерные узлы
- по сети при помощи сетевых карт PXE (главный узел стартует
DHCP-сервер).

Каждый сервис, необходимый для работы LAM/MPI, настраивается
автоматически. Устанавливаются и стартуют DHCP, NFS, SSH (с
беспарольным входом) - и вы готовы к экспериментам с
программами MPI и другими параллельными приложениями.

Работающий ParallelKnoppix слабо защищен - пароли обычного
пользователя и root'а открыты. Любой, имеющий даже минимальное
представление о ParallelKnoppix может легко получить доступ с
кластеру. Что поделать, ParallelKnoppix - компромисс между
легкостью установки и безопасностью.

[ Если вас заботит безопасность, то ваша кластерная сеть, как
правило, должна быть изолирована как от Internet, так и от
intranet. - Ben ]

Что такое PXE-загрузка?

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

Что делать, если мои сетевые карты не совместимы с PXE?

Вам придется либо установить микросхему с прошивкой Etherboot,
соответствующей вашей сетевой карте либо записать
компакт-диск, используя загрузочный образ. ROM-o-matic.net
динамически генерирует образы Etherboot. (Более подробную
информацию об удаленной загрузке можно также узнать на
ltsp.ru. - прим. пер.)

Где можно получить ParrallelKnoppix

ISO-образ доступен по следующим адресам:

через FTP: ftp://volcano.uab.es/pub/parallelknoppix.iso

через HTTP:
http://pareto.uab.es/mcreel/ParallelKnoppix/parallelknoppix.iso

MD5SUM образа:
http://pareto.uab.es/mcreel/ParallelKnoppix/parallelknoppix-2004-12-16.iso.md5

Проверьте домашнюю страницу, если приведенные ссылки не
работают.

После загрузки образа проверьте его контрольную сумму, чтобы
убедиться в успешности загрузки. Запустите md5sum из командной
строки и сравните возвращенные значения:
md5sum isofilename
В приведенной команде замените isofilename на корректное имя файла.

Если вы по каким-то причинам не используете Linux, можете
скачать md5Summer для Windows. Так же доступна утилита для
DOS.

Если контрольные суммы совпадают, запишите образ на CD или
CDRW. Имейте в виду, для записи образов вам потребуется
программное обеспечение, такое как cdrecord (уж не забудьте...
:) - прим. пер.)

Как это работает?

Существует отличное руководство по ParallelKnoppix в
HTML-формате и PDF-формате c пошаговыми инструкциями,
скриншотами процессов конфигурации и т.п. Ваш CD-ROM,
экспортированный на узлы, с легкостью согласует пятьдесят
компьютеров, однако большее количество узлов не тестировалось.
Я сам тестировал только пять узлов.

Что делать, если работают несколько DHCP-серверов?

Если вы, как и я, работаете с кластером в университете, то
вполне возможно, что вы столкнетесь с действующим
"официальным" DHCP-сервером, и, может быть, другим
PXE-сервером. Когда вы попытаетесь загрузить узлы, используя
сервер терминалов, вполне вероятно,что они загрузятся с уже
существующего PXE-сервера, и получат IP-адреса с официального
сервера, а не с того, который работает на компьютере,
загруженного с ParallelKnoppix CD. Единственное решение этой
проблемы - физически отключить компьютеры, используемые в
качестве кластерных узлов от действующих PXE и/или
DHCP-серверов либо попросить администраторов временно
отключить эти серверы. Если кому-то известно другое решение
этой проблемы, я бы хотел узнать об этом. Мне кажется, это
подразумевает путаницу с miniroot.gz и использование
Rom-o-Matic для создания загрузочных образов PXE. Слишком
ужасно для дальнейших рассуждений... по крайней мере, для
меня.

Как это работает (Summary)

Загружаем главный узел с ParallelKnoppix LiveCD. После
загрузки главного узла исполняется скрип, запускающий
DHCP-сервер, затем разделяется общий рабочий каталог для всех
кластерных узлов, используя NFS, генерируется публичный ключ
для корректной работы SSH (с беспарольной регистрацией), и так
далее. После старта DHCP на главном узле клиенты (кластерные
узлы) загружаются посредством PXE. После успешной загрузки
рабочий каталог копируется в распределенный общий каталог NFS
и программы начинают выполняться в параллельном режиме на
нескольких персональных компьютерах.

Мой опыт

Я - студент старшего курса факультета компьютерных технологий
и мне был поручен проект по решению математической проблемы,
используя MPI в лаборатории параллельных вычислений. В
качестве альтернативы для демонстрации моей MPI-программы в
Linux-окружении я выбрал ParallelKnoppix. После начала
загрузки главного узла с ParallelKnoppix CD в какой-то момент
он попросит указать разрешение - просто нажмите "6", поскольку
это максимально возможное поддерживаемое разрешение. Как
только главный узел загрузится, я запускаю установочный скрипт
(K -> ParallelKnopix -> Setup ParallelKnoppix, согласно
вышеприведенному руководству). Когда скрипт создает
DHCP-сервер, я включаю узлы-клиенты и они начинают загрузку
через PXE. Все узлы успешно загружены.

Затем я копирую мою программу в parallel_knoppix_working и
запускаю ее параллельном режиме. Это в буквальном смысле
просто.

Для запуска компиляции я набираю:
mpicc myprogram.c -o myprogram.bin
Чтобы выполнить программу, я набираю:
mpirun C myprogram.bin

Вывод

"ParallelKnoppix предоставляет очень простое и быстрое
средство для конфигурирования и запуска кластера из
разнородных персональных компьютеров архитектуры IA-32. Он
не предназначен для развертывания постоянного кластера для
нескольких пользователей, это скорее средство для быстрой
установки кластера для индивидуального использования. Сам
ParallelKnoppix CD можно настроить, и конфигурация и
рабочие файлы могут быть использованы в любое другое время,
таким образом это долговременное решение для одного
пользователя."

-- From the ParallelKnoppix Tutorial By Michael Creel

Ссылки

The ParallelKnoppix Homepage
http://pareto.uab.es/mcreel/ParallelKnoppix/

Discussion Paper on Parallel Knoppix By Michael Creel (14th
October 2004)
http://pareto.uab.es/wp/2004/62504.pdf

High Performance Linux Clusters with OSCAR, Rocks, OpenMosix,
and MPI By Joseph D. Sloan
Publisher: O'Reilly Associates
Pub. Date: November 2004
http://safari.oreilly.com/0596005709
http://safari.oreilly.com/?XmlId=0596005709

The Knoppix Homepage
http://www.knopper.net/knoppix/index-en.html
http://www.knoppix.org/
http://www.Knoppix.com
http://www.Knoppix.net

ROM-o-matic.net
http://rom-o-matic.net/

LAM/MPI Parallel Computing
http://www.lam-mpi.org/

LAM/MPI User's Guide
http://www.lam-mpi.org/download/files/7.1.1-user.pdf
Majid Hameed - студент старшего курса факультета компьютерных
технологий Университета Карачи, Sindh, Pakistan. Основные
интересы - искусственный интеллект, операционные системы,
сетевые технологии, программирование и компьютерная графика.

Я - энтузиаст Linux. Я пользуюсь Linux в качестве операционной
системы последние три с половиной года. Я работал с такими
дистрибутивами, как: Red Hat Linux 9, 8, 7.3, 7.2, Slackware
Linux 10, 9.1, Slax, Mandrake Move 2, Knoppix 3.4, Vector
Linux 4.3, и некоторыми другими.

Copyright 2005, Majid Hameed. Released under the Open
Publication license. Linux Gazette is not produced, sponsored,
or endorsed by its prior host, SSC, Inc.

Published in Issue 110 of Linux Gazette, January 2005

Ответить   Fri, 06 May 2005 08:56:09 +0400 (#362625)

 

Ответы:

Как установить Jabber -сервер

By Suramya Tomar

Перевод на русский: Захар Акулов (hozzzar at kirov dot lug dot ru)

1.0 Введение:

Если вам не пришлось провести последние несколько лет вашей
жизни в пещере, то вы наверняка слышали о сервисах мгновенных
сообщений (Instant Messaging, IM - прим. пер.) и о том, как
они изменили мир общения в Интернете. Согласно
http://www.webopedia.com, сервис мгновенных сообщений - это
служба, предупреждающая пользователей о появлении их друзей
или коллег в сети и позволяющая им общаться в реальном времени
через частные каналы. Два наиболее популярных сервиса - это
AOL Instant Messenger (AIM) и MSN Messenger. К сожалению,
большинство наиболее доступных серверов используют
проприетарные протоколы, допускающие общение только с
пользователями той же самой системы. Эти системы несовместимы
между собой и не доступны для разных клиентов.

Jabber - это открытая реализация IM-сервера, способного это
изменить. Он использует потоковые протоколы XML, которые
свободны, открыты и публичны. Эти протоколы были формализованы
организацией Internet Engineering Task Force (IETF) как
испытанные для мгновенных сообщений и утверждены технологии
под названием XMPP. Первые технологии Jabber были разработаны
Джереми Миллером (Jeremie Miller) в 1998 году и теперь
используются по всему миру на тысячах серверов для того, чтобы
миллионы пользователей могли общаться друг с другом.

По сравнению с коммерческими IM-серверами Jabber-сервер имеет
огромное преимущество в том, что, поскольку он открыт, любой
может запустить Jabber-сервер для обслуживания, например,
работы компании или компании приятелей. В этой статье я описал
шаги, которые я сделал, чтобы установить Jabber-сервер и как
мне удалось преодолеть те трудности, с которыми я столкнулся.
Надеюсь, это поможет вам установить свой собственный сервер.

2.0 Предварительная настройка

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

Наверное, вам интересно, что может произойти? Ну, представьте
себе ситуацию: в коде Jabber-сервера найдена ошибка,
вызывающая переполнение буфера. И до выпуска исправлений к
коду некто, ненавидящий вас за то, что вы заняли его место в
пятизвездочном кафетерии узнает, что ваш сервер уязвим и
решает атаковать его. А поскольку ваш сервер запущен от рута,
то вы находитесь во власти хакера, так как он имеет полный
контроль над сервером и может делать с ним все, что ему
заблагорассудится. С другой стороны, если бы ваш сервер
работал от другого пользователя, хакеру пришлось бы приложить
массу усилий для того, чтобы получить права рута и он
непременно бы оставил в вашей системе какие-то следы, которые
помогли бы вам его поймать. Что, я вас убедил? Нет? Ну, тогда
это - ваши проблемы... (В оригинале буквально - "это ваши
похороны..." - прим. пер.)

Для того, чтобы добавить пользователя для сервера, наберите от
рута: adduser jabber. Затем выберите пароль для новой учетной
записи: passwd jabber.

После изменения пароля нам понадобится создать каталог, где
процесс jabberd будет хранить логи и pid'ы. Сделаем это,
набрав следующие команды:

mkdir -p /usr/local/var/jabberd/pid/
mkdir -p /usr/local/var/jabberd/log/

Теперь нам нужно изменить права доступа к этим каталогам для
того, чтобы пользователь jabber мог записывать в них:

chown -R jabber:jabber /usr/local/var/jabberd/pid/
chown -R jabber:jabber /usr/local/var/jabberd/log

2.1 Получение Jabber-сервера

Jabber - это проект Open Source и поэтому существуют различные
реализации Jabber-сервера. Список некоторых из них доступен на
http://www.jabber.org/software/servers.shtml. Я решил
использовать реализацию сервера Jabberd 2.x, так как у меня
уже был исходный код сервера на моем компьютере. Кроме того,
из-за недавнего взлома серверы Jabber Studio не работали и,
пока выяснялось, что произошло, загрузки файлов была
недоступны.

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

2.2 Установка Jabber

Первое, что мы должны сделать после получения исходного кода,
это распаковать его:

tar -zxf jabberd-2.0s2.tar.gz.

Затем сменим рабочий каталог:

cd jabberd-2.0s2

Большое количество опций Jabbber-сервера можно настроить в
предварительной конфигурации. Для того, чтобы посмотреть на
доступные опции, наберите:

./configure --help.

Я решил использовать установки по умолчанию, и я просто
набрал:

./configure

Как только скрипт закончит работу без ошибок, мы можем
продолжить и скомпилировать программу с помощью make. Затем
войдем в систему как рут и установим ее с помощью make
install.(Существует прекрасная программа sudo, пожалуйста,
используйте ее! - прим. пер.)

По умолчанию jabberd использует для хранения своих данных
MySQL, поэтому нам придется установить новую базу данных, к
которой jabberd имел бы доступ. В исходниках jabberd в
подкаталоге "tools" есть скрипт, который весьма облегчит вам
эту работу. Просто наберите:

mysql -u root -p < tools/db-setup.mysql

Наберите пароль администратора MySQL, когда вам это будет
предложено. (Еще раз напоминаю про sudo! - прим. пер.) Этот
скрипт создаст новую базу данных в том виде, который необходим
для работы jabber-сервера. По завершении работы скрипта нам
будет нужно создать пользователя jabberd2 в MySQL для того,
чтобы jabberd мог работать с базой данных. Это можно сделать
следующей командой:

mysql -u root -p

Теперь, когда вам будет предложено, наберите пароль
суперпользователя, (sudo! sudo! sudo! - прим. пер.) и вы
увидите приглашение командной строки MySQL. Наберите следующую
команду:

GRANT select,insert,delete,update ON jabberd2.* to jabberd2 at
localhost IDENTIFIED by 'examplepassword';

заменив "examplepassword" на пароль по вашему выбору. Запустив
эту команду, наберите exit для выхода из программы. Установка
сервера закончена. Теперь нам нужно настроить сервер для
использования.

2.3 Настройка jabberd-сервера

Чтобы настроить сервер, нам придется перейти в католог
jabberd:

cd /usr/local/etc/jabberd/

Затем мы должны подредактировать (от рута) файл sm.xml:
* Откройте sm.xml в вашем любимом текстовом редакторе
* Измените значение ID сети с localhost на
jabber.yoursite.com, предварительно убедившись в том, что
в настройках сети корректно указаны параметры подключения
к DNS-серверу.
* Найдите раздел 'User Options' и раскомментируйте тег
<auto-create/>. Это позволит незарегистрированным
пользователям самостоятельно регистрироваться в системе.
* Если вы хотите, чтобы уже существующий список
пользователей был доступен всем новым пользователям,
раскомментируйте в конце файла:
<roster>/usr/local/etc/jabberd/templates/roster.xml</roste
r>. Скоро мы подойдем к содержанию файла roster.xml.

Закончив редактирование, сохраните sm.xml и покиньте редактор.
Теперь нам нужно поправить файл c2s.xml, поэтому:
* Откройте c2s.xml в вашем любимом текстовом редакторе
* Найдите раздел 'Local network configuration' и измените
<id> с localhost на jabber.yoursite.com
* Сохраните изменения и выйдите из редактора

Настройка сервера завершена. Мы получили базовый
jabber-сервер, позволяющий пользователям регистрироваться в
системе и разговаривать между собой. Однако если мы хотим
иметь возможность создавать чат-румы, нам придется установить
дополнительную программу mu-conference. Это не займет у нас
много времени.

2.4 Создание списка пользователей по умолчанию.

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

Файл шаблона хранится в подкаталоге "templates" и называется
roster.xml. Файл имеет следующий вид:

<query xmlns='jabber:iq:roster'>
<!--
<item name='Buddy Name' jid='JID@H*****.domain' subscription='both'>
<group>BuddyGroup</group>
</item>

</query>

Чтобы добавить необходимых пользователей, нужно
раскомментировать тег <item name> и добавить новую строку для
каждого пользователя. Например, если вы хотите добавить в
список по умолчанию меня и если бы мой JID (Jabber ID) был
suram***@j*****.com, то вход для пользователя с моим
именем выглядел бы так:

<item name='Suramya' jid='suram***@j*****.com' subscription='both'>
<group>Support</group>
</item>

Поле групп указывает клиенту, в какой группе предполагается
хранить каждую учетную запись. В этом случае учетная запись
пользователя Suramya хранится в группе "Support". Все записи
должны быть заключены между тегами <query> </query>, так что
полный файл с единственным пользователем выглядел бы так:

<query xmlns='jabber:iq:roster'>
<item name='Suramya' jid='suram***@j*****.com' subscription='both'>
<group>Support</group>
</item>
</query>

2.5 Установка сервера mu-conference

Перед установкой mu-сервера необходимо установить Jabber
Component Runtime(JCR), который можно получить здесь:
http://jabber.terrapin.com/JCR/jcr-0.1.2.tar.gz. Выполните
следующие шаги:
* Загрузите исходный код: wget
http://jabber.terrapin.com/JCR/jcr-0.1.2.tar.gz
* Распакуйте его: tar -zxf jcr-0.1.2.tar.gz
* Смените рабочий каталог: cd jcr-0.1.2
* Скомпилируйте jcr: make

После успешной компиляции jcr мы можем продолжить установку
mu-conference:
* Загрузите отсюда исходный код mu-conference source в
каталог jcr
* Распакуйте архив: tar -zxf mu-conference-0.6.0.tar.gz
* Скопируйте main.c в каталог src: cp src/main.c
mu-conference-0.6.0/src
* Скопируйте jcomp.mk в каталог src: cp src/jcomp.mk
mu-conference-0.6.0/src
* Перейдите в исходный каталог mu-conference: cd
mu-conference-0.6.0/src
* Скомпилируйте mu-conference: make -f jcomp.m
* Скопируйте бинарный файл mu-conference, созданный в
каталоге jabberd: cp mu-conference /usr/local/bin
* Скопируйте конфигурационный файл в каталог настроек
jabberd: cp ../muc-jcr.xml /usr/local/etc/jabberd/

Теперь нам нужно настроить mu-conference редактированием файла
muc-jcr.xml:
* Откройте muc-jcr.xml в вашем любимом редакторе
* Измените поля name и host на conference.yoursite.com
* Добавьте <user>jabberd</user> перед строкой `secret'
* Измените строки spool, logdir и pidfile на:
+ /usr/local/var/jabberd/spool
+ /usr/local/var/jabberd/log
+ usr/local/var/jabberd/pid
* Создайте каталог spool: mkdir -p
/usr/local/var/jabberd/spool/

Настройка сервера mu-conference окончена и теперь мы готовы
его запустить.

2.5 Запуск сервера Jabberd

Чтобы стартовать сервер, наберите в командной строке:
* Войдите в систему пользователем jabber: su jabber
* Запустите сервер jabberd: /usr/local/bin/jabberd &
* Запустите сервер mu-conference:
/usr/local/bin/mu-conference -c /etc/jabberd/muc-jcr.xml &

3.0 Заключение

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

Благодарю за внимание -

Suramya Tomar
4.0 Document Information/History

Created by: Suramya Tomar
Last updated: 14th February 2005

4.1 Copyright

This document is Copyright 14th July 2005, Suramya Tomar.
It is released to the public under the Creative Commons
Attribution-ShareAlike 1.0 License

4.2 Благодарности

В этом разделе я с удовольствием представляю вам людей, без
которых этот документ, возможно, никогда не увидел бы свет:
* Создателей и мэйнтейнеров сайта http://www.jabber.com,
откуда я собрал информацию
* Alf Eaton за описание шагов, которые он предпринял для
запуска Jabber conference
* Renny Koshy за то, что разрешил мне установку
Jabber-сервера на его машине
* Matt Hoskins и Kevin Walsh за то, что пробудили мой
интерес к Линукс
* Моим друзьям и моей семье за то, что терпели меня, пока я
трудился над этим документом.
Я родился в 1980 году в маленьком госпитале Военно-Воздушных
сил в Hashimara, India. Следующие 18 лет своей жизни я провел
в поездках по Индии, в течении которых я имел удовольствие
учиться в семи разных школах до момента, когда я закончил
обучение. Я начал пользоваться Линуксом в конце 1999 года,
когда один приятель одолжил мне установочный диск Redhat 7.1,
а другой - "пожертвовал" жесткий диск на 6GB. Это случилось
как раз после энного падения моей Win98, и я решил дать
Линуксу шанс. Я попробовал, и почти сразу же "подсел". Через
два года я обновил систему до Redhat 7.3, но когда Redhat
решила прекратить поддержку Redhat 7.3, я перешел на Debian и
с тех пор живу вполне счастливо.

Я люблю много программировать и недавно выяснил, как
расшифровать кучу символов, которую кое-кто называет Perl, и
обнаружил, что мне это нравится. Для вебсайтов я люблю
использовать PHP с движком MySQL, я пишу на C, C++, VB, и
.NET. Также меня интересует компьютерная безопасность и
искусственный интеллект. Я стараюсь прочитать как можно больше
на эти темы.

Кроме работы с компьютером я люблю читать (в основном фэнтэзи
и научную фантастику, однако я прочту все, что угодно, кроме
любовных романов), слушать музыку (любимые исполнители: Shania
Twain, In-Grid, Crystal Waters) и разбирать всякие штуки,
чтобы посмотреть, как они работают.

Если вам скучно и вы хотите узнать обо мне, то посетите мой
сайт: http://www.suramya.com, где вы сможете найти обо мне
много больше информации, чем вам бы хотелось.

Copyright 2005, Suramya Tomar. Released under the Open
Publication license unless otherwise noted in the body of the
article. Linux Gazette is not produced, sponsored, or endorsed
by its prior host, SSC, Inc.

Published in Issue 112 of Linux Gazette, March 2005

Ответить   Sat, 14 May 2005 08:51:34 +0400 (#367354)

 

Как настроить иконки в легких оконных менеджерах

By John Murray

Перевод на русский:Захар Акулов (hozzzar at kirov dot lug dot ru)

About IDesk

Несмотря на огромную популярность GNOME и KDE, большое
количество пользователей предпочитает навороченным
интегрированным средам оконные менеджеры, более простые
и легкие. И не без основания - эффективность использования
быстрых и легких оконных менеджеров, таких как IceWm,
Blackbox, или, например, Windowmaker, зачастую впечатляет,
особенно на слабых машинах.

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

Вообще-то существует несколько способов установить иконки
на ваш рабочий стол - например, вы можете запустить Nautilus
или kdesktop. Однако, эти способы имеют существенные
недостатки - помимо требовательности к системным ресурсам
они могут захватить управление вашим рабочим столом и начать
перехватывать клики мышью, адресованные вашему оконному
менеджеру. (Однажды мне довелось установить Линукс на машину
P-I 90Mhz с 64 Mb памяти. В качестве оконного менеджера мною
был выбран Blackbox из-за его шустрости. В то время я еще
не имел возможности перевести эту статью, поэтому последовал
где-то прочитанному совету и запустил Nautilus. Ничего
не произошло! ps сказал, что Nautilus где-то сидит себе
тихонечко и занимается какими-то своими делами. Я почесал
в затылке и прыгнул в консоль править инициализационные
скрипты, благополучно забыв о своей попытке получить иконки.
Позже, переключившись в X-ы, я обнаружил весьма странное
поведение Blackbox'а - через довольно продолжительные
промежутки времени на рабочем столе появлялись несколько
картинок и тут же исчезали. Вскоре мышь отказалась подчиняться
- клики на рабочем столе то вываливали какие-то меню
с кракозябрами, то приводили к запуску приложений, не имеющих
к моим текущим задачам никакого отношения. - прим. пер.)
В противоположность к ним легковесный и нетребовательный
к ресурсам IDesk не занимается ничем, кроме управлением
иконками, так что ваш оконный менеджер будет себя вести так,
как ему и положено. И, в отличие от некоторых других простых
средств, IDesk ни безыскусен, ни уродлив и поддерживает такие
приятные эффекты, как прозрачность. Вот список возможностей,
представленных на сайте IDesk:
* Выполнение множественных команд shell

* Полностью настраиваемые действия

* Поддержка графического формата PNG

* Поддержка масштабируемой векторной графики (SVG)

* Антиалиасинг шрифтов Xft

* Псевдопрозрачность

* Затенение шрифтов

* Размещение иконок по решетке

* Подсказки при наведении курсора мыши на иконку

* Автоматическое фоновое обновление с помощью Esetroot

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

Получение и установка IDesk

Вы можете получить исходный код с сайта IDesk, кроме того,
там же доступны бинарные пакеты в форматах RPM и deb.
Установка стандартна для каждого формата пакетов и не должна
вызвать затруднений.

Настройка

Перед запуском IDesk вам понадобится создать в своем домашнем
каталоге файл .ideskrc - вы сможете найти пример, который
можно скопировать из файла /usr/share/doc/idesk/README. Этот
файл может быть подредактирован для изменения поведения и вида
IDesk, например, шрифтов и уровня прозрачности. Здесь я привел
содержание своего собственного файла .ideskrc:

table Config
FontName: verdana
FontSize: 12
FontColor: #ffffff
Locked: false
Transparency: 0
Shadow: true
ShadowColor: #000000
ShadowX: 1
ShadowY: 2
Bold: false
ClickDelay: 200
IconSnap: true
SnapWidth: 55
SnapHeight: 100
SnapOrigin: BottomRight
SnapShadow: true
SnapShadowTrans: 200
CaptionOnHover: false
end
table Actions
Lock: control right doubleClk
Reload: middle doubleClk
Drag: left hold
EndDrag: left singleClk
Execute[0]: left doubleClk
Execute[1]: right doubleClk
end

Вам также понадобится подкаталог .idesktop в вашем домашнем
каталоге - для представления каждой иконки idesk использует
маленький текстовый файл (известный как linkfile), и эти
.lnk-файлы находятся в этом подкаталоге. Например:

table Icon
Caption: Gnumeric
Icon: /usr/share/idesk/icons/gnumeric.png
X: 31
Y: 442
Command[0]: gnumeric
Command[1]: gedit ~/.idesktop/gnumeric.lnk
end

Строки Command[0] и Command[1] относятся к левому и правому
кликам мышью соответственно. Не беспокойтесь насчет получения
значений X и Y - вам достаточно перетащить иконки на нужное
место и их положения будут сохранены автоматически.

Новые пользователи, возможно, заинтересуются пакетом
idesk-extras - он содержит набор иконок в формате PNG,
представляющий наиболее общие приложения и задачи, кроме того,
примеры файлов .ideskrc и .lnk.

Глюки и баги

В настоящее время idesk не разрабатывается активно,
и последняя доступная версия имеет номер 0.56. Однако,
несмотря на статус беты, idesk, по крайней мере, на мой
взгляд, ведет себя превосходно, хотя были сообщения об ошибках
и имеется пара несущественных глюков, имейте в виду. Первый
выражается в том, что если вы неправильно настроили один
из .lnk-файлов, скажем, написали неверную команду
или неправильный адрес изображения иконки, то idesk
не запустится. Другими словами, даже если всего одна иконка
неправильно настроена, вы не увидите их все. В этом случае
просто перезапустите idesk из командной строки и сообщения
об ошибках выявят причину.

Другой выражается в позиционировании иконок -
они <<паркованы>> скорее от левого верхнего угла,
чем от центра. И если ваши иконки одного размера - 48x48
наверняка устроит большинство пользователей - они будут
отображены через равные промежутки, однако если размеры иконок
различаются, то они могут располагаться неровно.
John - эникейщик из Orange, Australia. Он пользуется Linux
четыре года и написал несколько Linux related articles.

Copyright 2004, John Murray. Released under the Open
Publication license. Linux Gazette is not produced, sponsored,
or endorsed by its prior host, SSC, Inc.

Published in Issue 105 of Linux Gazette, August 2004

Ответить   Mon, 16 May 2005 11:05:29 +0400 (#368221)

 

Как настроить сабж, чтобы корректно работала дополнительная цифровая
клавиатура (серый плюс - как плюс, цифры - как цифры)?
Видимо, нужно копаться в /usr/share/mc/term. Кто делал?
--

Ответить   Mon, 16 May 2005 11:41:56 +0400 (#368254)