Реализация х-сервера для 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|