420-1 (Сказка о том, как Windows и Linux дружили в одной сети)

2016-07-31СтудИзба

Описание файла

Документ из архива "Сказка о том, как Windows и Linux дружили в одной сети", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "420-1"

Текст из документа "420-1"

Сказка о том, как Windows и Linux дружили в одной сети

Артур Крюков

Если бы не слушатель курсов по Linux, преподавателем которых я являюсь, мне, как человеку, очень долго работающему с Linux, эта мысль вряд ли пришла бы в голову. На первый взгляд кажется, а зачем это вообще нужно? Но по здравому размышлению предложенная идея показалась достаточно интересной, и захотелось посмотреть, как она будет работать на практике.

С чего все началось? После рассмотрения темы, посвященной системе X Window и возможности запуска Х-клиентов и Х-серверов на разных машинах в сети, у слушателя возник вопрос: «А можно ли сделать так. чтобы все критические с точки зрения безопасности приложения выполнялись на Linux, а их вывод отображался на машинах с Windows?»

Вопрос показался странным — зачем устанавливать рабочие станции Windows, если так волнует безопасность? В системе Linux имеется полный набор офисного программного обеспечения, для их использования переобучать персонал почти не приходится. Как рабочая станция Linux - вполне приемлемое и безопасное решение. Разве что специфическое программное обеспечение, наподобие «1C Предприятие», на нем не установишь — для его выполнения потребуется терминальный сервер Windows.

Однако слушатель отверг такое решение, поскольку основными пользователями в его системе были дизайнеры, а им требуется специфичное ПО, отсутствующее в Linux. Проблемы же возникают в основном с программами, где предусмотрен доступ в Internet: с почтовыми клиентами, браузерами и т. п. Установка антивирусных средств и обновление самой системы мало чем помогают. Поэтому, когда он услышал на занятии, что в Linux программа способна физически работать на одной машине, а отображать данные на другой, без потери качества изображения и скорости работы, у слушателя возник вполне естественный, с сто точки зрения, вопрос о возможности отображать данные программ, работающих под управлением Linux, на компьютерах с Windows. Тогда все программы, обращающиеся в Internet, можно перевести на Linux, где они не подвержены вирусам и прочим возможностям взлома. Все файлы, получаемые клиентами из Internet, будут сохраняться исключительно на машине Linux, а там, где установлена Windows, останутся только окна с соответствующими программами.

Об используемых технологиях

В UNIX в качестве графической оболочки применяется система X Window, у которой имеется много различных реализаций - коммерческих, полукоммерческих и т. д. Что касается Linux, то на данный момент в основном используются XFree86 и xorg. Из-за проблем с лицензированием первая система отсутствует в современных дистрибутивах Linux, поэтому все чаще встречается xorg.

X Window построена по принципу клиент-сервер. Однако принцип взаимоотношения клиента и сервера поставлен «с ног на голову». Обычно под сервером или серверным приложением понимают какое-либо программное обеспечение, реализующее хранение информации или сложные вычисления. А клиент — это программа, позволяющая осуществлять управление или получать доступ к информации. В X Window сервер — программа для отрисовки изображения на экране, а назначение клиента — отображать данные на сервере, с использованием функций библиотеки Xlib. Таким образом, сервер X Window содержит драйверы видеокарты, клавиатуры, мыши и других устройств ввода и позволяет клиентским программам «рисовать» на экране монитора. Клиент и сервер могут находиться на различных машинах в сети. Более того, допустимо, чтобы на одном сервере «рисовали» несколько клиентов, каждый из которых выполняется на разных машинах.

Программу с функциями Х-сервера можно расположить на отдельном устройстве или в другой системе в сети - будь то специальное устройство, так называемый X-терминал, или программа для любой операционной системы (в том числе Windows), лишь бы они обеспечивали функционал Х-сервера. Потенциально данные на Х-сервере способен отображать любой Х-клиент, но обычно вводят ограничения и указывают конкретные клиенты.

Для отрисовки окон используется специальное программное обеспечение - оконный менеджер (Window Manager). От него зависит, как выглядят окна и как они себя ведут. Оконный менеджер тоже Х-клиент, т. с. для отображения окон он посылает данные на Х-сервер. Некоторые программы Х-сервера, работающие под управлением Windows, имеют встроенный оконный менеджер.

И еще одна немаловажная для X Window программа - менеджер дисплеев (Display Manager). X-терминал - это устройство, на котором нет ни одной программы. Все программы (Х-клиенты) выполняются на каких-либо машинах, а на X-терминале только отображаются данные. После включения X-терминал подключается по протоколу X Display Manager Connect Protocol (XDMCP) к серверу, где установлен менеджер дисплеев, посредством которого клиент осуществляет вход в систему и запускает оконный менеджер. Так мы получаем полноценное рабочее место на машине UNIX с отображением рабочего стола на машине Windows. Все программы (включая окопный менеджер) будут выполняться на UNIX, а данные представит Windows.

Современные программы, реализующие функции Х-сервера, позволяют полностью эмулировать X-терминал, но они могут обойтись и без эмуляции. Если нет необходимости отображать весь рабочий стол UNIX, конкретные программы можно воспроизводить в отдельном окне Windows, запуская их на машине UNIX, правда, все равно придется заводить на ней учетную запись пользователя и выводить принадлежащие ему данные на Х-сервер.

Реализация х-сервера для 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 user@192.168.1.3 и указать имя пользователя машины Linux и ее IP-адрес.

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

Установка и настройка WEIREDX

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее