Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

  Раздел: Компьютерная документация -> Сети -> Локальные сети

 

Клиент терминального сервера из старого ПК

Ведение

Получилось так, что в школе где я работаю системным администратором накапливаются старые ПК, от 386 до Pemtium II. При этом если эти компьютеры были когда-то куплены и стоят на балансе школы, то выбросить их не просто (нужно списывать с привлечением каких-то фирм и уплатой вознаграждений). Да и люблю я старую технику. В этом году я постоянно думал о том как их можно применить. Наиболее интересным решением показалось мне применение их в качестве клиентов терминального сервера. Как раз зимой мы приобрели более-менее мощный компьютер и выяснили, что от Южного окружного департамента образования нам полагается Windows Server 2003 Standard, а к нему еще и 20 клиентских лицензий (CAL). Раз уж куплено, то грех не воспользоваться. А весной то же окружное управление провело нам семинар по использованию терминалов. На семинаре-презентации нам предложили аппаратный терминал за 300$ (это без монитора, клавиатуры и мыши) и дистрибутив-терминал на базе Linux. Последний за 250 руб (спецальная цена для школ), что было для нас интересно. Так же кто-то из выступающих рассказал, что в одной из школ используется это ПО на терминалах сделанных из 486-х машин. И мне стало любопытно, смогу ли я сделать нечето подобное на базе FreeBSD. Первый прототип я сделал между делом в течении 2-х дней. Два последующих были изготовлены конечно быстрей. О том как это сделать эта статья.

На фото три терминала установленные в медиатеке школы №992, г.Москва.

Получение необходимого ПО

Для создания терминала вам понадобится инсталяционный CD FreeBSD 6.2 и некоторые пакеджи. Инсталяционных CD на самом деле два. Можете скачать оба, хотя со второго вам будет нужен только один пакедж - sudo. О том где скачать образы дисков (ISO-images) на странице http://www.freebsd.org/ru/where.html. Скачивайте дистрибутив для платформы i386. Обратите внимание, что в интернете существует множество зеркальных серверов с которых можно скачать дистрибутив. В этой статье я не стану описывать как создать CD из образа, эта тема достаточно хорошо освещена в интернете. Если вы не хотите скачивать второй CD, то пакедж sudo со второго диска можно взять здесь - sudo-1.6.8.12_1.tbz (~100kB).

В качестве терминального клиента мы будем использовать программу rdesktop. К сожалению эта программа отсутвует в виде пакеджа в дистрибутиве FreeBSD, поэтому скачивайте ее здесь - rdesktop-1.5.0.tbz (~100kB).

Прим.: некоторые браузеры могут попытаться открыть указанные файлы с расширением tbz как веб-страницу, поэтому чтоб нормально скачать их кликните на ссылку правой кнопкой мыши и в открывшемся меню выберите пункт "Сохранить объект как ..."

Запишите файл rdesktop-1.5.0.tbz на дискету, отформатированную в формате MS-DOS (если вы делаете это из Windows, то просто отформатируйте дискету), если вы так же скачали sudo-1.6.8.12_1.tbz, то запишите его туда же.

Теперь у вас есть все что нужно для создания терминала. Хотя нет! Еще нужен старенький компьютер на который вы будете все это устанавливать. Весь процесс тестировался на трех ПК - два с процессором AMD-K6-2/266МГц, памятью 64Мб, со втроенным видео на чипе Sis (материнская плата M571 от PCChips), встроенной звуковой картой С-Media, жестким диском IDE объемом около 1Gb (на одном WD, на другом Samsung), третий с процессором Pentium-I 166Мгц, памятью 64Мб, звуковой картой ISA ESS1868, видеокартой S3Virge/DX, жестким диском Fujitsu 1Gb. CD-привод и дисковод подключались только на время установки и настройки, а в дальнейшем были успешно извлечены и сложены на полку. На первых двух машины установлены PCI-ные сетевые карты Realtek 8139, а на третей D-Link DGE-530T.

Особое внимание хочу обратить на размер жесткого диска. Есть у меня диски по 40Мб, 100Мб и 140Мб (именно МЕГАБАЙТ), но к сожалению воспользоваться ими мы пока не сможем. После установки всего необходимого у вас на жестком диске будет использовано чуть меньше чем 250Мб.

Установка FreeBSD

Первое что вам надо сделать - настроить в BIOS загрузку с CD. О том как это делается можно узнать в документации к материнской плате.

Теперь вставте первый компакт-диск дистрибутива FreeBSD 6.2 в привод и перезагрузитесь. Если все сделано правильно, то через некоторое время вы увидете следующий экран:

На данном этапе вам предлагается в течении 10 секунд выбрать различные варианты загрузки. Вам нужен первый вариант, он же вариант по-умолчанию - "1. Boot FreeBSD [default]". Можете подождать 10 секунд или сразу нажать клавишу Enter.

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

В данном месте программа установки предлагает выбрать вам страну. Для перемещаения по списку используйте клавиши Стрелка вверх и Стрелка вниз. Выберите свою страну (Россия под номером 182) и нажмите клавишу Enter. Программа установки перейдет к следующему экрану:

Прим: для перемещения между элементами интерфейса можно использовать клавишу Tab

Теперь вам предлагается выбрать раскладку клавиатуры клавиатуры. По умолчанию "Russia KOI8-R", и хотя в нашем случае она не очень важна не задумываясь нажмите Enter и вы увидете следующий экран:

Если вы читаете по английски, то, возможно, сейчас вы уже поняли важность момента. Но я поясню. Это главное меню программы установки и конфигурирования FreeBSD - sysinstall. Эта программа часто упоминается в Руководстве FreeBSD. Я так же не буду делать здесь исключение. Замечу только, что далее процесс установки будет описан не так, как в упомянутом документе.

Прежде чем продолжить задайте себе вопрос: вы уверены, что на жестком диске не осталось ценной информации? Если нет, то нажмите клавишу X, затем клавишу Y на следующем экране. Установка завершиться без изменений на жестком диске.

Продолжим. С помощью клавиш стрелок выберите пункт меню "Express" в списке и нажмите клавишу Enter. Программа установки перейдет к разбиению диска на слайсы. Если ваш диск не содержит слайсов, то вы увидете следующий экран:

Руководство FreeBSD. Глава 3. Основы UNIX. 3.5. Организация дисков.:
Каждый раздел-содержащий-файловую-систему хранится на том, что во FreeBSD называется слайс (slice). Слайс -- это термин FreeBSD, то, что обычно называют разделом, и опять же это из-за UNIX основы FreeBSD.

Но вероятней всего вы увидете список не совсем таким. На вашем диске возможно сейчас остались слайсы от других операционных систем. Давайте избавимся от них. Используйте клавиши стрелок для перемщения по списку, а клавишу D для удаления области. Обратите внимание, что в поле Desc указан тип файловой системы и если тип unused (преводится как "не используется"), то слайс не удаляется. Удалите все и вы получите в результате экран с единственной областью типа unused. Цифры скорей всего будут отличаться, но это не важно.

Нажмите клавишу A для автоматического выделения всего дискового пространства под слайс FreeBSD. В результате должно получиться что-то похожее на показанное ниже:

Здесь вам больше ничего не нужно, поэтому нажмите Q для продолжения.

Теперь программа установки предлагает нам установить менеджер загрузки. У вас есть три варианта - "BootMgr", "Standard", "None". Первый вариант нужен в случае если вы устанавливаете FreeBSD совместно с другими операционными системами, третий вариант - не устанавливать загрузчик, соответственно стрелками выберите второй - "Standard" и нажмите Enter. На экране вы увидите следующее:

На данном этапе sysinstall предлагает разбить существующий слайс freebsd на разделы. Разбивать на разделы вы будете по особому. Но никогда не делайте так если вы будете устанавливать FreeBSD у себя на сервере или домашнем компьютере.

Обратите внимание, что в верхней строчке справа, в скобках, указан объем текущего свободного пространства. На снимке экрана это 1023Mb. Слайс мы будем разбивать на два раздела, первый - основная файловая система, а второй - раздел подкачки (swap). Размеры разделов выбирайте по следующему принципу - для раздела подкачки (swap) в два раза больше чем объем оперативной памяти, а для файловой системы все остальное. В моем случае объем оперативной памяти 64Мб, значит размер раздела подкачки 128Мб, а для файловой системы 1023Мб-128Мб=895Мб. Первым создавайте раздел основной файловой системы. Для этого нажмите клавишу C, появится диалоговое окошко в котором программа установки предлагает ввести размер создаваемого раздела. По умолчанию предлагается использовать весь диск, но нам этого не надо, поэтому сотрите цифры в поле ввода с помощью клавиши BackSpace (это такая клавиша со стрелкой над клавишой Enter), в пустом поле наберите нужный вам размер в мегабайтах и в конце препишите MB. В моем случае это 895MB:

Нажмите клавишу Enter. Появится окно с предложением выбрать тип раздела. У вас будет два варианта FS и Swap. FS это соответвенно файловая система, а Swap раздел подкачки:

Выберите FS и нажмите Enter. Далее система попросит вас ввести точку монтирования. Введите обратный слэш "/" и нажмите Enter:

Основной раздел вы разметели. Теперь преступим к созданию раздела подкачки. Нажмите клавишу C. В открывшемся диалоговом окне уже будет указан нужный нам размер (не пугайтесь - это в блоках!), поэтому сразу нажмите Enter:

В качестве типа раздела выберите Swap и нажмите Enter:

Точку монтирования программа спрашивать не будет и вы увидете приблизительно (цифры возможно будут другие) следующее:

Создано (на самом деле еще не создано, а запланировано) два раздела. Свободное пространство на диске должно быть равно нулю. Теперь нажмите Q для завершения операции. Программа предложит выбрать состав устанавливаемого дистрибутива. С помощью стрелки спуститесь по списку до предпоследного элемента "Minimal" и нажмите Пробел. На данном этапе нам нужна система в минимальном составе:

Нажмите клавишу Tab для перехода на кнопку OK и затем клавшу Enter. Появится экран на которм sysinstall предложит выбрать нам источник установки:

Так как наш источник это CD и он же выбран по-умолчанию, то просто нажмите клавишу Enter. На данном этапе изменения на диск все еще не внесены и системы выдаст последнее предупреждение:

Нажмите Enter и пусть процесс установки наконец начнется и какое-то время вам придется наблюдать примерно следующее:

Когда процесс установки завершеится программа предложит вам вернуться в основное меню sysinstall и настроить параметры:

Откажитесь. Выберите No (выбрано по-умолчанию) и нажмите Enter. Программа всеравно откроет главное меню sysinstall. Нажмите клавишу X. Появится предупреждение, что система сейчас будет перезагружена.

Здесь есть один важный момент. Когда система будет перезагружаться, то снова войдите в BIOS и установите загрузку с жесткого диска, а не с CD.

Выберите Yes, нажмите Enter, измените порядок загрузки в BIOS и приступайте к следующему этапу.

Настройка FreeBSD

Знакомство с консолью

Надеюсь, что вы настроили загрузку с жесткого диска и в конце-концов увидели следующий экран:

Сейчас система ожидает ввод имени пользователя (логин). В процесс установки мы не добовляли пользователей, но один всегда существует - root. Под этим именем в операционной системе FreeBSD (да и в прочих юниксоподобных) скрывается главный администратор системы. Чтобы попасть в систему наберите на клавиатуре root и нажмите Enter. Если вы сделали все правильно, то увидите следующий экран:

По-умолчанию операционная система FreeBSD работает в текстовом (консольном) режиме. Здесь все предельно просто - система ожидает команду, вы вводите ее с клавиатуры, система выполняет команду и снова возвращается к ожиданию от вас следующей. Во время выполнения команды иногда происходит вывод информации на экран. С некоторыми необходимыми вам командами вы познакомитесь, а если захотите узнать больше, то почитайте любую книгу по основам Unix.

Вы уже наверное обратили внимание, что система не спрашивала у вас пароль. По-умолчанию пароль отсутвует и первое что вы должны сделаеть это создать пароль для служебной записи администратора - root. Наберите на клавиатуре команду passwd и нажмите Enter

Наберите ваш административный пароль и нажмите Enter. Имейте ввиду, при вводе пароля система не отображает его на экране. После появления надписи "Retype New Password" введите пароль еще раз, ввод пароля завершите, как обычно нажатием клавиши Enter, а пароль тут же запишите в ту книжечку, в которую вы обычно записываете все свои пароли.

В дальнейшем говоря о командах я буду говорить "введите команду какая-то-команда", и вы будете набирать на клавиатуре какая-то-команда и нажимать клавшу Enter для завершения ввода. Более того любой ввод данных (команду, имя пользователя, пароль и т.п.) завершайте нажатием клавиши Enter. Теперь введите команду exit. Система вернулась к запросу имени пользователя. Введите имя пользователя root, а после запроса пароля ("Password:") введите свой пароль.

Если имя и пароль правильные, то система снова готова принимать от вас команды и выполнять их. Следующее на что следует обратить внимание, что таких мест где вы можете вводить команды в вашей системе сейчас восемь. Называются они виртуальные терминалы. Для переключения между ними используйте сочетания клавиш Alt-Fx, т.е. нажимая Alt+F1 мы попадаем на нулевой терминал, Alt+F2 на первый и так далее до Alt+F8. Попробуйте. Обратите внимание, чтобы работать в терминале необходимо сначала ввести имя и пароль. Теперь вернитесь на нулевой терминал. Как вы уже поняли, для это надо нажать сочетание клавиш Alt+F1.

Настройка времени

Сейчас вы продолжите настраивать операционную систему с помощью уже знакомой вам программы sysinstall. Для этого введите команду sysinstall. Перед вами главное меню программы:

С помощью клавиш стрелок или нажав клавишу C выберите пункт меню "Configure" и нажмите Enter. Программа установки перешла в другое меню и теперь предлагает произвести настройку параметров системы. Первое что вам сейчас надо будет сделать, так это настроить часы. По умолчанию система считает что часы вашего компьютера показывают мировое время. Если так и есть, то можете просто пропустить настройку времени и перейти к настройке сети.

Выберите пункт "Time Zone" и нажмите Enter. Теперь sysinstall спрашивает вас устновалено ли время вашего ПК как мировое или как местное:

У вас два варианта ответа: "Yes"- да, установлено как мировое (UTC) и "No" - установлено как местное. Для выбора одного из пунктов используйте клавиши Стрелки влево и Стрелка вправо. Так же можно нажать клавишу Y для выбора первого варианта или N для второго. Так исторически сложилось, что я нахожусь в Москве и время в моих подопечных компьютерах московское, поэтому далее в качестве примера будет использоваться оно. Выберите "No". Если вы выбрали стрелками, то затем нажмите Enter. Теперь программа спрашивает вас в каком регионе вы находитесь:

С помощью стрелок или нажатием клавиши 8 выберите пункт меню "Europe", именно там предположительно находится Российская Федерация, но если вам так же придется иметь дело с другими юниксоподобными системами, то имейте ввиду, что некоторые из них помещают РФ в регион "Asia". Теперь программа предлагает вам выбрать страну в которой вы находитесь. Список стран сформирован в соответвии с выбранным регионом:

Российская Федерация, пункт меню "Russian Federation" под номером 38 в списке. Выберите этот пункт и нажмите Enter. Далее программа предложит вам выбрать часовой пояс относительно Москвы:

Выберите второй пункт "Moscow+00 - west Russia" и нажмите Enter. Далее sysinstall задаст вам дополнительный вопрос:

В качестве ответа выберите "Yes". Думаю, что вы уже знаете как.

Настройка сети

Настройка времени завершена и теперь вы снова находитесь в меню настроки FreeBSD программы sysinstall. Сейчас давайте займемся настройкой сетевого подключения. Предварительно зарезервируйте IP-адрес для своего терминала в соответвии с конфигурацией вашей локальной сети, в статье будет использоваться 192.168.1.200. В программе выберите пункт меню "Networking", нажмите Enter и перед вами появится экран сетевых настроек:

В этом месте программа в основном предлагает произвести настроки различных сетевых служб, но вам нужен будет только один пункт - "Interfaces". Выберите его и нажмите Enter. Появится список возможных вариантов подключения:

Первым пунктом должна быть установленная у вас сетевая карта. В моем случае это re0 (соответсвенно если их у вас две, то вы увидете два пункта re0 и re1). Три последних пункта - plip0, sl0, ppp0, предназначеные для настройки соединения через параллельный или последовательные порты, в этой статье рассматриваться не будут, хотя использование их для терминального клиента так же возможно. Если у вас установлена сетевая карта, но вы видите только последние три пункта, то возможно ваша карта не поддерживается ядром FreeBSD по умолчанию или она не исправна, или что-то еще. Например, встроенная сетевая карта может быть отключена в BIOS.

Привожу список карт поддерживаемых ядром FreeBSD по-умолчанию (GENERIC-ядром). Это вырезка из конфигурационного файла ядра, коментарии начинаются со знака "#", после ключевого слова device буквенное обозначение адаптера. Если у вас сетевая карта из списка, то первым пунктом вы увидете это буквенное обозначение плюс цифровой индекс с номером карты.

# PCI Ethernet NICs.
device     de     # DEC/Intel DC21x4x (``Tulip'')
device     em     # Intel PRO/1000 adapter Gigabit Ethernet Card
device     ixgb     # Intel PRO/10GbE Ethernet Card
device     txp     # 3Com 3cR990 (``Typhoon'')
device     vx     # 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device     miibus     # MII bus support
device     bce     # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device     bfe     # Broadcom BCM440x 10/100 Ethernet
device     bge     # Broadcom BCM570xx Gigabit Ethernet
device     dc     # DEC/Intel 21143 and various workalikes
device     fxp     # Intel EtherExpress PRO/100B (82557, 82558)
device     lge     # Level 1 LXT1001 gigabit Ethernet
device     nge     # NatSemi DP83820 gigabit Ethernet
device     nve     # nVidia nForce MCP on-board Ethernet Networking
device     pcn     # AMD Am79C97x PCI 10/100(precedence over 'lnc')
device     re     # RealTek 8139C+/8169/8169S/8110S
device     rl     # RealTek 8129/8139
device     sf     # Adaptec AIC-6915 (``Starfire'')
device     sis     # Silicon Integrated Systems SiS 900/SiS 7016
device     sk     # SysKonnect SK-984x & SK-982x gigabit Ethernet
device     ste     # Sundance ST201 (D-Link DFE-550TX)
device     stge     # Sundance/Tamarack TC9021 gigabit Ethernet
device     ti     # Alteon Networks Tigon I/II gigabit Ethernet
device     tl     # Texas Instruments ThunderLAN
device     tx     # SMC EtherPower II (83c170 ``EPIC'')
device     vge     # VIA VT612x gigabit Ethernet
device     vr     # VIA Rhine, Rhine II
device     wb     # Winbond W89C840F
device     xl     # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs. pccard NICs included.
device     cs     # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device     ed     # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device     ex     # Intel EtherExpress Pro/10 and Pro/10+
device     ep     # Etherlink III based cards
device     fe     # Fujitsu MB8696x based cards
device     ie     # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device     lnc     # NE2100, NE32-VL Lance Ethernet cards
device     sn     # SMC's 9000 series of Ethernet chips
device     xe     # Xircom pccard Ethernet

# Wireless NIC cards
device     wlan     # 802.11 support
device     wlan_wep     # 802.11 WEP support
device     wlan_ccmp     # 802.11 CCMP support
device     wlan_tkip     # 802.11 TKIP support
device     an     # Aironet 4500/4800 802.11 wireless NICs.
device     ath     # Atheros pci/cardbus NIC's
device     ath_hal     # Atheros HAL (Hardware Access Layer)
device     ath_rate_sample     # SampleRate tx rate control for ath
device     awi     # BayStack 660 and others
device     ral     # Ralink Technology RT2500 wireless NICs.
device     wi     # WaveLAN/Intersil/Symbol 802.11 wireless NICs.

Будем надеятся, что с сетевой картой у вас все впорядке, а далее мы буем делать все на примере Realtek 8139C, обозначенным в списке как re0. Выберите первый пункт в списке сетевых подключений нажмите Enter. На следующем этапе программа задаст вам вопрос "Хотите ли вы попробовать настроить интерфейс для протоколв IPv6?":

Так как IPv6 у нас в стране сейчас встречается не часто, то этот вариант мы рассматривать не будем. Отвечайте нет - "No". Далее программа задаст вопрос "Хотите ли вы настроить DHCP для интерфейса?":

Служба DHCP это служба, которая выдает настройки протокола TCP/IP по запросу. Зная все ее примущества и недостатки у меня не возникло необходимости использовать ее у себя в школьной локальной сети. Поэтому здесь этот вариант не рассматривается, но если кто-то будет делать все то же самое, но с использованием DHCP, то я с радостью добавлю информацию об этом (или ссылку), как дополнение к статье. Для перехода к настройкам протокола TCP/IP с использованием статического IP-адреса выберите "No".

Сейчас программа предлагает вам ввести настройки протокола TCP/IP для вашего интерфейса (сетевой карты). Здесь семь полей ввода: "Host" - доменое имя вашего компьютера (например foo.bar.com), "Domain" - имя домена в состав котрого входит ваш терминал (наример bar.com), "IPv4 Gateway" - IP-адрес шлюза, "Name Server" - IP-адрес DNS-сервера, "IPv4 Address" - IP-адрес сетевого подключения, "Netmask" - маска сети и "Extra options to ifconfig (usually empty)" - дополнительные параметры для программы ifconfig. Так же внизу окна две традиционные кнопки "OK" и "CANCEL". Для перехода между элементами интерфейса (полями ввода и кнопками) вы можете использовать клавшу Tab

В поле "Host" введите имя хоста - terminal01 и нажмите клавшу Tab или клавишу Enter для перехода к следующему полю. Поле "Domain" оставьте пустым. В поле "IPv4 Gateway" впишите адрес шлюза, у меня это 192.168.1.1. В поле "Name Server" можете ничего не писать. В поле "IPv4 Address" введите IP-адрес зарезервированный для терминала, в этой статье это 192.168.1.200. В поле "Netmask" уже прописана маска сети по-умолчанию, здесь это 255.255.255.0. Если у вас другие параметры сети (подсети), то соответвенно введите свои.

С помощью клавиши Tab перейдите на кнопку "OK" и нажмите Enter. Программа задаст вам дополнительный вопрос:

В нашем случае ответ на него не будет иметь значение, поэтому выберите любой. А в окне настроек интерфейсов и сетевых служб выберите пункт "X Exit" для возврата в предыдущее меню.

Настройка мыши

Теперь вам необходимо настроить поддержку мыши. И хотя при работе в текстовом режиме она вам не нужна, такая настройка упростит в дальнейшем настройку графического сервера. В меню настройки FreeBSD программы sysinstall выберите пункт "Mouse" и нажмите Enter. Перед вами откроется экран конфигурирования мыши:

У вас на выбор шесть пунктов: "X Exit" - выход в передыдущее меню, "Enable" - проверка и запуск даемона мышы, "Type" - выбор протокола мыши, "Port" - выбор порта к котрому подключена мышь, "Flags" - параметры передаваемые даемону мыши, "Disable" - отключение даемона мыши.

Руководство FreeBSD. Глава 3. Основы UNIX. 3.8. Даемоны, сигналы, уничтожение процессов:
... Некоторые программы разработаны без поддержки интерфейса пользователя, поэтому они отсоединяются от терминала при первой возможности. Например, веб-сервер целый день отвечает на запросы из сети, и ему как правило не требуется ваше вмешательство. Программы, передающие почту от сервера к серверу -- другой пример приложений этого класса.

Мы называем эти программы даемонами. Даемоны это персонажи греческой мифологии; хорошие или плохие, они были спутниками человека и, вообще говоря, выполняли полезную работу для людей. ...

По-умолчанию указан автоматический выбор протокола мыши, но если хотите, то можете поэксперементировать с этим параметром. Так как основная задача сделать терминал из устаревшего ПК, то мышь скорей всего подключена к последовательному порту (COM-порту) или порту PS/2. Использование USB-мыши так же возможно, но процесс настройки будет другой, а для некоторых старых ПК также понадобиться контроллер PCI-USB (стоит 10-15$).

Выберите пункт "Port", нажмите Enter и вы увидете возможные варианты выбора:

"PS/2" - порт PS/2, "COM1" - последовательный порт 1 и т.д., скажу честно, что последний вариант "BusMouse" никогда не встречал. Выберите порт к котрому подключена мышь, у меня это PS/2 и нажмите Enter. Программа вернулась в предыдущее меню. Теперь выберите пункт "Enable" и опять нажите Enter. Появится следующее окно:

Подвигайте мышь. Если стрелка-курсор так же двигается, то все в порядке, нажмите Enter, если ничего не происходит, то выберите "No", нажмите Enter и поробуйте выбрать другой протокол, порт или другую мышь.

Надеюсь, что настройка мыши у вас прошла успешно. Выберите пункт "X Exit" для возврата в предыдущее меню.

Установка документации (руководств)

Каждая команда FreeBSD имеет стандартную систему помощи, руководство. На слэнге компьютерщиков-юниксойдов это называется мануалы (от англ. manual). Во время установки системы вы их не установили и сейчас вы это сделаете, как мимнимум в одном месте они пригодятся, а особенно любознательные и знающие английский возможно найдут эту системы помощи очень полезной для себя.

И так после настройки мыши вы все еще находитесь в меню "FreeBSD Configuration Menu"программы sysinstall. Среди списка пунктов выберите пункт "Distributions" (он в самом начале списка) и нажмите Enter. В следующем окне выберите пункт "man" и нажмите клавишу пробел.

Далее выберите пункт "X Exit", нажмите Enter и программа запросит у вас источник для установки страниц руководства:

Надеюсь установочный диск все это время продолжал оставться в приводе вашего компьютера, поэтому выберите первый пункт и нажмите Enter. Далее программа начнет установку страниц руководства:

Когда установка завершится перед вам снова появится меню настроки FreeBSD. Здесь нам больше ничего не нужно, поэтому выберите пункт "X Exit", а на следующем окне нажмите X для выхода из программы sysinstall.

Отключение sendmail

Теперь когда вы вернулись в консоль введите команду
echo 'sendmail_enable="NONE"'>>/etc/rc.conf
Эта команда добавит в конфигурационный файл rc.conf строчку sendmail_enable="NONE". Таким образом при следующей загрузке системы не будет запускаться стандартная служба FreeBSD отвечающая за доставку почты. Служба нужная, но не на терминале.

Перезагрузите систему. Для этого введите команду reboot. Когда система загрузится войдите под учетной записью root и мы продолжим.

Прим.: если вы хотите выключить компьютер, то введите команду shutdown -p now.

Настройка звука

Одним из пожеланий нашего координатора по ИТ, моего непосредственного начальства было вопроизведение звука. По умолчанию модули поддержки звука не загружаются при загрузке системы. Давайте иcправим ситуацию.

Для начала надо определить какой именно модуль необходимо загрузить. Как минимум нужен модуль sound. Чтобы загрузить этот модуль введите команду kldload sound. Дополнительно нужно загрузить модуль-драйвер для вашей звуковой карты. Вот здесь вам и пригодятся установленные страницы руководства. Для того, чтобы посмотреть руководство по модулю sound введите команду man sound. В результате на экране появится справочная информация:

Вся справочная информация на экране не помещается, чтобы продвигаться по странице используйте клавши Стрелка вверх, Стрелка вниз, PageUp, PageDown. Как только вы дойдете до конца страницы, то работа программы man завершится, чтобы завершить просмотр не доходя до конца нажмите Q. Таким образом можно получить справочную информацию о любой команде FreeBSD, конфигурационном файле и не только. Просто введите команду man что-то (например man man).

Почти в концы справочной страницы sound вы увидете раздел "SEE ALSO":

В этом разделе перечислены страницы в которых можно найти дополнительную информацию. Особое внимание обратите на те, которые начинаюся с "snd_". Это справочные страницы модулей-драйверов звуковых карт. Соответственно на каждой такой странице есть информация о том какие именно звуковые карты поддерживает этот драйвер. Можно так же по очереди загружать драйвера командой kldload пока не появится новое устройство. Но если вы не совсем понимаете системные сообщения ядра FreeBSD, то можете после каждой загрузки модуля вводить команду mixer. Эта команда введенная без параметров выдает на экран уровни громкости если звуковое устройство сконфигурировано нормально или сообщение "mixer: /dev/mixer: No such file or directory" если утройство не найдено. Например так:

Как вы видите у меня звуковая карта ES1370 и для того, чтобы она работала необходимы два модуля - sound и snd_es137x. Чтобы система загружала эти модули вместе с загрузкой ядра их необходимо добавить в специальный конфигурационный файл - /boot/loader.conf. Для того чтоб это сделать введите две команды:
echo 'sound_load="YES"'>> /boot/loader.conf
и
echo 'snd_es137x_load="YES"'>> /boot/loader.conf

Соответвенно во второй команде должен быть указан тот модуль, который соответвует вашей звуковой карте. Например для карты ESS1868 нужен модуль snd_ess и вторая команда будет уже echo 'snd_ess_load="YES"'>> /boot/loader.conf.

Редактор Easy Editor

В процессе настроки системы вы уже внесли ряд исправлений в кофигурационные файлы системы с помощью команды echo. Но возможно вы ошиблись или опечатались и хотите исправить ситуацию. Для этого можно воспользоваться текстовым редактором. Кончено истинные юниксоиды предпочитают vi, но я таким не отношусь и предпочитаю входящий в состав системы FreeBSD редактор Easy Editor. Запуксается он командой ee, а чтобы сразу открыть в нем файл, необходимо указать этот файл в качестве параметра.

Сейчас вы кратко ознакомитесь с этим редактором. Для запука редактора введите команду ee.

Перед вами основной экран редактора. Меню как такового нет, надписи вверху экрана это подсказки. На самом деле редактор может быть полностью руссифицированным, но для этого необходимо руссифицировать FreeBSD. Сделать это не сложно, но для клиента терминального сервера в этом нет необходимости.

В окне редактора вы можете набрать текст. Работают все основные клавиши - Стрелка вверх, Стрелка вниз, Стрелка вправо, Стрелка влево, Page Up, Page Down, Enter, Delete, BackSpace. Для удаления строки переместите курсор в начало строки и нажмите Ctrl+K. После того как вы завершите редактирование, то нажмите клавишу Esc. Через 2-3 секунды на экране появится меню:

Перемещаться по меню можно с помощью клавиш Стрелка вверх и Стрелка вниз. Нам нужен первый пункт "a) leave editor" - выйти из редактора. Выберите его и нажмите Enter. Появится еще одно меню:

Сейчас редактор, как и положено хорошему редактору перед завершением работы, спрашивает "a) save changes" - сохранить изменения или "b) no save" - не схранять. Выберите первый пункт и нажмите Enter.

Так как в начале мы просто запустили редактор и не указали ему какой файл хотим редактировать, то теперь внизу экрана он просит ввести имя файла. Введите имя файла (например text.txt) и нажмите Enter. Теперь весь ваш текст сохранен в указанном вами файле в текущем каталоге.

Для закрепления навыков владения редактором введите команду ee /boot/loader.conf

Перед вами содержимое файла /boot/loader.conf, в котором указаны модули загружаемые при загрузке системы. В нашем случае это модули необходимые для работы звуковой карты. Если вы ошиблись при вводе команд выше, то можете здесь внести исправления. Теперь выйдете из редактора, сохраните изменения, если нужно, и мы продолжим.

Установка графического сервера

Для того, чтобы ваш терминал работал в графическом режиме необходимо установить графический сервер (так же именуемый X-сервер) и некоторые другие пакеджи. Здесь я не стану рассказывать о том, что это такое, но если вам интересно, то почитайтей Руководство FreeBSD. Глава 5. X Window System.

Надеюсь, что установочный диск все еще в приводе вашего компьютера, если нет то верните его туда. Введите команду sysinstall. В главном меню программы выберите пункт "Configure" нажмите Enter. Затем в меню настроки FreeBSD выберите пункт "Packages" и нажмите Enter. В качестве источника укажите "CD/DVD", свой выбор подтвердите опять же клавишей Enter. Программа прочитает список пакеджей с вашего CD, это процедура может занять некотрое время в зависимости от скорости работы привода. Затем sysinstall выдаст вам список категорий пакеджей:

Вам проще будет работать с полным списком (т.е. весь список пакеджей без категорий), поэтому выберите пункт "All" (выбран сразу) и нажмите Enter для перехода к списку:

Перед вами список пакеджей доступных для установки с двух инсталяционных CD дисков FreeBSD 6.2 отсортированный по алфавиту. Для перемщения по списку используйте клавиши Стрелка вверх и Стрелка вниз. Для того, чтобы отметить пакедж для устновки выберите его в списке и нажмите пробел, чтобы снять отметку нажмите пробел еще раз. О том, что пакедж отмечен свидетельсвует появление "X" слева в квадратных скобках. Если пакеджу для работу требуются другие пакеджы, то программа отметит их автоматически. Вместо "X" у таких пакеджей отметка "D".

Отметьте следующие пакеджы:

  • expat-2.0.0_1
  • fontconfig-2.3.2_6,1
  • freetype2-2.2.1_1
  • libdrm-2.0.2
  • pkg-config-0.21
  • perl-5.8.8
  • xorg-clients-6.9.0_3
  • xorg-fonts-miscbitmaps-6.9.0_1
  • xorg-libraries-6.9.0
  • xorg-server-6.9.0_5

Нажмите клавишу Tab для выбора кнопки "ОК" и затем Enter. На экране отобразится список категорий пакеджей. Нажмите Стрелку вправо для выбора кнопки "Install" и снова Enter. На экране появится список устанавливаемых пакеджей:

Пакеджы отмеченные как зависмые (символом "D") в этом списке отсутвуют (если вы конечно не отметели их еще раз), но они так же будут установленны. Нажмите Enter и программа приступит к установке. Процесс займет какое-то время:

После того, как установка пакеджей завершится программа вернется в уже знакомое вам меню настроки FreeBSD:

Выйдете из программы sysinstall (X -> Enter -> X) и введите команду rehash.

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

Настройка графического сервера

Для начала давайте проверим работу графического серевера, чтобы запустить его введите команду X. Если все впорядке (а скорей всего так и есть), то вы увидете следующий экран:

Крестик в середине экрана это курсор мыши, он должен двигаться когда вы перемщаете мышь. Если он не двигается, то вы не настроили мышь, как это было описано выше. Чтобы завершить работу X-сервера и вернуться в консольный режим нажмите комбинацию клавиш Ctrl+Alt+BackSpace.

На самом деле графический сервер настраивается автоматически, но при этом он пытается использовать режим с максимальным разрешением, что не всегда преемлемо. Если вас устраивает текущее разрешение, то можете пропустить этот раздел. На наших школьных терминалах по умолчанию устанавливалось разрешение 1024х768 или более с глубиной цвета 16 бит, но наиболее оптимальный вариант в нашем случае это 800х600 с глубиной цвета 24 бит. Поэтому требуется небольшая ручная подстройка. Для этого вам понадобиться выполнить пару команд и поработать в текстовом редакторе.

Для начало создайте файл конфигурации с автоматическими настроками, для этого выполните команду X -configure. После выполнения этой команды в текущем каталоге пользователя будет создан файл xorg.conf.new, чтобы посмотреть список файлов в каталоге введите команду ls, файл должен присутвовать в списке. Теперь необходимо скопировать файл в каталог конфигурационных файлов графического сервера, при этом переименовав его. Чтоб сделать это введите команду cp xorg.conf.new /etc/X11/xorg.conf.

Теперь введите команду ee /etc/X11/xorg.conf, чтобы открыть файл для редактирования. Найдите в тексте следующий текст:

Исправте эту часть как написано ниже (нужно для поддержки русской клавиатуры):

Затем найдите строчку Section "Screen". Этот раздел описывает возможные режимы работы. Далее после строчки Monitor "Monitor0" добавьте строчку DefaultDepth 24, чтоб установить глубину цвета 24 бит:

Теперь среди описания различных режимов найдите тот, которой содержит строчку Depth 24 (почти в самом конце), после него добавтье Modes "800x600":

Выйдете из редактора с сохранением файла. Теперь запустите графический сервер командой X, если сервер не запускается, то скорей всего ваша видеокарта не поддерживает режим 800х600х24 и вам надо выбрать другой. Если все прошло успешно, то завершите работу графического сервера и мы продолжим.

Установка rdesktop и sudo

В качестве клиента терминального сервера (тонкого клиента) Windows Server 2003 работающего по протоколу RDPv5 будет использован rdesktop (официальная страница проекта http://www.rdesktop.org). Надеюсь, что вы уже скачали собранный пакедж rdesktop и записали его на дискету, как это было рекомендовано в начале статьи. Так же возможно вы уже записали на эту же дискету пакедж sudo или у вас есть в наличии второй установочный компакт диск FreeBSD 6.2.

Вставтье упомянутую дискету в дисковод. Чтобы прочитать данные со сменного носителя его надо сначала смонтировать. Для этого введите команду mount_msdosfs /dev/fd0 /mnt. Теперь файлы содержащие на дискете доступны, как файлы лежащие в каталоге /mnt. Можете убедиться в этом введя команду ls /mnt. Чтобы скопировать файлы с дискеты в каталог пользователя /root введите команду cp /mnt/* /root. Теперь отмонтируйте дискету, для этого введите команду umount /mnt.

Не извлекайте дискету из дисковода до завершения работы команды umount - это может привести к ошибке и перезагрузке системы.

Для установки пакеджа rdesktop введите команду pkg_add /root/rdesktop-1.5.0.tbz, если пакедж sudo так же был записан у вас на дискете, то введите команду pkg_add /root/sudo-1.6.8.12_1.tbz.

Если вы хотите установить пакедж sudo со второго компакт диска, то вставьте его в привод. Затем введите команду mount /cdrom, а затем команду pkg_add /cdrom/packages/All/sudo-1.6.8.12_1.tbz. Теперь введите команду umount /cdrom и можете извлечь компакт-диск из привода.

Настройки на сервере Windows

На сервере Windows Server 2003 вам необходимо будет развернуть Службу терминалов и при необходимости установить клиентские лицензии(CAL). О том как это сделать достаточно много документации и я это описывать здесь не буду. Так же заведите на сервера пользователя и сделайте его членом группы "Пользователи удаленного рабочего стола" ("Remote Desktop Users"). Для примера в статье будет использоваться пользователь terminal01 с паролем p12345, IP-адрес сервера 192.168.1.100. Чтобы включить звук и разрешить использовать глубину цвета 24 бит изментите соответвующие настройки протокола RDP на серевере.

Проверка

Сейчас вы установили все необходимые компоненты, поэтому сможете проверить работоспособность системы. Для запуска графического сервера введите команду xinit. Сразу после запуска сервера запустится виртуальный терминал xterm:

В окне виртуального терминала введите команду rdesktop -k en-us -r sound:local 192.168.1.100. Следите за тем, чтобы курсор мышы был в окне терминала. Если все сделано правильно, то вы увидете типичное приглашение Windows для ввода логина и пароля:

Войдите на сервер с использованием имени пользователя terminal01 и паролем p12345. Если настройки на сервере сделаны правильно, то вы увидете знакомы вам рабочий стол Windows и возможно даже услышите соответвующий звук:

Выйдите из Windows стандартным способом (Меню Start -> Пункт меню Log Off -> Кнопка Log Off) и перед вам снова появится X-сервер с запущенным виртуальным терминалом xterm. В окне терминала введите команду exit. Это завершит работу графического сервера и вернет вас в консольный режим.

Окончательная настройка

Вы видете, что все работает. Теперь необходимо собрать всю систему в нечто единое. Здесь возможны варианты, но в этой статье вам будет предложен способ используемый у нас в школе. После включения компьютера загружается система и появляется окно запроса логина и пароля, пользователь вводит соответвующие данные, далее запускается rdesktop и открывается сеанс Windows. Когда сеанс работы завершается, компьютер выключается. На всех трех наших терминалах кроме учетной записиси root заведена еще одна - terminal с паролем 12345. Думаю что со временем я вообще уберу запрос пароля, но в этой статье будет описан текущий вариант.

Первое, что вам надо сделать это добавить еще одного пользователя. Введите команду adduser.

  • На экаране появится текст "Username:". Это система просит вас ввести вас имя пользователя, введите terminal и нажмите Enter.
  • Далее появится "Full name:". Теперь система просит вас ввести полное имя пользователя, в нашем случае это не имеет значения, поэтому просто нажмите Enter.
  • Следующее сообщение "Uid (Leave empty for default):" - числовой идентификатор пользователя, нажмите Enter и значение будет присвоено автоматически.
  • "Login group [terminal]:" - группа членом которой является пользователь, по-умолчанию совпадает с именем учетной записи, нажмите Enter.
  • "Login group is terminal. Invite terminal into other groups? []:" - система подтвержает, что пользователь будет членом группы terminal и спрашивает в какие еще группы его включить, нажмите Enter, чтобы не добавлять пользователя в другие группы.
  • "Login class [default]:" - класс пользователя, по умолчанию default, нажмите Enter.
  • "Shell (sh csh tcsh nologin) [sh]:" - предлагется выбрать командный процессор, когда вы заходите как root, то вы работаете с csh, здесь вам по-умолчанию предлагается sh, введите csh и нажмите Enter.
  • "Home directory [/home/terminal]:" - каталог пользователся, нажмите Enter.
  • "Use password-based authentication? [yes]" - "использовать идентификацию с паролем?", ответ по умолчанию - да, нажмите Enter.
  • "Use an empty password? (yes/no) [no]:" - "использовать пустой пароль?", ответ по-умолчанию - нет, нажмите Enter.
  • "Use a random password? (yes/no) [no]:" - "использовать случайный пароль?", ответ по-умолчанию - нет, хорошая функция, но сейчас вам это не надо, нажмите Enter.
  • "Enter password:" - система предлагает ввести пароль, введите 12345 и нажмите Enter.
  • "Enter password again:" - система просит повторить пароль, повторите.
  • "Lock out the account after creation? [no]" - "заблокировать учетную запись после создания?", ответ по-умолчанию - нет, нажмите Enter.
Далее на экране появится краткая информация о создаваемой учетной записи и предложение подтвердить ее создание:

Наберите yes и нажмите Enter. В качестве ответа на вопрос системы "Add another user? (yes/no):" (перевод: Добавить еще одного пользователя? (да/нет)) наберите no и нажмите Enter. Теперь в вашей системе кроме пользователя root может также работать пользователь terminal.

Теперь необходимо отключить лишние виртуальные терминалы и разрешить запуск менеджера дисплеев xdm. Для этого необходимо определенным образом отредактировать конфигурационный файл /etc/ttys. Чтобы загрузить его в редактор введите команду ee /etc/ttys. В тексте замените on на off в строчках начинающихся с ttyv0, ttyv4, ttyv5, ttyv6, ttyv7, а в строчке начинающейся с ttyv8 замените off на on, как показано на снимке экрана:

Выйдете из редактора сохранив изменения.

Далее необходимо отредактировать конфигурационный файл sudo, чтобы разрешить пользователю terminal выключать компьютер. Для этого введите команду ee /usr/local/etc/suders и добавте в конце редактируемого файла строчку

Затем выйдете из редактора с сохранением изменений.

Введя команду exit выйдете из системы, а затем войдите в нее в с использованием учетной записи terminal, т.е. введея логин terminal и пароль 12345. Далее введите команду ee .xsession, чтобы создать новый файл. В открывшемся редакторе введите две строчки

Две команды первая запукает клиента терминального сервера rdesktop, а вторая выключает комапьютер. Обратите внимание, после ключа -u стоит имя пользователя, после -p пароль, а последний параметр команды rdesktop это IP-адрес сервера. Если есть необходимость, то можете заменить на свои значения. Выйдете из редактора с сохранением изменений.

Выйдете из системы (команда exit) и снова войдите как root, введите команду reboot, чтобы перезагрузить терминал. После загрузки системы вы увидте следующий экран:

Если для каких-то действий вам необходимо перейти в консольный терминал из графического сервера, то вы должны использовать комбинацию клавиш Ctrl+Alt+Fx. Соответвенно для перехода на нулевой терминал Ctrl+Alt+F1 и т.д. Обратите внимание, что после внесенных вами изменеий в файл /etc/ttys у вас осталось только три виртуальных терминала 1,2 и 3, а на нулевом только сообщения системы. Теперь залогинтесь в графическом режиме с использованием учетной записи terminal, для этого в поле ввода "Login:" введите terminal, затем нажмите Enter или Tab, чтобы перейти в поле ввода "Password:", наберите пароль 12345 и еще раз нажмите Enter. Терминал установит соединение с сервером и перед вами появится уже знакомый вам рабочий стол Windows:

После завершения сессии Windows компьютер автоматически выключится, если в нем блок питания ATX или выдаст следующее:

После появления этой надписи вы можете выключить ПК.

Недостатки

Не что не совершенно, тем более терминал собранный из ПК 10-ти летней давности.

  • Иногда вдруг терминал перестает реагировать на действия пользователя, т.е. на нажатие клавиш и щелчки мышью (курсор мыши продолжает двигаться). При этом изображение рабочего стала по прежнему нормально отрисовывается. Помогает нажатие комбинации клавиш Ctrl+Alt+BackSpace. После нее терминал возвращается к запросу логина и пароля, а после вновь установленной сессии конечно можно продолжить с того же места.
  • Очень сильно ограничено воспроизведение мультимедиа. Причем ограничено именно возможностями терминала. Например, на упомянутом в начале статье терминале (на том, что с AMD-K6-2), если запустить Windows Media Player для проигрования входящих в состав Windows образцов звукозаписи с визуальными эффектами, то воспроизведение будет прерываться. Отключение визуальных эффектов решает проблему.
  • Судя по документации rdesktop может работать со звуком (проверено), с параллельным и последовательным портами, но пока не понятно, что делать с устройствами подключенными к USB - сканерами, МФУ и принтерами.

Заключение

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

Автор: Алексей Ю. Уласевич (STAKANOV)
Источник: stakanov.narod.ru

Ссылки по теме
Квартирно-офисный Wi-Fi на практике
Строим сеть с терминальным сервером сами
Защищенная Wi-Fi сеть для дома
Домашняя сеть: c проводами и без
Защита беспроводной сети
10 инструментов для анализа безопасности сетих

Вся документация по сетям

 

Компьютерная документация от А до Я - Главная

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.