ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Казка про те, як Windows і Linux дружили в одній мережі
         

     

    Інформатика, програмування

    Казка про те, як 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/XX Server);

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

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

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

    Якщо в якості основного каталогу був обраний C: cygwin, то файл startxwin.bat слід шукати у каталозі C: cygwinusrX11R6bin. У ньому необхідно знайти рядок 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

    Після якого запускається оболонка 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, на якій працює Х-сервер. Програми запускаються звичайним чином.

    Встановлення та налаштування WEIREDX

    Сервер поставляється у вигляді архіву zip, який досить розпакувати у будь-якому каталозі. Перед запуском у системі необхідно встановити віртуальну машину Java як мінімум версії 1.1.

    В каталозі, де був розпакований архів, з'явиться підкаталог config, p ньому знаходиться всього один конфігураційний файл - props. Всі параметри сервера задаються в цьому файлі.

    В фото props слід знайти параметр weirdx.dis-play.acl, щоб визначити, кому можна відображати дані на це Х-сервер. Наприклад, +192.168.1.3 або просто символ «+», якщо доступ дозволено всім.

    Запуск сервера краще проводити за допомогою спеціального командного файлу з каталогу misc - weirdx-Java2.bat. Потім треба зайти на сервер Linux за допомогою будь-якої програми, що підтримує протокол ssh (наприклад, PuTTY). Як і п випадку з Cygwin/X, це необхідно для визначення змінної DISPLAY і запуску програми.

    WeiredX працював дуже повільно (позначається використання Java), і при відображенні на екрані з'являлися чорні смуги. У цілому якість даного продукту розчарувало, тому знімки екрану з прикладами роботи WeiredX не наводяться.

    Встановлення та налаштування X-DEEP/3

    На сайті X-Deep/32 була відсутня будь-яка документація по продукту, крім FAQ. Установчий файл займав майже 16 Мбайт, а для установки потрібно 43 Мбайт вільного дискового простору.

    Сам процес являє собою звичайну процедуру установки програми Windows. За його завершення була виявлена документація по продукту і дві програми: Х-ссрвер і X Client Launcher.

    Після запуску Х-сервера з'явилося діалогове вікно, де пропонувалося вибрати мережевий інтерфейс, за допомогою якого Х-сервер буде слухати запити (див. Малюнок 2). Потім сервер здійснив пошук доступних відвідай менеджерів дисплеїв і представив їх список.

    Правда, при першій спробі підключитися до менеджера дисплеїв не вдалося: в мережі було потрібно налаштувати коректне перетворення імен. Але після запуску X-Deep/32 можна відкрити вікно налаштувань, де явно вказати машину Linux, до якої слід підключатися.

    І ще одна цікава можливість - зробити головне (root) вікно Х-сервера прозорим (див. Малюнок 3). Тоді на робочому столі Windows буде видно піктограми Linux.

    Але при всій простоті установки і настройки Х-сервер показав себе не з кращого сторони в плані продуктивності - cygwin/X працює набагато швидше. Вбудована в X-Deep/32 можливість дистанційного запуску програм спирається на rsh і гехес. Жоден розсудливий адміністратор ці програми використовувати не буде. Таким чином, у разі X-Deep/32 залишається задовольнятися режимом емуляції Х-терміпала, що не завжди зручно.

    Підсумки

    В результаті перевірки трьох безкоштовних серверів під Windows найбільш прийнятною, на мою думку, є реалізація від Cygwin. Незважаючи на те що Х-сервер від Cygwin вимагає установки майже всієї базової середовища запуску, він працює чудово. І це не дивно, адже він є стандартною реалізацію сервера xorg, зібрану в середовищі cygwin. Відповідно, при конфігурації сервера застосовуються тс ж прийоми, що і в Linux.

    Про WeiredX нічого хорошого сказати не можна. По-перше, дуже повільна. По-друге, для запуску програм потрібна наявність додаткової програми, що дозволяє підключитися до машини Linux.

    X-Deep/32 міг би виявитися кращим вибором, якби в ньому була можливість нормального запуску програм або хоча б вбудований клієнт для віддаленої реєстрації на машині Linux.

    Ймовірно, існують і інші безкоштовні реалізації Х-серверів для Windows, але при швидкому пошуку в Internet їх виявити не вдалося. Можливо, комерційні Х-сервери здатні продемонструвати значно більшу швидкість роботи і легкість конфігурування, адже не дарма ж їх продають (ціни коливаються від 40 до 300 доларів за робоче місце).

    В висновок вважаю за потрібне зазначити, що утримувати робочі місця під управлінням Windows для того, щоб кілька людей могли запускати специфіку Windows програми, на мій погляд, незручно. Простіше виділити один термінальний серв?? р. під управлінням Windows 2000 і розмістити на ньому специфічні програми -- 1C, системи CAD і ін., А на робочих місцях використовувати бездискові робочі станції під управлінням Linux, на яких і запускати rdesktop, термінальний клієнт для Windows. LAN

    Артур Крюков - викладач навчального центру «Спеціаліст». З ним можна зв'язатися за адресою: [email protected].

    Список літератури

    Журнал LAN № 8 2005

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status