Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Реализация х-сервера для windows

Итак, какие же программы реализуют работу Х-серве-ра на машине Windows? После непродолжительных поисков мне удалось найти три бесплатных сервера: Gygwin/X, WiredX на Java и условно бесплатный X-Deep/32.

Cygwin/X (http://x.cygwin.com). Широко известная в узких кругах компания Cygwin разрабатывает библиотеку cygwin1.dll для эмуляциии Linux API и занимается переносом на Windows набора популярных утилит GNU. Последние (gec, Id и т. д.) распространяются по лицензии GNU GPL, однако библиотека суд-win1.dll имеет собственную, отличную от GPL, лицензию, в соответствии с которой ее можно использовать в коммерческом программном обеспечении.

Cygwin/X это перенос X Window System на различные виды ОС Windows. Продукт работает на всех видах Windows, начиная с Windows 95 и закапчивая Windows Server 2003. Cygwin/X содержит Х-сервср, библиотеку X и набор стандартных Х-клиентов: xterm, xhost, xclock и др.

WeiredX (http://www.jcraft.com/weiredx). Компания JCraft специализируется на создании коммуникационных программ с использованием технологии Java. Большая часть программного обеспечения распространяется в соответствии с лицензией GNU GPL, в том числе сервер WeiredX. Кроме того, компания распространяет еще один сервер, но под коммерческой лицензией — WiredX.

WeiredX реализует все возможности стандартного Х-сервера, а поставляемый с ним набор утилит расширяет их: JSch организует передачу данных по защищенному каналу, JRexec является клиентом гехес и т. д.

X-Deep/32 (http://www.pexus.com/). К сожалению, на сайте производителя не указаны особенности данного Х-ссрвсра, лишь заявлено о полной совместимости с редакцией X11R6.5.1.

Подготовка машины linux

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

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

С менеджерами дисплеев ситуация несколько сложнее, поскольку с Linux могут поставляться три менеджера: xdm, gclm (Gnome) и kdm (КОЕ). Каждый настраивается различными способами. Мы будем использовать kdm.

Для конфигурации kdm необходимо:

найти файл kdmrc. В разных дистрибутивах он находится в разных каталогах. Например, в Slackware Linux — в /opt/kde/share/config/kdm, в Red Hat Linux — B/etc/X11/xdm;

в файле kdmrc найти раздел [Xdmcp] и задать параметр Enable=true;

в том же каталоге, где расположен kdmrc, имеется файл Xaccess, где описываются X-терминалы, с которых возможно подключаться к менеджеру дисплеев. Чтобы всем разрешить такое подключение, в любую пустую строку необходимо поместить символ «*»;.

в файле /etc/X11/xdm/xdm-config, в начале последней строки в параметре DisplayManager.requestPort следует указать символ "!";

если система X Window на сервере не настроена, т. е. не предполагается работать в графическом режиме на самом сервере, то в файле /etc/X11/xdm/Xservers рекомендуется поставить символ комментария «#» в начале строки local/usr/X11R6/bin/X;

если kdm не был запущен, его следует запустить. Если он уже активен, то следует указать, чтобы он перечитал свой конфигурационный файл — killall -HUP kdm;

убедитесь, что kdm открыл на прослушивание порт 177: netstat -nip I grep 177.

Теперь kdm готов к использованию.

Установка и конфигурация GYGWIN/X

Для установки Gygwin/X достаточно открыть главную страницу сайта и загрузить программу установки setup.exe.

Программу можно установить прямо из Internet или из каталога, куда она была сохранена заранее. Далее следует указать каталог, куда будет установлена программа, а также тип текстовых файлов (UNIX или DOS). Затем в предложенном списке серверов FTP отметить ближайший сервер.

В окне Select Packages необходимо выбрать следующие пакеты:

xorg-x11-base (обязательно устанавливаемый базовый набор);

xorg-x11-bin (рекомендуемый к установке набор содержащий базовые программы: xterm, twm и др.);

xorg-x11 -bin-dlls (рекомендуемый к установке набор с библиотеками, необходимыми для выполнения программ (DLL);

xorg-x11-etc (обязательно устанавливаемый набор с конфигурационными файлами Х-сервера и программ);

xorg-x11-fcyr (рекомендуемый к установке набор с русскими шрифтами);

xorg-x11-fenc (обязательно устанавливаемый);

xorg-x11-fnts (обязательно устанавливаемый);

xorg-x 11 -libs-data (обязательно устанавливаемый набор с библиотеками);

xorg-x11-xwin (обязательно устанавливаемый, Cygwin/X X Server);

xterm: Xterm — X Terminal (рекомендуемый к установке наборе программой X-терминал).

Кроме того, в разделе Net следует включить установку openssh и openssl.

После установки Gygwin/X необходимо настроить. Конфигурационные параметры передаются Gygwin/X при запуске программы XWin.exe в ее командной строке. Для облегчения запуска поставляется специальный файл startxwin.bat.

Если в качестве основного каталога был выбран C:\cygwin, то файл startxwin.bat следует искать в каталоге C:\cygwin\usr\X11R6\bin. В нем необходимо найти строку run XWin -multiwindow -clipboard -silent-dump-error и дописать в конце -xkbrules xorg -xkbmodel pc104 -xkblayout «us.ru» -xkbvariant winkeys -xkboptions «grp:alt_shiftjtoggle». Добавленные параметры позволяют использовать русскую клавиатуру и по своему значению полностью совпадают с аналогичными параметрами конфигурационного файла Х-сервера xorg.conf в Linux.

Работа с CYGWIN/X

После установки программы на рабочем столе создается ярлык Cygwin, посредством которого запускается оболочка bash, так что можно работать со знакомой командной строкой Linux. С ее помощью можно запустить Х-сервер в режиме X-терминала: Х -query 192.168.1.3. Вместо IP-адреса 192.168.1.3 следует указать IP адрес компьютера, где находится менеджер дисплеев kdm. На экране должно появиться приглашение войти в систему на машине Linux (См. Рисунок 1). После входа активизируется оконный менеджер, и теперь можно работать на машине Linux с отображением данных в Windows.

Конечно, такой метод весьма ресурсоемок, поэтому при большом количестве клиентов для Linux следует установить мощный компьютер. Впрочем, Gygwin/X предполагает и другой режим, когда на машине Windows запускается Х-сервер, собственный оконный менеджер и программа эмуляции терминала. В этом случае для запуска используется файл startxwin.bat. Благодаря параметру-multiwindow, который передастся при запуске XWin.exe, каждое приложение будет открываться в своем окне.

При использовании startxwin.bat не происходит подключение Х-сервера как X-терминала, и поэтому на машине Linux не требуется настраивать менеджер дисплеев.

После запуска startxwin.bat появляется окно программы эмуляции терминала. Сначала необходимо разрешить удаленным программам отображать данные на Х-сервере, работающем в Windows. Для этих целей воспользуемся программой xhost: xhost+192.168.1.3. Вместо указанного в примере IP-адреса следует ввести IP-адрес машины Linux, на которой будут запускаться программы.

Потом необходимо зайти на машину с Linux при помощи программы ssh: ssh [email protected] и указать имя пользователя машины Linux и ее IP-адрес.

Теперь сделаем так, чтобы программы, запускаемые на Linux, отображали свои данные в окне на машине Windows. Один из вариантов — использование переменной среды окружения DISPLAY: export DIS-PLAY=192.168.1.2:0.0. Вместо IP-адреса, указанного в примере, следует использовать IP-адрес машины Windows, на которой работает Х-сервер. Программы запускаются обычным образом.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...