1С 7.7 на сервере терминалов Linux (HOW-TO) (описание настройки на Wine@Etersoft+RX@Etersoft)

WINE@Etersoft, "1С","Ананас" и прочие проекты

Модератор: Модераторы разделов

Ответить
Lorte
Сообщения: 319

1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение Lorte »

Как и обещал, выкладываю последнюю свою статью, которая посвящена подробному описанию установки 1С 7.7 на сервер терминалов Linux.
При установке и настройке было применено следующее ПО:
а) операционная система InfraLinux 8.04, которая работала не только в качестве сервера терминалов, но и в качестве рабочей станции;
б) Wine@Etersoft 1.0.9 Network Lite (более позднюю версию 1.0.10 на момент написания статьи было применять рановато, да и не будет она работать без специальной терминальной лицензии)
в) сервер терминалов RX@Etersoft 1.0.0 (пакет freenx-server-0.7.4_14 и nx-3.3.0_18)

Как всегда в статье описано всё то, что уже большинству участников форума и так знакомо, но она может быть полезна тем, кто только планирует перейти на сервер терминалов, в ней всё собрано и скомпоновано воедино, что тоже немаловажно (не надо будет бродить по закромам Родины и собирать всю информацию по крупице, всё уже сделано в этой статье). Я конечно же понимаю, что с введением терминальных лицензий на Wine компанией "Этерсофт" статья частично потеряла свою актуальность, но вдруг кому поможет. Тем более по такому принципу можно строить сервер терминалов не только для 1С-ки и не только на платном Вайне ;)

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

Чуть позже обещаю привести все 3 статьи в более божеский вид (с использованием форматирования и стилей).
Вложения
1C77_Terminal.tar.gz
(73.51 КБ) 312 скачиваний
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение dimbor »

Критики хотите? Ее есть у меня:

1)
Хоть и существует несколько различных версий FreeNX и патчей к ним, мы все-таки остановились на разработке RX@Etersoft, которая основана на исходных кодах FreeNX. Эта версия периодически обновляется, в ней устраняются найденные ошибки.

Тут и далее в доп. материалах декларируется, что ветер дует, патамучта деревья качаются.
Основой для всех реализаций серверов и клиентов (комерческих и открытых) является технология NX == одноименный протокол. Реализация же протокола NX (библиотек nx) разработана и поддерживается номашин и только ей. Эта реализация всегда была OSS, насколько мне известно. А вот сервера с клиентами продаются, покупаются и открываются кем не лень (причем какие-либо родственные отношения NX Free и freenx, а также связь этих продуктов с конторой 2x весьма сомнительна).
Имею смелость утверждать, что все же RX основан на этих библиотеках и включает в себя их самих и реализации(сборки) сервера с клиентами.

2)
Когда все установится нормально, приступим к конфигурированию. Сначала даем команду установки параметров NX-сервера:
sudo nxsetup --install --setup-nomachine-key


А чуть ниже:
Скопируем ключ client.id_dsa.key куда-нибудь, например, на флэшку или расшаренную папку, поскольку его нам в дальнейшем потребуется импортировать в NX-клиент на каждой машине. Если этого ключа нет, его необходимо сгенерировать командой sudo nxkeygen.

Зачем нужен --setup-nomachine-key, если потом пара заново генерится и ключ импортируется? Ведь все знают, что при --setup-nomachine-key ничего импортировать не надоть.

3)
Какую версию использовать, решать вам. Мне показалось, что "родная" версия работает чуть-чуть шустрее, но в ней присутствует один мелкий, но неприятный баг (кракозябры в заголовке окна программы), который описан последнем пункте. В версии от Etersoft'а этот баг (и не только этот) исправлен.

Работает точно так же в десктопе (код десктопа не правился), в рутлесе "родная" медленнее.
В "родной" не везде работает русский буфер обмена (причем вариантов может быть много). В "местной" все половлено.

4)
г) также существует проблема автоматического подключения локальных принтеров клиента к серверу FreeNX; в случае, если для клиентских принтеров есть "родные" ppd-файлы для CUPS, делаем следущее:

Патч так и не стал "официальным", и в новых версиях freenx это не работает.
Спасибо сказали:
Lorte
Сообщения: 319

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение Lorte »

dimbor писал(а):
08.06.2009 05:07
Критики хотите? Ее есть у меня:

Критика тоже бывает полезной. :) Сегодня в течение дня поправлю.
Насчёт --setup-nomachine-key: в версии RX можно сказать, что это не работает, и поэтому полученный ключ в любом случае нужно будет закидывать на флэшку (или куда ещё) и импортировать в клиенте.
Если есть ещё замечания, отписывайтесь, буду исправлять.
Спасибо сказали:
bsavelev
Сообщения: 231
ОС: Debian

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение bsavelev »

естественно нужно закидывать! в этом и есть смысл генерации _своего_ ключа. потому как по умолчанию используется ключ от nomachine, который для удобства защит в пакет с клиентом
Спасибо сказали:
Аватара пользователя
vbuoc
Сообщения: 26
ОС: Ubuntu 8.04 Server
Контактная информация:

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение vbuoc »

Для Ubuntu , в ШАГ4 лучше добавить в скрипт запуска 1с
/etc/nxserver/fixkeyboard
- а то будут пробл. с клавиатурой!
P.S. Спасибо за руководство! Все подробно и толково описано!
Спасибо сказали:
Lorte
Сообщения: 319

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение Lorte »

Слегка поправил статью согласно замечаниям. Замечание 4 от dimbor'а всё-таки решил проигнорировать и оставить "как есть" так, на всякий случай (вдруг кому-нибудь когда-либо пригодится)
Теперь готов выслушать дальнейшие замечания, дополнения и т.д. :)
Спасибо сказали:
Doublespace
Сообщения: 275
ОС: Debian Lenny,Squeeze,Centos

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение Doublespace »

А тормоза с прокруткой победили?
Спасибо сказали:
Lorte
Сообщения: 319

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение Lorte »

Если только в режиме Desktop, предварительно установив оболочку LXDE и затем прописав её в клиенте (как это сделать, см. описание)
Спасибо сказали:
Lorte
Сообщения: 319

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение Lorte »

Немного поправил статью. Готов выслушать дальнейшие комментарии/критику/дополнения/итд...
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение dimbor »

Да легко! Звездеть, как известно, - не мешки ворочать. Посему, если был сделан труд написать статью, то покритиковать - так с полным нашим удовольствием :)

... если же к серверу будут подключаться и виндовые клиенты, то для windows рекомендую воспользоваться сборкой от "Этерсофта" или же патчем от dimbor'а для оригинального клиента (об этом будет сказано чуть ниже, в п.4б).


После прочтения данного места статьи складывается впечатление, что существует три клиента под виндовс: родной, RX и с "патчем" от меня, любимого (;)). Это не соответствует действительности. Клиента всего два: родной и "комьюнити эдишн". На RX он же плюс инсталятор.

И соответственно, далее:
если вы используете "родную" windows-версию NX-клиента от NoMachine, у нее есть проблема, когда при работе в режиме Rootless в заголовке окна вместо названия программы кракозябры; устранить проблему можно, пропатчив NX-клиент; последнюю версию патча от dimbor'а можно ска­чать отсюда (требуется регистрация на форуме):
http://linuxforum.ru/index.php?act=attach&...st&id=15029
Затем распаковываем архив в папку с установленным NX-клиентом (по умолчанию C:\Program Files\NX Client for Windows\bin\) и заменяем файл NXWin.exe файлом из архива. Данный патч поз­воляет устранить еще несколько проблем и ускорить работу в режиме Rootless.
Нужно заметить, что самую свежую версию патча со своими достоинствами и глюками всегда можно скачать в последней ветке этого форума; но перед тем, как пропатчить клиента, обязательно сохраните резервную копию файла NXWin.exe, поскольку патч может привносить свои баги, кото­рые подчас бывают не очень приятными.
Если же вы не хотите ничего патчить, то можете использовать клиента в сборке Etersoft'а (ссыл­ка была дана выше в шаге 2).


Если к фриэныксу и библиотекам термин "патч" применим (во множ. числе), то вин-клиент - уже скорее форк. Там переписано очень много.
Формула "кракозябры в заголовке окна + некоторые проблемы" тоже полностью не раскрывает изменения.
Их описывает шапка темы "Курощение...", а если еще короче, все значимые нововведения можно поделить на части:
- Русификация буфера обмена для обоих режимов десктоп/рутлес. (Надо заметить, что упоминаемый ниже "хак" c_1251.nls, тоже в большинстве своем не нужен, а если и нужен, то для винды с ангельским интефейсом. Этим серьезно когда-то заморачивался - можно вычитать по ссылкам из шапки)
- Изменения внешнего вида и поведения окон рутлес. ("крокозябры" тут!)
- Ускорение отрисовки в рутлес.

Вот как-то так. А то, понимаш, полтора года его онанировали и удостоились только "кракозябров" на страницах исторических хроник.;)

В скрипте из шага 4.1 незаслуженно забыт setpoint.

Ну и последнее занудное замечание: Почему-то почти во всех публикациях, посвященных NX, роль серверов (freenx, 2x, ...) искусственно преувеличена.
Менеджмент сессий дело конечно архинужное, но это единственный обмылок технологии, кодами которого номашин не поделилось с сообществом.
Вот и пишут все, кому не лень ;)

Уже все кнопки на клаве стер писать: бОльшая часть препятствий использования технологии находится в кодах "распределенного" x-сервера. Открытых, заметим, кодах. Они находятся в "библиотеках nx" и кочуют по серверам и клиентам практически без развития сообществом.

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

Lorte писал(а):
08.06.2009 08:11
Насчёт --setup-nomachine-key: в версии RX можно сказать, что это не работает, и поэтому полученный ключ в любом случае нужно будет закидывать на флэшку (или куда ещё) и импортировать в клиенте.

Странно, давеча окучивал цельный филиал, правда под альтом. Таки работало с "зашитым" ключем.
Спасибо сказали:
Lorte
Сообщения: 319

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение Lorte »

dimbor писал(а):
23.07.2009 02:54
Если к фриэныксу и библиотекам термин "патч" применим (во множ. числе), то вин-клиент - уже скорее форк. Там переписано очень много.
Формула "кракозябры в заголовке окна + некоторые проблемы" тоже полностью не раскрывает изменения.
Их описывает шапка темы "Курощение...", а если еще короче, все значимые нововведения можно поделить на части:
- Русификация буфера обмена для обоих режимов десктоп/рутлес. (Надо заметить, что упоминаемый ниже "хак" c_1251.nls, тоже в большинстве своем не нужен, а если и нужен, то для винды с ангельским интефейсом. Этим серьезно когда-то заморачивался - можно вычитать по ссылкам из шапки)
- Изменения внешниго вида и поведения окон рутлес. ("крокозябры" тут!)
- Ускорение отрисовки в рутлес.

Вот как-то так. А то, понимаш, полтора года его онанировали и удостоились только "кракозябров" на страницах исторических хроник.;)

Для того и дана прямая ссылка на форум в источниках, чтобы люди сами прочитали, если захотят, про все достоинства патча. Я конечно же могу внести их в статью, но ИМХО читатели в процессе настройки системы заснут, уткнувшись лицом в клавиатуру, прежде, чем дочитают до конца о всех прелестях патча :tongue:
dimbor писал(а):
23.07.2009 02:54
Странно, давеча окучивал цельный филиал, правда под альтом. Таки работало с "зашитым" ключем.

С зашитым ключом будет работать только в том случае, если на всех машинах используется клиент сборки Этерсофта. С "родным" клиентом, которого я ставлю на линукс-машины, это не прокатывает.
Спасибо сказали:
bsavelev
Сообщения: 231
ОС: Debian

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение bsavelev »

Lorte писал(а):
23.07.2009 17:44
С зашитым ключом будет работать только в том случае, если на всех машинах используется клиент сборки Этерсофта. С "родным" клиентом, которого я ставлю на линукс-машины, это не прокатывает.


это очень странно. линуксовый клиент откуда?
Спасибо сказали:
valust
Сообщения: 2

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение valust »

Вот мои замечания по настройке SSH сервера.

Если есть желание, можете настроить SSH-сервер под свои требования, отредактировав файл /etc/ssh/sshd_config вручную или использовав оболочки типа Webmin. Но две настройки обязатель­но должны присутствовать:
1) проверьте наличие строки PubkeyAuthentication yes, раскомментируйте ее или добавьте вручную (если она отсутствует);
2) раскомментируйте или добавьте вручную строку AllowUsers, в которой необходимо прописать всех пользователей сервера терминалов, включая пользователя с именем nx; строка должна выгля­деть примерно так:
AllowUsers user1@127.0.0.1 user2@127.0.0.1 user3@127.0.0.1 nx
Теперь перезапустим SSH-сервер:
/etc/init.d/ssh restart


1. Параметр PubkeyAuthentication по умолчанию имеет значение "yes", т. е. его нужно изменить если он присутствует в конфиге со значение "no".
2. Если нет параметра AllowUsers или же он закомментирован, то по умолчанию доступ имеют все пользователи. Таким образом это лишний труд добавлять параметр AllowUsers со всеми пользователями в том числе и с nx, а затем его каждый раз править при заведении нового пользователя, если доступ нужен всем.
Спасибо сказали:
Lorte
Сообщения: 319

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение Lorte »

bsavelev писал(а):
24.07.2009 10:33
это очень странно. линуксовый клиент откуда?

С сайта Nomachine... Но насчёт ключа - это уже мелочи; лично мне не влом скопировать сгенерированный ключ на флэшку и потом импортнуть его в каждом клиенте, да и безопасность это этого только лучше.
Кстати, такая же ситуёвина и с демо-сайтом самого Этерсофта: я заказал себе логин/пароль, и вот клиента от NoMachine сайт не пускает (как раз ругается на ключ), а с клиентом от Этерсофта - спокойно. Шайтан!
valust писал(а):
24.07.2009 11:55
1. Параметр PubkeyAuthentication по умолчанию имеет значение "yes", т. е. его нужно изменить если он присутствует в конфиге со значение "no".
2. Если нет параметра AllowUsers или же он закомментирован, то по умолчанию доступ имеют все пользователи. Таким образом это лишний труд добавлять параметр AllowUsers со всеми пользователями в том числе и с nx, а затем его каждый раз править при заведении нового пользователя, если доступ нужен всем.

1. Дистрибутивы бывают разными, поэтому я написАл это на всякий случай, как говорится, лишним не будет. Гораздо будет хуже, если вдруг по каким-то причинам этого параметра не окажется, и в описании этот момент будет не учтен, тогда пользователь задолбается лазить по форумам в поисках ответа.
2. По идее так и должно быть, но почему-то у меня это не сработало в процессе установки и настройки NX; т.е. получилось так, что сам сервер SSH пускал, но не пропускал NX-сервер, пока не добавишь этот параметр. Да и в плане безопасности хуже не будет :)
dimbor писал(а):
23.07.2009 02:54
В скрипте из шага 4.1 незаслуженно забыт setpoint.

Какую строку добавить? Поконкретнее, плз...
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение dimbor »

Lorte писал(а):
24.07.2009 16:27
Какую строку добавить? Поконкретнее, плз...

/usr/local/bin/setpoint
самого его найти в дистрибе/гугле, выполняемое действие - установка точки на дополнительной клавиатуре (там запятая в рус. по умолчанию). Странно, что Вам юзеры еще не наступали на горло с этим делом.
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение dimbor »

Упс! Это был прогон по забывчивости на тему того, где найти. Замираю в глубоком пардоне.
На самом деле у меня это скрипт со следующим содержанием:

xmodmap -e "keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Decimal"
Спасибо сказали:
Lorte
Сообщения: 319

Re: 1С 7.7 на сервере терминалов Linux (HOW-TO)

Сообщение Lorte »

Очередное обновление статьи с учетом некоторых пожеланий и дополнений. "Пилим" дальше... ;)
Спасибо сказали:
Ответить