Комментарии 43
Но и заголовок покороче и пожелтее (alizar-style: "
Ну и «почему так, а не иначе»:
* для связки Linux-Linux в ЛВС таки проще голый X11/Xorg (но именно и что Linux-Linux и ЛВС, т.к. оверхед там — мама не горюй)
* Связка Windows > Linux:
** Xorg — жуткий геморрой (со стороны Windows)
** VNC — как уже человек сказал — жуткий расход RAM, даже когда никто не работает
** NX — открытый вариант безнадежно устарел, но вполне работоспособно пока (хотя это жуткие костыли)
** X2Go — на базе NX, надо будет потыкать палочкой
** XRDP — тоже костыли, но наиболее удобно для клиента Windows
И да — у меня пока-что на Fedora 25 не завелось. Пакеты из официальных репо, матерится на нечто вроде «у нас в консоли #12 уже крутится какой-то xserver — местов нет».
Надо бы еще развернуть run level (5?), открытие портов, настройки X11/Xorg, трафик и нагрузку на CPU/RAM.
Короче — «Show must go on» (tm)
В теории все зависит от мощности самого сервера на котором развернут терминал, от количества одновременно подключившихся и от ширины канала связи пользователь сервер. Но, как правило, это решение только для 2D серфинга. Причем для нормальной скорости в большинстве случаев приходится зажимать битность цвета на 15-16bit не выше.
Кроме VDI сценариев с NVidia GRID вообще то и не видно альтернатив. Но тут узал что новый RDS в Win2016 умеет работать с NVidia GRID и раздавать мощности видеоадаптера по сессиям на RDS сервере. На следующей недели буду бестить оба сценария, но крайне интересно что покажет из себя новый RDS on WinSrv 2016.
Spice имеет отличную скорость работы, поддерживает несколько мониторов и умеет подстраивать разрешение на лету, а так же умеет пробрасывать usb-устройства.
Недавно в Linux Kernel 4.10 реализовали виртуализацию GPU для KVM, правда я ее еще пока что не пробовал, так что насколько она производительная сказать не могу.
Нагрузки много, но у меня ни одной видеокарты в виртуалку не проброшено.
tzps, у меня монитор 2560*1080, не 4К конечно, но все-таки. Правда надо учитывать что у меня одна машина и между виртуалками файлы перегоняются по сети со скоростью 140-150 мбайт/сек
Хотелось бы сравнения с x2go, который уже есть в репозитории, и ставится/запускается всякого труда. Разве что клиент под винду у него свой, а не mstsc.
Если использовать что то типа х2go, шифрование канала и те пе. то мне тогда проще прокинуть реверсивный ssh туннель + freerdp внутри сети. Та же передача VNC/RDP трафика внутри ssh туннеля. Когда я пробовал x2go мне не понравилась скорость и качество отрисовки картинки по сравнению с RDP сеансом. Но это было достаточно давно возможно в новых версиях что то изменилось.
А таскать с собой флешку с установщиком доп клиента
Зачем таскать с собой флешку? — клиент всегда можно скачать на официальном сайте или прислать по почте вместе с инструкцией.
Представьте ночной звонок от того же бухгалтера которая что то забыла сделать на работе и ей, максимально срочно, необходимо реализовать доступ с ноутбука её знакомого (который вы и в глаза то не видели что там установлено) к терминал сеансу в конторе. И надо по телефону объяснить куда и что надо нажать.
Как показывает практика, объяснять придется в обоих случаях, и в обоих случаях всегда желательно иметь подробную инструкцию на готове.
Когда я пробовал x2go мне не понравилась скорость и качество отрисовки картинки по сравнению с RDP сеансом
Это высказывание немного странное. Так как насколько я понимаю x2go заметно быстрее vnc и xrdp как раз за счет того что x2go — это протокол семантический и по своей структуре он больше похож на нативный rdp на windows.
В отличии от vnc или того же xrdp, который просто проксирует рабочий стол, здесь в определенный момент времени передаются только определенные объекты, а не вся картинка целиком. Плюс ко всему здесь имеется куча дополниительных фишек, недоступных в вышеупомянутых протоколах.
Так что думаю, что вы все же недооценили x2go и напрасно обошли его стороной.
В моём случае одним из основных условий заказчика было использование на клиентских станциях только штатно установленного ПО без дополнительных вмешательств
Да, это может быть проблемой, соглашусь. Здесь ваше решение подходит как нельзя лучше.
Опять же плюсом RDP, если наплевать на безопасность, является возможность подключения к серверу из любого места (дома, интернет кафе, отеля на отдыхе, от друзей) винда она есть везде да и через linux проблем нет
А здесь нет. Не надо плевать на безопасность :)
Конкретно для таких случаев я бы предложил вам попробовать Guacamole — он поможет вам организовать доступ к тому же rdp или vnc прямо из браузера, который можно защитить HTTPS и впредь спать спокойно ;)
Я тоже у x2go заценил очень хорошую скорость работы даже на медленных каналах, по сравнению с rdp под линухом — намного шустрее. Кстати, а линуховый rdp-сервер не семантическиц, получается, а тупо всю картинку гоняет по пикселям без разбора?
Крайний раз, когда я пробовал xrdp — это была стройная система костылей и подпорок насчет RDP <> VNC <> X11.
Сейчас, судя по всему, путь спрямили до RDP <> X11.
Note: автору — x11 != xorg; но это так, копирайтные заморочки :-)
Для любителей/профессионалов RH-based (например — Fedora 25):
sudo dnf install xrdp # автоматом ставится xorgxrdp
sudo chkconfig xrdp on # да, я ретроград
sudo service xrdp start
В результате можно коннектиться из любой венды по RDP.
Причем там на выбор сеанс Xorg (получаем чистый экран небесно-голубого цвета) или Xvnc (получаем нечто вроде «Хьюстон, у нас проблемы»)
Windows based терминальный сервер справляется с подобной ситуацией в разы проворнее.
Изящного решения я, увы, не нашёл :(
Windows-based — таки проворнее (там же родное), но а) стоит денег и б) небезопасно (здесь автор на 146% прав).
Изящное решение Linux-Linux — X11/Xorg. Но это именно и только в ЛВС (потому что жрет уже трафик, а не оперативу).
Изящного решения Win-client <> Lin-server — таки да, таки нет. Костыли типа NX/X11-win-client/VNC — глючные и/или ресурсоемкие.
Xrdp тоже, в принципе, костыль — но хотя бы удобен для клиента.
По поводу не безопасно — только из-за этого и перешли.
Линух. Не может. Крашиться.
Это технически невозможно.
Note: нет, ну технически возможно, конечно… Если винт посыпался — тут без вариантов.
А уж 32 гига на 16 юзеров под вендами… Закройте им pornolab, штоле.
А вот под вендами как раз всё всегда летало и львиная доля памяти простаивала свободной. При всё тех же задачах и даже более, на этом же железе.
Да сейчас и без всяких порнхабов браузеры с парой вкладок обычных сайтов, обвешанных жаваскриптами, уже с удовольствием гига два оперативы сжирают. Из-за этого перешли в фирме с тонких клиентов на толстые, чтобы если юзер наоткрывал табов — лагало только у него, а не у всех ;)
Вы не любите кошек? Вы не умеете их готовить (tm).
Автор спасибо за статью, мне как новичку появился интерес повторить все это :)
Вопрос, в случае если пользователь вышел в инет через терминал и далее скачал файл с инета, то передача этого файла к себе на комп будет простым copy/paste?
И сохранятся ли ссылки или пароли при каждом повторном входе?
Передача файла может реализовываться так же как в обычной локальной сети через создание общих папок
Я проинстуктировал бухов, всё объяснил. И он работает под терминалом, и ему приходит грозное письмо от налоговой инспекции, описание которого есть в шапке статьи.
Умный, но задёрганный бух сохраняет это письмо к себе на комп… и пытается прочитать.
На самом деле пользователи очень быстро привыкают и неудобств не возникает.
И бухам еще клиенты разные нужны, например
Если это документ что мешает его прочесть внутри терминала. Какой смысл скачивать его на локальную станцию? Распечатать на подпись — печатаем из терминала. Отсканировать с сетевого сканера и отправить обратно = терминал. Передать на рассмотрение директору = из своего сеанса в терминал сеанс директора.
Локальная сеть не затронута никак. Вариант скопировать текст письма к себе = клипборд из терминал сеанса к себе локально в редактор и те пе.
Если это установочный файл то тогда не пользовательское это дело обновлять драйвера и устанавливать… декс браузеры и vk плагины иначе в сети анархия начнется.
Опишите тогда вариант при котором, в срочном порядке, интернет файл должен быть именно перемещен на локальную станцию без возможности решения задачи в терминал сессии. Буду думать.
К примеру, у вас есть контрагенты, с которыми нужно обмениваться счетами/документами.
Исходящее направление:
1. Бухгалтер формирует счёт в 1C, отправляет его клиенту по почте.
2. Бухгалтер формирует акт выполненных работ в 1C, отправляет клиенту по почте, печатает, подписывает, сканирует, отправляет клиенту скан подписанного акта, кладёт этот скан в папочку «исходящие документы клиента XXX» и отправляет бумажную версию акта клиенту
Входящее направление:
3. Клиент прислал счёт/акт/что-либо ещё, этот документ нужно занести во внутреннюю систему документооборота. В крайнем случае — положить в папочку «входящие документы клиента XXX»
4. Клиент прислал заполненный заказ в XLS (на основе отправленному ему ранее шаблона), заказ нужно скормить 1C'ке, которая из документа сделает счёт.
5. Клиент прислал файл, который под OpenOffice'ом открыть никак не получится. И, к примеру, сказать клиенту «переделай всё под меня» не получится (начиная от всяких тендеров, где именно ваша организация заинтересована в получении заказа и это ваша проблема, что у сотни других всё открылось, а у вас — нет, заканчивая всякими налоговыми, которым глубоко наплевать на ваши проблемы, они просто выпишут штраф и не будут голову морочить).
Т.е. основная проблема — всегда найдутся документы, которые должны пересекать периметр туда-обратно.
В любом случае, ваше решение существенно лучше, чем ничего,… но, возможно, есть смысл пойти чуть по другому пути:
1. Заблокировать обмен любыми данными между компьютерами сети (вынести каждый порт в отдельный VLAN, политику доступов настроить на маршрутизаторе)
2. Настроить постоянный бекап общего хранилища (и разграничить права доступа — бухи могут смотреть только в свои папки, продавцы — только в свои)
3. Настроить постоянный бекап локальных компьютеров
4. Настроить антивирусную защиту (вдруг поможет?)
Или пойти чуть дальше (но тут ещё вопрос — а готовы ли платить за лицензии?):
1. У всех пользователей diskless терминалы
2. Работа в терминальных сессиях (или в VDI)
3. Антивирусы + бекапы
Т.е. идти по пути максимального уменьшения «цены ошибки» с минимальным усложнением жизни пользователей, а не по пути максимального уменьшения риска заражения, но ценой очень больших сложностей для пользователей и нарушения бизнес-процессов (которые, вообще-то, компании денег приносят).
Ubuntu + XRDP + x11RDP терминальный сервер, с поддержкой звука, для серфинга в интернете — пошаговое руководство