Заказать сайт недорого. Создание сайта на базе системы управления контентом. Индивидуальный подход при создании сайта. Современный и красивый дизайн сайта. Удобная навигация на сайте.

palexa.pp.ua@gmail.com

(+380) 66 531 77 01 ; 67 301 39 26

Терминальный сервер на Linux CentOS-6 - X2Go terminal server

X2Go terminal server можно установить практически на любую ОС Linux. Что такое терминальный сервер описывать надеюсь не надо.  Терминальный сервер X2Go очень перспективное бесплатное решение для небольших компаний. В данной статье описано как поставить сервер терминалов на CentOS-6.

Как поставить терминальный сервер X2Go на другие операционный системы, описано на официальном сайте
http://wiki.x2go.org/doku.php/doc:installation:x2goserver

Тема на форуме
http://unixforum.org/index.php?showtopic=108708&st=30&p=1239425&#entry1239425

Как поставить терминальный сервер X2Go на CentOS 6 ?

1. Возможно понадобиться отключить SELinux и фаервол Iptables

Если Вы установили CentOS-6 сразу с X-сервером и нужными приложениям, то шаги 2 и 3 можно пропустить, я устанавливал CentOS-6.6-x86_64-minimal, поэтому ставлю то что нужно вручную.

2. Установить утилиту wget

yum install wget -y

3. Установить графическую оболочку GNOME

Мне понадобился дополнительно "Системный монитор GNOME", ставим командой

yum install gnome-system-monitor -y

4. Добавить репозиторий X2Go с официального сайта
http://wiki.x2go.org/doku.php/wiki:repositories:epel
http://wiki.x2go.org/doku.php/wiki:repositories:epel?do=export_code&codeblock=2

или командой

wget -O /etc/yum.repos.d/x2go.repo \
http://palexa.pp.ua/images/x2go/x2go.repo

5. Добавить репозиторий EPEL

6. Установить зависимости

yum install fuse fuse-libs fuse-sshfs -y

7. Установка терминального сервера X2Go

yum install x2goserver
yum install x2goserver-xsession

x2goserver­-xsession - дополнение, позволяющее серверу X2Go обрабатывать скрипт Xsession при запуске сессии;

Как подключиться к терминальному серверу X2Go из Windows ?

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

Для подключения к терминальному серверу X2Go из Windows есть специально клиентское приложение, скачать его можно с официального сайта.
http://wiki.x2go.org/doku.php/start
http://code.x2go.org/releases/binary-win32/x2goclient/releases/

На некоторых ОС Windows 7 у меня не запускался pulseaudio и не работал звук, проблему решил клиент с old pulseaudio
http://code.x2go.org/releases/binary-win32/x2goclient/with-old-pulseaudio-0.9.6/releases/

Программа X2Go Client for Windows почти вся русифицирована и не требует описания, там всё понятно. Остановлюсь немного о некоторых методах подключения.

Подключения к терминальному серверу X2Go в режиме одного приложения.

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

В настройках программы выбрать "Тип сессии" - "Приложение" и выбрать нужную программу из списка. Если программы в списке нет, то в поле с именем программы пишем имя скрипта, который сам запустит нужное приложение. Так же запуск приложения скриптом решает проблему нескольких языковых раскладок, так как в программе можно указать только одну (или я не до конца разобрался)

Создать файлик  для исполнения в  /bin/run1c.sh и ставим на него права 755 или 777, ниже пример:

#!/bin/bash
# запускаем все в одной оболочке
/bin/bash << EOF
# если возникают проблемы с клавиатурой, то раскомментируем строку ниже:
#/etc/nxserver/fixkeyboard
# настройка переключения клавиатуры с английской, на русскую, украинскую через Ctrl+Shift
#setxkbmap -rules xorg -model pc105 -layout "ru(winkeys),us" -option "grp:ctrl_shift_toggle"
#setxkbmap -rules xorg -model pc105 -layout "us,ru(winkeys)" -option "grp:ctrl_shift_toggle"
setxkbmap -rules xorg -model pc105 -layout "us,ru,ua" -option "grp:ctrl_shift_toggle"
# установка точки вместо запятой на дополнительной клавиатуре
xmodmap -e "keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal"
# Команда запуска 1С:
#wine "C:\Program Files\1Cv77\BIN\1cv7s.exe" enterprise &
#env WINEPREFIX=$HOME"/.wine" wine "C:\1Cv77\BIN\1Cv7s.exe" enterprise
/opt/1C/v8.3/x86_64/1cv8
#
EOF

Мне надо было запускать браузер с тремя языковыми раскладками firefox (runff.sh)

#!/bin/bash
# запускаем все в одной оболочке
/bin/bash << EOF
# если возникают проблемы с клавиатурой, то раскомментируем строку ниже:
#/etc/nxserver/fixkeyboard
# настройка переключения с русской клавиатуры на английскую через Ctrl+Shift
setxkbmap -rules xorg -model pc105 -layout "us,ru,ua" -option "grp:ctrl_shift_toggle"
#setxkbmap -rules xorg -model pc105 -layout "us,ru(winkeys)" -option "grp:ctrl_shift_toggle"
# установка точки вместо запятой на дополнительной клавиатуре
xmodmap -e "keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal"
# Команда запуска firefox:
firefox
#
EOF

После создания сессии можно создать ярлык на рабочем столе для этой сессии

К сожалению нет функции запоминания пароля, что бы сеанс запускался без ввода пароля, так сказать "Ярлык для блондинки"

Как создать ярлык для авторизации на терминальном сервере X2Go без ввода пароля

Подключение без пароля в X2GO решается путём подключения по ключу. Вся процедура создания ключей описана в статье: Linux- авторизация по ssh без пароля, по ключу из Windows, с помощью putty - делаем всё как написано от начала до конца.

Единственная проблема, что X2Go Client for Windows не понимает личный ключ в том формате. Для этого созданный личный ключ надо импортировать в PuTTYgen и потом экспортировать в формат  OpenSSH

 

Теперь в настройках сессии указываем ключ, вот так

После этого создать ярлык, а пользователь будет открывать сессию без ввода пароля.

Экспорт каталогов - подключение локального каталога (проброс папки)

  

В клиенте X2Go во вкладке "Экспорт каталогов" можно выбрать и добавить каталоги для их проброса на терминальный сервер, что обеспечит обмен файлами между клиентским компьютером и сервером.

Экспортируемый каталог необходимо именовать в латинице. В настройках программы, отметить чекбокс - Кодировка имён файлов локальная: (UTF-8) удалённая: (UTF-8)

На сервере, добавить пользователя в группу: fuse

При подключении пользователя с автоматическим экспортом выбранного каталога (D:\shara), в директории пользователя появиться ярлык media, а сам каталог по адресу:
~/media/disk/_cygdrive_D_shara/

Если Вы предоставляете пользователю рабочий стол, то можно установить пакет x2goserver-fmbindings

yum install x2goserver-­fmbindings

x2goserver-­fmbindings - модуль, добавляющий в терминальной сессии на рабочий стол и в файловый менеджер ярлык проброшенной через X2Go­клиент папки.

Если в Windows XP не работают общие папки то надо вручную поправить файл конфигурации:
C:\Documents and Settings\имя_пользователя_латиницей\.x2go\etc\sshd_config

В строке, начинающейся с PidFile, взять значение (полное имя файла) в кавычки, а затем поставить атрибут "только для чтения" на файл, чтобы клиент его не переписал.
PidFile "C:/Documents and Settings/palexa/.x2go/var/sshd.pid"

Настройка печати из терминальной сессии на клиентские компьютеры

Установить на сервере дополнительные пакеты для печати:

yum install cups cups-x2go x2goserver-printing

cups­-x2go - виртуальный принтер X2Go для сервера печати CUPS; рекомендуется использовать вместе с сервисом x2goserver­-printing;

x2goserver­-printing - сервер печати для X2Go, предназначен в первую очередь для работы через низкоскоростные соединения или с принтерами, подключенными к «тонким клиентам»; если сервер находится в высокоскоростной локальной сети, то этот сервис не нужен;(увы, без него печать не работала).

После установки создаём на сервере принтер Cups­X2Go: в списках доступных устройств выби­раем Generic CUPS­X2Go, из базы данных выбираем принтер Generic и далее указываем драйвер CUPS­X2Go.

Принцип действия такой: принтер Cups­X2Go - это обычный PDF­-принтер. Когда в терминальной сессии на него отправляют задание на печать, формируется PDF-файл, который через SSH-­порт автоматически отправляется на клиентский компьютер и далее, в зависимости от настроек клиента X2Go, распечатывается на принтер, указанный по умолчанию в настройках клиента, либо открывается для просмотра. Такое решение позволяет использовать принтеры любых моделей без необходимости установки драйверов на сервере.

На клиентском компьютере должна быть установлена программа просмотр pdf файлов.

В клиенте X2Go: Опции -> Установки -> Печать

Укажите принтер, а в команде печати пропишите:
"C:\Program Files\Foxit Software\Foxit Reader\Foxit Reader.exe" /p

При использовании версии FoxitReader615.0624 документ тихо отправляется на принтер, при использовании более старших версий или других программ, при отправке на печать, документ отправлялся на принтер и вместе с этим открывалось окно программы просмотра PDF, (что совсем неудобно) или печать совсем не работала.

Возможно более комфортным, будет решение вместо отправки на принтер, сразу открывать файл в лёгкой программе просмотра PDF и только потом отправлять на принтер.

Открывать диалог X2Go перед печатью или нет, решайте сами.

Краткое описание дополнительных модулей для сервера X2Go

x2goserver-­fmbindings - если Вы предоставляете пользователю в терминальной сессии рабочий стол, этот модуль добавит на рабочий стол (в файловый менеджер) ярлык к папке, проброшенной через X2Go­клиент.

x2godesktopsharing - дополнение, позволяющее одному пользователю предоставлять доступ к текущей сессии другим пользователям (аналогично VNC Server и RAdmin);

x2goplugin­-provider - дополнение, позволяющее клиентам подключаться к серверу через брау­зер без установки клиентской части; в этом случае на стороне клиента должно быть установлено специальное дополнение x2goplugin.

x2goserver-­compat - пакет для совместимости старых версий клиентов X2Go с текущей верси­ей сервера;

x2goserver­-pyhoca - пакет, добавляющий функциональность при использовании клиента PyHoca: переименование названий сессий в окне и более детальная настройка параметров клавиату­ры; этот пакет необязателен, клиент PyHoca сможет работать и без него;

X2Go Broker, позволяет центра­лизованно управлять настройками сессий клиентов X2Go. В большинстве случаев клиенты X2Go запускаются в автономном режиме, и пользователь сам настраивает одну или несколько сессий для подключения к серверам X2Go, а все настройки сохраняются на локальных компьютерах; данный модуль позволяет хранить настроенные профили подключения непосредственно на сервере, а для получения настроек с сервера клиент X2Go должен быть запущен в режиме Broker Mode, при этом локально настроенные профили игнорируются. Это решение полезно в масштабах крупных пред­приятий для балансировки нагрузки. Модуль состоит из нескольких пакетов, устанавливается он командой:

Команда, для Ubuntu, так как для CentOS я ещё не разобрался, пишу что бы не забыть:

sudo apt­get install x2gobroker x2gobroker-­agent x2gobroker­-authservice x2gobroker­-daemon x2gobroker­-wsgi python-­x2gobroker

Команды для X2GO

Буду дополнять по мере того, как буду что то знать или читайте здесь

Команда покажет все активные терминальные сессии

x2golistsessions_root

Покажет примерно такой ответ:

6467|user-50-1442404554_stRrunff.sh_dp32|50|localhost.localdomain|R|2015-09-16T14:55:55|144cf5fb76e95f134cf2ae1fee781684|192.168.1.100|30003|30004|2015-09-16T14:56:13|user|733|30005|

Завершить указанную сессию

x2goterminate-session <session id>

Пример:

x2goterminate-session user-50-1442404554_stRrunff.sh_dp32

Настройка буфера обмена

Раскомментировать строку в файле /etc/x2go/x2goagent.options

#X2GO_NXAGENT_DEFAULT_OPTIONS+=" -clipboard both"

и указать нужное значение

both - по умолчанию разрешить буфер обмена между клиентом и терминальным сервером
client - разрешить передачу данных через буфер обмена (clipboard) только от клиента на терминальный сервер
server - разрешить передачу данных через буфер обмена (clipboard) только от терминального сервера клиенту
none - запретить передачу данных через буфер обмена (clipboard) от клиента на терминальный сервер и наоброт

Комментарии   

0 #3 lunatik 28.11.2016 15:27
Цитирую Александр:
Если не затруднит, опишите как настраивать и управлять X2Go Broker.
Можно ли установить его на сам сервер X2go? есть ли у него возможность подключаться к столу пользователя.

по x2go есть тема на форуме, адрес в начале статьи
Цитировать
0 #2 Александр 11.11.2016 14:09
Если не затруднит, опишите как настраивать и управлять X2Go Broker.
Можно ли установить его на сам сервер X2go? есть ли у него возможность подключаться к столу пользователя.
Цитировать
+1 #1 Петр 27.06.2016 08:05
Столкнулся со следующей проблемой: в клиенте под Windows 7 x64 и Windows 10 x64 (про остальные не скажу, не пробовал) не работает печать и подключение клиентских каталогов. Не появлялся диалог печати на стороне клиента.
Дело оказалось в неправильных правах доступа к файлу приватных ключей. Нормального решения так и не нагуглил, поэтому оставлю решение здесь "для будущих поколений".
Решение: нужно изменить владельца файла ключей на администратора. По-умолчанию файл находится здесь: каталог_пользователя\.x2go\etc\ssh_host_dsa_key
Можно просто от имени администратора выполнить следующую команду:
takeown /F %HOMEPATH%\.x2go\etc\ssh_host_dsa_key /A

Удачи.
Цитировать

Добавить комментарий


Защитный код
Обновить