Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Обучение от Mail.Ru Group.
Онлайн-университет
для программистов с
гарантией трудоустройства.
Набор открыт!
2004 г.

Cygwin: начинающим пользователям Linux посвящается

Андрей Иванченко, Издательский Дом "КОМИЗДАТ"

Сейчас только ленивый не пишет на тему "Linux против Windows". Но почему против? У обеих систем есть свои плюсы и минусы - и при организации локальной вычислительной сети можно удачно сочетать компьютеры с разными ОС. Если вы начинающий администратор ЛВС или у вас дома есть сеть, вы выросли на продуктах Microsoft и хотите поработать с Linux - может, стоит попробовать?

Желающим скрестить Windows и Linux часто предлагают воспользоваться системой VMWare. Но для начинающего пользователя Linux такой вариант более чем экстремален. Да и вообще, вряд ли стоит экспериментировать на машине с хорошо настроенной Windows, начиненной гигабайтами важной информации. Лучше установить в сети компьютер с Linux и работать на нем через сеть. Для администрирования Linux-машины можно воспользоваться стандартным telnet или, что лично мне нравится больше, putty. Настроив SSH-соединение, можно сразу входить через putty под учетной записью root.

Но многим, особенно начинающим пользователям Linux, трудно привыкнуть к управлению системой из строгой командной строки - им подавай графический или веб-интерфейс. Для таких пользователей есть соответствующие программы - webmin для управления системой и swat для управления сервером samba через веб-интерфейс.

Для удаленного доступа к Linux-машине с помощью графического интерфейса (по X-протоколу) существует несколько программных продуктов, позволяющих запустить X-сервер под управлением Windows. Но все они коммерческие - а ведь нам всегда хочется чего-то хорошего и бесплатного. И такой программный продукт есть, называется он Cygwin.

В состав этого пакета входит не только X-сервер на платформе Windows, но и множество инструментов Linux, портированных на платформу Windows. Пакет программ Cygwin можно свободно скачать из интернета, но объем его таков, что и дешевле, и проще купить все это на компакт-диске.

Установка Cygwin проста - запускаем install и выбираем, какие именно утилиты нам нужны. Маленький совет: установите все предлагаемые пакеты. Потом, после настройки, вы всегда успеете удалить лишние. Если же вы настоящий борец за свободное место на жестком диске, устанавливайте только набор пакетов Xfree86 из cygwin. Устанавливать документацию на японском языке, сервер шрифтов и оконные менеджеры вовсе не обязательно. Да и сами шрифты можно не устанавливать - на linux-машине их и так достаточно, к тому же "правильных".

После установки на компьютере появится каталог cygwin со структурой подкаталогов, аналогичной дереву каталогов Linux. Для того чтобы настроить X-сервер, нужно подкорректировать содержимое файла startxwin.bat, который находится в каталоге cygwin\usr\X11R6\bin - заменить строку запуска:

Start Xwin

на такую:

start XWin -screen 0 1024 710 -query 192.168.4.1 -once

где:

  • -screen 0 1024 710 - номер и размеры дисплея, на который будет выводиться изображение;
  • -query 192.168.4.1 - IP-адрес Linux-машины, которая "слушает" запросы xdmcp;
  • -once говорит о том, что после завершения сеанса работы с удаленной машиной X-сервер нужно выключить.
Наш сервер, какое разрешение хотим, такое и указываем. Например, 879 x 525 при разрешении экрана 1027 x 768

Вероятно, вы обратили внимание на "нестандартное" разрешение дисплея 1024 x 710. Ну и что - наш сервер, какое разрешение хотим, такое и указываем.

Теперь нам необходим конфигурационный файл для запуска Х-сервера - XF86Config. Его можно взять или в Сети, или на своей Linux-машине (в каталоге /etc/X11/XF86Config), если там настроен X-сервер. При вводе текста в кодировке KOI8-R рекомендуется, чтобы в этом файле присутствовали следующие строки:
Option "LeftAlt" "Meta"
Option "RightCtrl" "Control"
Option "XkbLayout" "ru"
Option "XkbOptions" "grp: ctrl_shift_toggle, grp_led: scroll"

В этих строках определяется раскладка и способ переключения между языками ввода. Этот файл должен находиться в каталоге cygwin/etc/X11.

В секциях, описывающих видеокарту, монитор, экран, клавиатуру, ставим устройство "dummy":

Section "Device"
Identifier "dummy"
Driver "dummy"
EndSection
Section "Monitor"
Identifier "dummy"
EndSection
Section "Screen"
Identifier "dummy"
Device "dummy"
Monitor "dummy"
EndSection
Section "ServerLayout"
Identifier "dummy"
Screen "dummy"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection

Теперь пора внести коррективы в файлы на Linux-машине. Чтобы на ней запускались XDM-сессии, следует запустить демон XDM. Я, например, делаю это так: в файле /etc/inittab заменяю строчку:

X:5: respawn:/etc/X11/prefdm -nodeamon

на такую:

X:35: once:/usr/bin/X11/xdm

Тем самым мы подменяем стандартное графическое приглашение для регистрации на приглашение XDM (хотя еще вопрос, какое приглашение "стандартнее": XDM или KDM/GDM). При этом остается возможность получить графический вход на удаленных терминалах, даже если linux-машина запущена с уровнем выполнения 3 (текстовый режим). Но в этом случае xdm-сервер работает нестабильно, лучше запускать linux-машину с уровнем выполнения 5 (графический режим), а в каталоге /etc/sysconfig создать файл desktop, в котором прописать желаемый вид приглашения на регистрацию пользователя в системе - XDM, KDM, GDM:

DISPLAYMANAGER=XDM

В файле xdm-config, чтобы XDM принимал запросы xdmcp, нужно "закомментировать" строку:

! DisplayManager.requestPort: 0

В файле /etc/X11/xdm/Xaccess нужно убрать комментарий в строке:

# * any host can get a login window

- чтобы можно было регистрироваться с любого компьютера или вписать адрес хоста, с которого разрешен прием xdmcp-запросов. Если в файле /etc/sysconfig/desktop указан вид приглашения на регистрацию, отличную от XDM, теряется возможность ограничить доступ для определенных хостов по X-протоколу через файл Xaccess.

Теперь можно запустить X-сервер на Windows-машине из файла Startxwin.bat. Если все настроено правильно, мы получим приглашение зарегистрироваться.

После регистрации перед нами откроется рабочий стол Linux-машины в той графической оболочке (GNOME, KDE и др.), которая выбрана для данного пользователя. Попробуйте ввести в текстовом редакторе русский текст или прочитать файл с русскими буквами - все шрифты отображаются нормально? Если вместо кириллицы выводятся квадратики, значит, необходимо вернуться к правке файла cygwin/etc/X11/XF86Config, найти раздел с описанием путей к шрифтам:

FontPath "/usr/X11R6/lib/X11/fonts/local/"

и закомментировать все эти строчки, а вместо них вписать путь к серверу шрифтов на Linux-машине:

FontPath "tcp/192.168.4.1:7100"

Теперь необходимо установить на Linux-машине автозапуск сервера шрифтов XFS и подкорректировать его файл конфигурации (обычно это /etc/X11/fs/config), закомментировав в нем строчку

и#no listen = tcp

При необходимости добавляем пути к нужным шрифтам в параметр catalogue (у меня, например, русские буквы в программе AbiWord не отображались до тех пор, пока я не добавил к вышеуказанному параметру путь к шрифтам этой программы - /usr/share/AbiSuite/fonts).

Вот и вся настройка. Надеюсь, теперь вам будет легче освоить Linux, имея на компьютере под управлением Windows полноценный рабочий стол этой ОС.

Новости мира IT:

Архив новостей

Последние комментарии:

Релиз ядра Linux 4.14  (6)
Пятница 17.11, 16:12
Apple запустила Pay Cash (2)
Четверг 09.11, 21:15
Loading

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 985 1945361
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2015 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...