Fluxbox — последняя перезагрузка.
После системного сбоя следует перезагрузка Матрица часть 2 RELOADED
Почему Fluxbox? А вот надоело мне читать блоги и статьи на тему "Как сделать загрузку Убунты за 40 сек" и тому подобные вещи. KDE и Gnome безусловно заслуживают уважения, но:
- Это рабочие среды призванные удовлетворить максимальное количество юзерских требований, громоздкие и универсальные. Швейцарским ножом можно забивать гвозди, но добрый старый молоток сумеет это лучше. Если вы точно знаете что вам нужно, и как это делать, лучше использовать специализированный инструмент.
- Количество глюков и багов в рабочей среде прямо пропорционально размеру кода этой среды.
Fluxbox — красная таблетка
Синяя таблетка — так себе, ни в дугу ни в Красную Армию, зато красная — чистый термояд. (Эпиграф из Матрицы (В переводе Гоблина))
Для того, что бы настаивать что-то нужно знать, что и где настраивать, ну или хотя бы представлять конечный результат. Цель сего опуса — настроить Fluxbox так, чтобы обеспечить комфортную работу, разумеется все нижеприведенное исключительно моё ИМХО, буду рад если это будет кому-нибудь полезным.
Список тем для обучения преподавателей работе со СПО (список программ)
Настоящая статья содержит список основных программ, поставляемых в рамках пакета СПО для школ и вузов. Список ПО взят из "Соглашения об организации работ по внедрению в общеобразовательных учреждениях РФ пакета СПО". Полный текст здесь.
Рассматриваемый пакет основан на дистрибутиве AltLinux с KDE (Русскоязычное сообщество) в качестве основной среды.
Описание ключевых значений стандарта FreeDesktop
Ключевые значения могут быть опциональными(OPTIONAL) или обязательными(REQUIRED). Если ключ опционален, то он может быть, а может и не быть представлен в файле. Однако, если его нет, то реализация стандарта должна корректно обрабатывать данную ситуацию и подставлять некоторое значение по-умолчанию.
Некоторые ключи зависят от других, специфических ключей и имеют значение только если этот специфический ключ так же представлен и установлен в специальное значение. Такие ключи не должны быть использованы, если специфический ключ не представлен или установлен в отличное от необходимого значение. Например, ключ Terminal
может быть использован, только когда значение ключа Type
установлено в Application
.
Если требующий ключ действителен в контексте другого ключа, установленного в специальное значение, то он должен быть представлен, если другой ключ установлен в специальное значение. Например, ключ URL
представлен тогда и только тогда, когда ключ Type
установлен в значение Link
.
Примеры ключей: Name[C], Comment[it].
Таблица 2. Стандартные ключи
| Ключ | Описание | Тип значения | Ключ обязателен? | Тип |
| ''Type'' | Эта спецификация определяет 3 типа элементов рабочего стола: ''Application''(тип 1 - приложение), ''Link''(тип 2 - ссылка) и ''Directory''(тип 3 - директория). Для возможности добавить новые тип в будущем, реализации стандарта должны игнорировать элементы неизвестного типа. | строковый | ДА | |
| ''Version'' | Версия Спецификации Элементов Рабочего стола которой отвечают элементы рабочего стола. Элементы отвечающие с этой версией спецификации должны использовать ''1.0''. Примечание: поле версии не является обязательным. | строковый | НЕТ | 1-3 |
| ''Name'' | Имя приложения, например, "Mozilla" | строка в системной локали | ДА | 1-3 |
| ''GenericName'' | Название класса приложения, например, "Web Browser" | строка в системной локали | НЕТ | 1-3 |
| ''NoDisplay'' | ''NoDisplay'' означает, что "это приложение создано, но не будет отображено в меню". Это может быть полезно для ассоциирования с приложениями по MIME типа, и это дает возможность запускать его прямо из файлового менеджера(или другого приложения), без необходимости создавать пункт в меню для него(есть тысячи хороших причин для этого, включающие такие штуки, как ''netscape -remote'' или ''kfmclient openURL'') | булево | НЕТ | 1-3 |
| ''Comment'' | Подсказка для пункта меню, например "Просмотр страниц в интернете". Значение должно отличаться от значений ключей ''Name'' и ''GenericName''. | строка в системной локали | НЕТ | 1-3 |
| ''Icon'' | Иконка для отображения в менеджере файлов, меню и тд. Если имя является абсллютным путем, будет использован этот файл. Если имя это не абсолютный путь, то будет выбран алгоритм поиска иконки, описанный в [[http://freedesktop.org/wiki/Standards/icon-theme-spec|Спецификации Тем Иконок]]. | строка в системной локали | НЕТ | 1-3 |
| ''Hidden'' | ''Hidden''(скрытый) должно называться ''Deleted''(удаленный). Это означает что-то удаленное пользователем (на этом уровне), что было представлено (на более высоком уровне, например, в системной директории). Это эквивалентно тому, что .desktop-файл не создан ввиду участия пользователя. Это так же может быть использовано для "удаления" созданных файлов (например, в результате переименования) - давая ''make install'' установливать файлы с ключем ''Hidden=true'' в них. | булево | ДА | 1-3 |
| ''OnlyShowIn'', ''NotShowIn'' | Список строк, определяющий в каких окружениях элемент должен/не должен быть показан. Только один из этих ключей может присутствовать в группе (смотри возможные значения [[http://www.freedesktop.org/Standards/menu-spec|здесь]]) | строка(и) | НЕТ | 1 |
| ''TryExec'' | Путь до исполняемого файла, используемый, чтобы определить, действительно ли установлена программа. Если это не абсолютный путь, файл ищется в местах, указанной переменной окружения $PATH. Если файла не существует, или если он не имеет прав на исполнение, элемент может быть проигнорирован. (например не показан в меню) | строка | НЕТ | 1 |
| ''Exec'' | Программа для выполнения, может быть с параметрами. | строка | ДА | 1 |
| ''Path'' | Устанавливает рабочую директорию для запуска для элементов типа ''Application''(приложение). | строка | НЕТ | 1 |
| ''Terminal'' | Устанавливает, должна ли программа запускаться в терминале. | булево | НЕТ | 1 |
| ''MimeType'' | Тип(ы) MIME, поддерживаемые приложением. | булево | НЕТ | 1 |
| ''Categories'' | Группы меню, в которых элемент должен показываться (возможные значения смотри [[http://www.freedesktop.org/Standards/menu-spec| здесь]]) | строка(и) | НЕТ | 1 |
| ''StartupNotify'' | Если ''true'', приложение отправит сообщение ''remove''(об удалении), когда запускается с установленной переменной окружения ''DESKTOP_STARTUP_ID''. Если ''false'', приложение не будет использовать оповещение при запуске (не будут показываться какие-либо окна, прерываться при использовании ''StartupWMClass'' и тд). Если отсутствует, то действия зависят от реализации (считается равным ''false'', используется ''StartupWMClass'' и тд). (дополнительную информацию смотри в [[http://www.freedesktop.org/Standards/startup-notification-spec|Протоколе Оповещения при Запуске]]). | булево | НЕТ | 1 |
| ''StartupWMClass'' | Если определено, то приложение отобразит как минимум одно окно с переданной строкой в качестве ''WM Class'' или ''WM name'' (подробнее смотри в [[http://www.freedesktop.org/Standards/startup-notification-spec|Протоколе Оповещения при Запуске]]). | строка | НЕТ | 1 |
| ''URL'' | Если элемент типа ''Link'', определяет его URL. | строка(и) | ДА | 2 |
Это перевод страницы из спецификации FreeDesktop. Ссылка на оригинал.
Настройка Сканера (USB, LPT) в ОС Linux
Это документ расчитан, прежде всего, на начинающего пользователя ОС Linux, а так же на тех, кому лень самому читать документацию к указанным пакетам.
Отмечу, что я не являюсь экспертом в данной области и операционной системе Linux, поэтому возможно при аписании этого документа были допущены ошибки и неточности. Лучшим источником информации по прежнему остается документация к описываемым пакетам и соответствующие man-страницы. Со всеми замечаниями и предложениями обращайтесь сюда: 4rayven [ at ] gmail [ dot ] com
Настройка ядра для LPT сканера
В ядре Вам необходимо включить поддержку параллельного порта:
Конфигурация ядра 2.4.x
Parallel port support --->
<*> Parallel port support
Конфигурация ядра 2.6.x
Device Drivers --->
Parallel port support --->
<*> Parallel port support
Если Вы любитель модульного ядра - ваше право, хотя в документации к ядру все же рекомендуют включить этот драйвер монолитно. Модуль будет называться parport.
Настройка ядра для USB сканера
Конфигурация ядра 2.4.x
General setup --->
[*] Support for hot-pluggable devices
(Эта опция дает возможность подключать устройства на уже запущенной машине)
File systems --->
[*] /proc file system support
USB support --->
<*> Support for USB
[*] Preliminary USB device filesystem
Поддержка host-контроллера:
<*> UHCI (Intel PIIX4, VIA, ...) support
или
<*> OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support
Что из них следует выбрать Вам зависит от Вашего чипсета. Можно включить сразу оба - хуже не будет, хотя и некрасиво это выглядит.
<*> USB Scanner support
(собственно поддержка USB-сканера)
Конфигурация ядра 2.6.x
General setup --->
[*] Support for hot-pluggable devices
(пояснения см. выше)
File systems --->
Pseudo filesystems --->
[*] /proc file system support
Device Drivers --->
USB support --->
<*> Support for Host-side USB
[*] USB device filesystem
<*> OHCI HCD support</code>
или
<*> UHCI HCD (most Intel and VIA) support
(об этом сказано выше)
На этом конфигурация ядра завершена. Пересобираем ядро и перезагружаем машину.
Установка необходимого программного обеспечения
libusb
Для USB-сканера необходимо скачать и установить библиотеку libusb.
Распаковываем и устанавливаем как обычно:
$ tar -zxvf libusb.tar.gz
$ cd libusb
$ ./configure
$ make
$ make install
(X)SANE
Непосредственно для сканирования существует замечательный программный пакет SANE (с интерфейсом командной строки) и графический интерфейс пользователя для него(на GTK+): XSANE. Любителям командной строки последний пакет не понадобится. Скачать последнюю версию можно отсюда: http://www.sane-project.org/ Обращу Ваше внимание, что мне так и не удалось заставить работать XSANE версии младше 0.92 под ядром 2.6.x.
Распаковываем и устанавливаем как обычно:
$ tar -zxvf sane.tar.gz
$ cd sane
$ ./configure
$ make
$ make install</code>
Если вам нужен GUI, тогда ставим и его:
$ tar -zxvf xsane.tar.gz
$ cd xsane
$ ./configure
$ make
$ make install
Конфигурация sane
Вообще говоря проблематично дать какие-то конкретные рекомендации ввиду того, что сканеры от разных производителей конфигурируются по-разному. Для получения более подробной информации следует набрать команду man sane
В разделе "BACKENDS FOR SCANNERS" этого документа Вcы найдете список всех фирм производителей, сканеры которых поддерживаются, а так же ссылку на конкретную man-страницу для каждого из них. Хочется пожелать Вам удачи. Но все же я попробую помочь и дам несколько примеров из моей практики.
Счастливые обладатели USB-сканеров Mustek теперь могут набрать команду sane-find-scanner
Смотрим что она нам написала. Если среди всего вывода есть вот такое:
# No USB scanners found. If you expected something different, make sure that
# you have loaded a driver for your USB host controller and have installed a # kernel scanner module.
То либо читаем все сначала, либо читаем документацию. man sane все победит! =)
Если же Вы получили что-то подобное:
Можете начинать радоваться жизни и читать ман по scanimage(это для любителей командной строки), ну или просто под иксами дать комманду xsane - там все понятно. Остальные за мной. ----
Опыт подключения LPT-сканера Mustek-1200CP+
С LPT сканерами существует ряд проблем и сложностей, ввиду того, что отвечающие за их работу модули еще находится в стадии разработки. Но, тем не менее, эти устройства вполне работоспособны.
[!] Внимание! Если во время Ваших экспериментов со сканером вы услышите низкий щелкающий звук, НЕМЕДЛЕННО ВЫКЛЮЧИТЕ СКАНЕР!!! [!]
LPT-сканерам Mustek посвящена man-страница sane-mustek_pp. В любом случае, вам лучше прочитать ее пред тем, как что-то делать.
Этот сканер мне удалось победить так: В файле /etc/sane.d/dll.conf
я раскомментировал строку mustek_pp
и в файле /etc/sane.d/mustek_pp.conf
раскоммнетировал строку scanner Mustek-1200CP+ 0x378 cis1200+
Здесь 0x378 - адрес LPT-порта. Возможно вам понадобится указать другое значение(например 0x278 или 0x3BC). Cis1200+ - название драйвера, котрый следует использовать. Указание неправильного драйвера может повредить ваш сканер(но мне повезло, когда я перепутал %) )!
Формат строки можно узнать среди комментариев этого же файла, либо на странице man sane-mustek_pp
После того, как я проделал все вышеуказанные действия сканер заработал! Хочу обратить ваше внимание, что программа sane-find-scanner не способна увидеть LPT-сканер и один из способов проверить его работоспособность - это запустить scanimage или xsane. ----
Опыт подключения сканера Epson Perfection 1670 со слайд модулем
Настройка этого сканера несколько отличается от примеров приведенных выше, но все различия заключаются лишь в необходимости использования дополнительного бинарного файа: ESFW30.BIN
который можно взять на диске с драйверами сканера. Мне удалось найти его в интернете.
Этот сканер подключается бо USB интерфейсу, поэтому файл /etc/sane.d/epson.conf
у меня имеет такой вид: usb /dev/usb/scanner0
Да, всего одна строка! В зависимости от вашего дистрибутива файл устройства, отвечающий за USB сканер может называться и так: /dev/usbscanner0
. Проверьте наличие того или иного файла и исправьте соответствующим образом файл epson.conf
.
Осталось подправить файл /etc/sane.d/snapscan.conf
. Раскомментируйте строки: firmware /etc/sane.d/ESFW30.BIN /dev/usb/scanner0 bus=usb
и измените соответствующим образом путь к указанному файлу.
Вот, собственно, и вся настройка. Сканером можно пользоваться. Слайд адаптер тоже работал можно сказать "как в винде" :) Дело в том, что попавший ко мне экземпляр сканера в режиме сканирования слайдов безбожно глючил как под линуксом, так и под виндой. Причину проявившегося глюка установить так и не удалось, но проблема, видимо, заключалась именно в железе так как проявлялась с прогревом сканера и при сканировании обычных документов все было отлично.
На этом пока все. Больше подопытных сканеров мне пока найти не удалось. Будут еще сканеры - будут и описания их настройки.
Удачи. © Rayven, 2004.