Содержание

Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal

Доступ пользователей к флоппи дисководам

Лично я противник установки флоппи-дисководов на Х-терминалах. Во-первых, они пережиток прошлого, своего рода “компьютерный атавизм”. Во-вторых, дискеты постоянно теряют информацию, так как очень часто выходят из строя, и вообще являются крайне ненадежным способом хранения информации. В-третьих, размер дискеты 1,44 Мбайт чрезвычайно мал по сегодняшним меркам (ни тебе песню записать, ни программу, ни фильм). К тому же для передачи файлов есть ftp, web, электронная почта, и даже USB-flash накопители наконец. В общем, слишком много минусом, и совсем мало плюсов.

Но как оказалось на практике, у пользователей свое мнение на этот счет. Нравятся им дискеты и все тут. У кого дома интернета нет, у кого USB-порта для Flash-накопителя, а кто и просто привык. В общем, без флоппи-дисководов им Х-терминалы не понравились.

Для поддержки флоппи-дисководов на Х-терминалах предусмотрен специальный пакет ltsp_floppyd. Установка его на сервер особых проблем не вызывает:

# rpm -ihv ltsp_floppyd-3.0.0-0.i386.rpm

Фактически, в папку /opt/ltsp/i386 устанавливаются два файла: бинарный демон floppyd, и одноименный сценарий запуска этого демона. Работает поддержка флоппи дисковода не совсем обычно, как это принято в Linux (примонтировал, размонтировал), а через пакет mtools (так что, если в вашей системе он не установлен, то сейчас самое время сделать это). Более того, для доступа к дисководу, кроме команд пакета mtools, нужен еще и специальный файловый менеджер, поддерживающий работу через mtools. Правда у данного метода есть и небольшие ограничения:

  1. Х-терминал должен работать в графическом режиме (RUNLEVEL = 5);
  2. Не должен использоваться локальный запуск приложений (LOCAL_APPS = N).

Но обо всем по порядку. Первым делом проверяем, установлен ли пакет mtools:

$ rpm -qi mtools
Name        : mtools                       Relocations: (not relocateable)
Version     : 3.9.8                             Vendor: ASPLinux
Release     : 7                             Build Date: Втр 29 Кві 2003 09:31:08
Install Date: Срд 25 Лют 2004 14:16:48      Build Host: arena.asplinux.ru
Group       : Applications/System           Source RPM: mtools-3.9.8-7.src.rpm
Size        : 325481                           License: GPL
Signature   : DSA/SHA1, Пнд 05 Тра 2003 10:20:01, Key ID c96aa8e69b3c94f4
Packager    : ASPLinux Team 
URL         : http://mtools.linux.lu/
Summary     : Programs for accessing MS-DOS disks without mounting the disks.
Description :
Mtools is a collection of utilities for accessing MS-DOS files.
Mtools allow you to read, write and move around MS-DOS filesystem
files (normally on MS-DOS floppy disks).  Mtools supports Windows95
style long file names, OS/2 XDF disks, and 2m disks.

Mtools should be installed if you need to use MS-DOS disks.

Если получили похожий ответ, то значит пакет mtools уже установлен. Если же на экране написано “package mtools is not installed”, то установите его командой (путь к пакету mtools и его полное название могут отличаться в вашей системе):

# rpm -ihv mtools-3.9.8-7.i386.rpm

Теперь в соответствующем разделе файла /opt/ltsp/i386/etc/lts.conf для Х-терминала с флоппи-дисководом (например, pashax) добавим такой пункт:

[pashax]
... 
       RCFILE_01 = floppyd

Тем самым мы объяснили системе LTSP, что при запуске Х-терминала нужно запускать сценарий floppyd.

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

drive a: file="$DISPLAY" remote 1.44m mformat_only

Чтобы упростить себе жизнь в будущем, при добавлении новых пользователей можно скопировать этот файл в директорию /etc/skel.

Перегружаем Х-терминал и от имени пользователя выполняем команду:

$ mdir a:
 Volume in drive A has no label
 Volume Serial Number is 3030-5761
Directory for A:/

AUTOEXEC BAT      1100 05-05-1999  22:22 
CONFIG   SYS       811 01-16-2004  10:57 
...
DISPLAY  SYS     17239 05-05-1999  22:22 
COUNTRY  SYS     30742 05-05-1999  22:22 
EGA3     CPI     58753 05-05-1999  22:22 
MODE     COM     29911 05-05-1999  22:22 
KEYBRD3  SYS     31633 05-05-1999  22:22 
KEYB     COM     20135 05-05-1999  22:22 
FIX_CIH  EXE     21430 05-05-2004  12:34 
       28 files           1 201 167 bytes
                             26 624 bytes free

Конечно, работать с дискетой в командной строке неудобно, поэтому воспользуемся файловым менеджером, который поддерживает работу с дискетой через mtools. Довольно успешно с этой задачей справляется файловый менеджер проекта KDE – konqueror. Запускаем его и в поле адреса вводим: floppy:/a . После этого вы должны увидеть в окне файлового менеджера содержимое дискеты, которую, я надеюсь, вы предварительно вставили в флоппи-дисковод Х-терминала (см. рис. 9.12):

Рис. 9.12. Окно файлового менеджера Konqueror показывает содержимое дискеты Х-терминала через пакет mtools

На первый взгляд все работает нормально, очень радует то, что не нужно выполнять монтирования. Правда, есть и небольшие исключения, которые омрачают радужную картину поддержки дискет в Х-терминалах. Во-первых, это отсутствие поддержки в именах файлов символов кириллицы. Более того, если создадите на дискете такой файл, то он будете отображаться абракадаброй. Конечно, все опять упирается в двойные стандарты кодовых страниц для имен файлов и системной кодовой страницы. Если в случае с традиционной дискетой достаточно было указать в параметрах монтирования файла /etc/fstab значение codepage=866, то для пакета mtools такой трюк не проходит, так как для этого пакета не существует аналогичной опции. В общем, от использования файлов, названных буквами кириллицы, на Х-терминалах пока придется отказаться.

Не всегда использование файлового менеджера Konqueror оправдано. Как уже было сказано выше, приложения KDE слишком ресурсоемки и изобилуют графическими эффектами, которые увеличивают нагрузку на локальную сеть и сервер. Если вы ищите простой файловый менеджер, который умеет только переписывать файлы с дискеты и на дискету через пакет mtools, то вам должен понравиться MToolsFM, найти который можно на сайте http://mtools.linux.lu.

Мне в руки попал пакет MToolsFM-1.9-3.i386.rpm, установка которого прошла без проблем:

# rpm -ihv MToolsFM-1.9-3.i386.rpm

Внешний вид этого файлового менеджера представлен на рисунке 9.13. К его несомненным преимуществам следует отнести также скромный размер в памяти (VmSize менее 8 Мбайт) и просто моментальную скорость запуска. К тому же, он умеет: копировать файлы с дискеты на жесткий диск и обратно, удалять файлы, переименовывать их и даже создавать новые каталоги. Так же MToolsFM имеет довольно примитивную поддержу операций по работе с архивными файлами и поддержку печати на принтере. Работать с файловым менеджером MToolsFM очень просто, простым выделением файлов при помощи “мышки” можно перемещать их как с дискеты так и на дискету.

Рис. 9.13. Окно файлового менеджера MToolsFM, позволяющего работать с дискетами пользователю Х-терминала через пакет mtools

В заключении рассказа о поддержке флоппи-дисководов на Х-терминалах необходимо сказать, что проблемы букв кириллицы присутствуют и в MToolsFM, правда теперь, все “незнакомые” буквы заменяются символами подчеркивания. Большим неудобством является так же то, что при ошибках чтения с дискеты локальный демон floppyd впадает в жуткую “депрессию” и на все запросы пользователя отвечает:

floppyd_io: Input/output error
Permission denied, authentication failed!
Auth failed: Device locked!Drive 'A:' not supported
Cannot initialize 'A:'

Вывести его из этого "ступора" помогает только принудительная перезагрузка Х-терминала, что, согласитесь, хоть и не сложно, но все же не очень удобно. Следует также отметить еще один способ обеспечения доступа к локальному флоппи-дисководу Х-терминала. Суть его заключается в том, чтобы монтировать его через локальную сеть и для этих целей в рамках проекта LTSP создан специальный демон автоматического монтирования ltsp_autofs. Обязательным условием использования данного пакета является поддержка запуска локальных приложений, но зато в результате вы получаете не только доступ к флоппи-дисководу, а ещё и возможность работы с устройством чтения компакт-дисков. Более детальную информацию ищите в документации к проекту LTSP. В любом случае пример использования флоппи-дисководов на Х-терминалах показывает гибкость настройки и большой потенциал применения этих тонких клиентов, он как бы доказывает, что для Х-терминалов нет ничего не возможного.

Пока интересно, читаем дальше!

На правах рекламы:

Авторское право © Сеник Николай, 2004-2006