Делали один подряд и столкнулись с проблемами, по которым в интернетах не найти космплексного решения.
В результате в голове уже с неделю болтается немного инфы, которую я здесь представлю в виде how-to для специалиста-администратора.
Задача: защитить документооборот, переписку и прочие данные предприятия от кривых рук пользователей и «маски-шоу», заодно избавиться от нелицензионного софта в офисе. На рабочих станциях остаётся Skype, интернет-сёрфинг и прочие неважные мульки.
Решение: перенос всей работы на терминальный сервер, стоящий где-нибудь в секретном дата-центре(возможно в оффшорах).
С установкой виндового терминального сервера и Active Directory на отдельную тачку, или в виртуалку,никаких проблем нет.
Переносим пользовательскую инфу: профили, документы, переписку, Application Data и прочее на установленный сервер.
На рабочие станции и ноутбуки заливаем Ubuntu 9.04. Сойдёт любой дистрибутив linux, но мы выбрали самый desktop-friendly. Если на ноутах, или компах предустановлена windows profissional, или business, её можно оставить и работать в терминале через её родной mstsc. У нас была пачка ноутов с Media Center и Home, которые мы не стали жалеть.
При установке Ubuntu требуется создать пользователя, которому автоматически разрешается sudo. Из под него затем выполняется вся настройка и создаётся пользователь, который будет автоматически логиниться в систему при загрузке. У пользователя на столе развешиваются ярлыки для Skype, FireFox(Internet), Pidgin(ICQ), OpenOffice(Word) и OpenOffice(Excel). По желанию можно сделать ярлык для соединения с терминальным сервером, но мы использовали для этого комбинацию клавиш. С понтом: так меньше палева.
Смену раскладки клавиатуры в терминальном сервере вешаем на Alt+Shift (пользователям так привычнее), а в linux — на Ctrl+Shift, или на два Shift’a, чтобы не пересекались. Отключаем в compiz графические эффекты, чтобы Win+R вызывало запуск программ в терминале, а не включало зум в linux.
Решение проблемы с Alt+Shift
Во многих современных линуксах нажатие Alt+Shift воспринимается как какой-то Meta-символ, что приводит к «залипанию» Alt в терминальной сессии. Даже если перевесить смену раскладки на другие кнопки, пользователи всё равно периодически будут нажимать Alt+Shift и огребать «глюки».
Чтобы этого не случалось, можно использовать ключ «-y»(raw) для rdesktop 1.6.0 и выше, но тогда будут проблемы с работоспособностью некоторых клавиш, особенно на ноутбуках.
Также, можно заморочиться поиском именно своей клавиатуры в настройках xorg, но в условиях зоопарка это нереально.
Можно пересобрать xmodmap, с тем чтобы сменить там в раскладке «Alt_L Meta_L» на простой «Alt_L», но не во всех дистрибутивах это также легко и прозрачно сделать как в ThinStation.
Наш с трудом нагуглённый вариант это следующая команда:
DISPLAY=’:0′ xmodmap -e «keysym Alt_L = Alt_L» которую вполне можно выполнять из под пользователя непосредственно перед запуском терминальной сессии.
Решение проблемы с неработающими клавишами
Здесь всё просто. Раскладка ru в rdesktop изобилует всякой хренью, которая на деле только мешает.
Делаем sudo cp /usr/share/rdesktop/keymaps/en-us /usr/share/rdesktop/keymaps/ru
Затем открываем /usr/share/rdesktop/keymaps/ru в любом редакторе и меняем там map 0x409 на map 0x419
Автоматическое монтирование флешек
В Ubuntu любая первая воткнутая в разъём флешка автоматически монтирается в /media/disk. Вторая — в /media/disk-2. У наших пользователей не предвидится больше одной флешки необходимой в терминале.
Используем ключ rdesktop -r disk:FLASH=/media/disk чтобы смонтировать флешку на сервер. Если флешка была подключена во время работы в терминале, терминальную сессию возможно придётся перезапустить.
Кстати, ключом rdesktop -r clipboard:CLIPBOARD можно синхронизировать содержание буфера обмена на клиенте и сервере.
Запускаем терминальную сессию таким микро-скриптом(желающие могут уместить это в одну строку):
cat terminal.sh
#!/bin/sh
DISPLAY=':0' xmodmap -e "keysym Alt_L = Alt_L"
rdesktop -Nzfr disk:FLASH=/media/disk -r clipboard:CLIPBOARD -u username -d domain -p password terminal.server.address
Если кому-то что-то хочется спросить, или нужен какой-либо скриншот, обращайтесь, я отвечу и дополню этот how-to.
Спасибо за статью.
Решение обалденное. Надо будет попробовать реализовать :)
Патч от альтлинукс надо допиливать напильником :) На последних версихя xorg он не работает.
Мы в принципе разобрались как raw режим работает, но под каждый комп надо руками доделывать, а так в целом работет.
http://www.brntech.ru/index.php?mact=Blogs,cntnt01,showentry,0&cntnt01entryid=9&cntnt01returnid=23
В репозиториях Убунты пакет rdesktop лежит уже с применённым патчем и даже работает. Но на ноутбуках(и не только) остаётся проблема со скан-кодами стрелок и прочего.
Так что ваш способ очень интересен. Спасибо.
Все бы здОрово, только у такой схемы есть 1 ‘NO’:
терминальный сервер ‘в оффшоре’ должен иметь фантастическую систему ввода-вывода (HDD I\O), чтобы держать на себе пять(десят) юзверей. Добавляем латентности на канале (200ms юзвери не почувствуют, а вот 800 — обязательно), и… вложения не окупятся. Есть вариант красивее и эффективнее:
закрытая серверная с 1-2 серверами на 4-8 SSD дисках, типа, Intel X25-E в Raid0 на Adaptec 5805 с ‘выжигателями дисков’ от неро. Все ‘заминировано’ + рег.бэкапы.
Проверено, работает.
P.S. Юзвери и начальство писают кипятком :)
Хорошая статья.. вот только что-то ни слова о автоматическом запуске программы на терминальном сервере. Если сервер на windows server 2003 а клиент на Ubuntu 10
О какой программе речь?
Кроме того, необходимость этого автоматичского запуска сомнительна, когда пользователь поноценно работает в терминале: с 1С, почтой, экселем и прочим.
to Максим это лучше настраивать непосредственно на сервера на данного пользователя
Полезная статья, особенно для начинающих.
У меня остался вопрос с доставкой вендовых приложений. Скажем сейчас у меня развернута технология RemoteApplication (аля цитрикс) на Win 2008 R2, есть ли способ доставить это же самое приложение на Ubuntu?
еще моментик. Возможно ли сделать так, чтобы можно было терминальные окна в полноразмерном режиме сворачивать на панель задач — как в венде?
Ctrl+Alt+Enter
И еще два моментика, сами окна по сравнению с mstsc работают как-то заторможено, и черный курсор мыши просто выводит из себя.
Здравствуйте, такая проблема есть терминальный сервер на базе CentOS 6 и есть терминальные станции, проблема в следующим у пользователей не монтируются автоматически Флешки, а когда заходишь под рутом все нормально Флешки видит, а под пользователем нет. Подскажите что за команда активирует данную настройку или пользователей надо в группу добавить ??