В статье рассмотрены нюансы установки и настройки терминального сервера по протоколу RDP для работы с базами данных 1с на платформе 8.3 на базе дистрибутива Xubuntu 14.04 с учетом возможностей последней версии xrdp-сервера и реальных условий эксплуатации.
опыт. Не так давно (в конце декабря 2016 года) вышел очередной релиз xrdp сервера версии 0.9.1. В то же время был выпущенный Стабильная версия одного из серверов xrdp — xorgxrdp v 0.2.0. Эти версии мы будем использовать далее при установке.
Небольшое, но важное отступление
Дистрибутивы Linux в основном содержат устаревшую версию xrdp-сервера версии 0.6.х, имеющую ошибки, мешающие нормально работать с 1с (например, некорректно работает буфер обмена с русскими символами).В основном при установке терминального сервера на базе протокола rdp в Linux рассматриваются варианты установки xrdp-сервера с серверной сборкой X11Rdp с использованием специальных скриптов, например, X11RDP-о-Matic (для убунту) - статья на концентраторе, статья на инфостарте.
Использование серверной части X11Rdp имеет несколько недостатков:
- Довольно долгий срок сборки
- Трудно решить проблему с переключением языков.
После повторного подключения к сессии переключение языков может перестать работать.
Автор зарегистрированный проблема на сайте разработчиков - гарантированное решение было найдено автором только для бэкенда xorgxrdp путем правки исходного кода (данный метод используется далее в статье)
- Скорость рендеринга может быть недостаточно высокой для комфортного взаимодействия с пользователем.
В этой статье обсуждается установка версии 14.04 LTS на Xubuntu, а не более поздней версии 16.04 LTS из-за снижения производительности при рисовании удаленного экрана.
Есть сообщил о проблеме для этой ситуации.
Отключение композитора в настройках кому-то помогло, но автору статьи не удалось добиться такой же скорости отрисовки, как на Xubuntu 14.04.
Рекомендации по установке операционной системы
Для установки мы используем 32-битную версию ОС Xubuntu 14.04. Связь к изображению.Система может быть установлена как на хосте, так и в виртуальной среде.
Обычно я предпочитаю виртуализацию KVM; на нем были установлены производственные серверы.
При разбиении дисков мы использовали классическую схему (не LVM), файловую систему ext4. К виртуальной машине подключено 3 диска фиксированного размера:
- 22 ГБ: 18 ГБ точка монтирования/, остальное под подкачку
- 5 ГБ: точка монтирования /var
- 5 ГБ: точка монтирования /tmp
В любом случае при планировании дискового пространства необходимо учитывать возможную нагрузку на файловую систему.
При использовании файловых баз данных рекомендуется использовать SSD-диски.
На сервере должен быть установлен статический IP-адрес.
Чтобы было проще вводить команды для последующей установки, необходимо установить OpenSSH-сервер:
При активированном брандмауэре откройте порт 22:sudo apt-get install openssh-server sudo restart ssh
firewall-cmd --add-port 22/tcp --permanent
firewall-cmd --reload
Установка и настройка сервера xrdp с бэкэндом xorgxrdp
На сайте разработчиков есть инструкции для установки на дебиан 8, возьмем его за основу.
Установите необходимые зависимости: sudo apt-get install git autoconf libtool pkg-config gcc g++ make libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev git
Создайте каталог для скачивания дистрибутивов: mkdir -p ~/xrdp-xorg
cd ~/xrdp-xorg
BD=`pwd`
cd "${BD}"
Клонируем текущую последнюю сборку xrdp из репозитория и компилируем ее с кодеком rfxcodec: git clone git://github.com/neutrinolabs/xrdp
cd xrdp
git submodule init
git submodule update
cd librfxcodec
.
/bootstrap .
/configure make cd .
.
/bootstrap .
/configure --enable-fuse --enable-rfxcodec --disable-ipv6
make
Установите xrdp в систему: sudo make install
sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin
sudo update-rc.d xrdp defaults
Загрузите дистрибутив серверной части xorg-xrdp: // Build and install xorgxrdp
wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.0/xorgxrdp-0.2.0.tar.gz
cd "${BD}"
tar xvfz xorgxrdp-0.2.0.tar.gz
cd "${BD}"/xorgxrdp-0.2.0
Мы установили строгое правило переключения раскладки с русской на английскую с помощью комбинации клавиш Ctrl+Shift для решение проблемы переключения раскладки .
Корректность проверяется созданием сессии - 1-я проверка, отключаемся, снова подключаемся к этой же сессии - еще раз проверка.
В терминале присваиваем значения временным переменным: kb_model="pc105"
kb_layout="us,ru"
kb_options="grp:ctrl_shift_toggle"
Заменяем код в исходном файле: sed -ri.bak "s/(set.model)[^;]+/\1 = \"$kb_model\"/;s/(set.layout)[^;]+/\1 = \"$kb_layout\"/;s/(set.options)[^;]+/\1 = \"$kb_options\"/" xrdpkeyb/rdpKeyboard.c
Компилируем и устанавливаем в систему бэкенд xorg-xrdp: .
/bootstrap .
/configure
make
sudo make install
Целесообразно поменять местами блоки [X11rdp] и [Xorg] в файле /etc/xrdp/xrdp.ini, чтобы у пользователя по умолчанию был правильный бэкенд. При подключении к серверу вам необходимо выбрать Xorg в списке сессий.
Если вам необходимо изменить порт по умолчанию с 3389 на другой, отредактируйте файл /etc/xrdp/xrdp.ini: в разделе [Globals] измените значение переменной port=3389 на необходимое.
При активированном фаерволе открываем порт 3389 (или тот, на который поменян стандартный): firewall-cmd --add-port 3389/tcp --permanent
firewall-cmd --reload
После настроек перезапустите службу service xrdp restart
Теперь вы можете подключиться к серверу через стандартный клиент с Windows или с Linux с любым клиентом, поддерживающим протокол rdp. Внимание : перед подключением необходимо убедиться, что на клиентской машине установлена английская раскладка клавиатуры, иначе вы не сможете ввести логин и пароль в окне выбора сеанса xrdp-сервера.
После установки желательно проверить, что буфер обмена с кириллическими символами нормально работает в обоих направлениях.
Также можно убедиться, что копирование файлов через буфер обмена с русскими символами работает (это одни из основных проблем, исправленных в последних сборках xrdp-сервера и ранее не позволявших нормально использовать терминальный сервер на базе xrdp в рабочая обстановка).
Установка клиента 1С:Предприятия версии 8.3.9
В связи с тем, что в последних версиях платформы компания 1с довела родной клиент для ОС Linux до состояния, с которым можно более-менее комфортно работать, мы будем использовать его вместо того, чтобы пытаться установить Wine, но поверх клиента для ОС Windows. Устанавливаем дополнительные компоненты, необходимые для корректной работы: sudo apt-get install libgsf-1-114
sudo apt-get install ttf-mscorefonts-installer
sudo apt-get install imagemagick
Скачать дистрибутив клиента и сервера в папку с сайта 1с:
sudo dpkg -i *.
deb
sudo apt-get -f install
Поскольку компоненты сервера 1с нужны были только для удовлетворения зависимостей, отключаем сервис:
sudo update-rc.d srv1cv83 disable
Если используется сетевой хасп-ключ, то введем параметры поиска:
sudo mkdir /opt/1C/v8.3/i386/conf
sudo su
echo [NH_COMMON] >/opt/1C/v8.3/i386/conf/nethasp.ini
echo NH_TCPIP = Enabled>>/opt/1C/v8.3/i386/conf/nethasp.ini
echo [NH_TCPIP]>>/opt/1C/v8.3/i386/conf/nethasp.ini
echo NH_SERVER_ADDR = 192.168.0.100>>/opt/1C/v8.3/i386/conf/nethasp.ini
echo NH_TCPIP_METHOD = UDP>>/opt/1C/v8.3/i386/conf/nethasp.ini
Если используются лицензии на ПО, их необходимо активировать через конфигуратор (это можно сделать на пустой файловой базе).
Правильная настройка с временными файлами, созданными платформой 1С.
В ходе работы мы столкнулись с проблемой, когда внешняя обработка заполнения табличной части у одного пользователя работает, а у другого нет — выдается сообщение о нарушении прав доступа.
Проблема в том, что платформа 1С создает временный файл /tmp/PrnForm.tmp, т.е.
путь к файлу у разных пользователей одинаков.
Соответственно, первый пользователь, применивший обработку, неявно создал файл во временной папке, доступ к изменению которого имеет только он.
Другой пользователь больше не сможет перезаписать файл.
Решение — правильно настроить общесистемную маску, отнести пользователей в одну группу, а также правильно настроить права на временную папку /tmp. Редактирование общесистемной маски.
Редактирование файла: /etc/login.defs
в нем мы меняем значение на: umask 002
Всех пользователей терминала относим в группу «Пользователи» (если они не были назначены ранее, их можно отнести в другую группу).
Изменить права доступа к папке tmp chown -R root:Users /tmp
chmod g+s /tmp
Если вы используете обмен с сайтом Битрикс, то аналогичные настройки нужно сделать и для папки /var/log/bitrix.
Решение аналогичной проблемы применительно к 1С описано в статья .
Решение проблемы с невозможностью загрузки деклараций из баз ЗУП 2.5 и Бух 2.0
Есть одна неприятная особенность, которая может помешать бухгалтерам на клиенте 1С для Linux загрузить декларации из базы расчетов по заработной плате и бухгалтерии - после выбора файла и попытки загрузки появится сообщение типа «Нет доступа к каталогу [Имя каталога]».отображается».
Проверьте правильность имени каталога для загрузки! Решение найденный и заключается в необходимости замены кода «Cat=New File (Path for Upload + «NUL»);» на «Cat=New File (Path for Upload);» в «Обработка.
Общие объекты регламентированной отчетности.
Форма.
Настройка параметров сохранения регламентированного отчета.
Форма.
Модуль».
К сожалению, для таких изменений вам придется снять конфигурацию с поддержки.
Рекомендации по организации обмена файлами и печати из удаленных офисов
Если работать с сервером только внутри локальной сети, проблем нет - самба работает хорошо.Если на предприятии имеется сеть распределенных офисов, то часто возникает вопрос об организации удобного обмена файлами и настройки печати.
Для обмена файлами удобно использовать выделенную учетную запись Dropbox — выделенная папка на сервере синхронизируется с облаком, а на клиентах либо путем совместного использования папки Dropbox, либо с той же учетной записью настраивается клиент. Для печати на удаленных принтерах удобно использовать схему виртуальной частной сети; в этом случае проблема решается даже с теми удаленными точками, которые не имеют фиксированного IP-адреса.
Принтер будет доступен по IP-адресу в сети VPN. В качестве альтернативы я предлагаю использовать НеоРоутер Бесплатно .
Настройка этого продукта выходит за рамки данной статьи.
Возможные альтернативы
К сожалению, стабильно работающих бесплатных альтернатив на данный момент я не вижу.Был достаточно успешный опыт использования комбинации OpenSuse 11.2+FreeNX (от etersoft) + WineEtersoft (купленный) для работы с конфигурациями на базе платформ 8.1, но на данный момент такая комбинация для новых установок потеряла свою актуальность - не все пакеты можно найти для установки, далее На последних версиях ОС Linux и конфигурациях 1С скорость рендеринга ужасная.
Довольно много времени было потрачено на тестирование других продуктов типа x2Go, но есть и немало НО: при подключении с последних версий ОС типа Windows 8, Windows 10 возникают артефакты при рендеринге изображений и т.д. В общем, пока альтернативные решения как-то подходят для административных функций, для реальной работы с решениями 1С они мало подходят.
Заключение
Рассматривая возможность перехода на непродуманное решение, нужно учитывать такой фактор, как наличие торгового оборудования.Не все торговое оборудование поддерживается в линуксе и тем более мало что можно запустить через RDP. В общем, если вы хотите сэкономить на лицензиях Windows, то можно обойтись решениями на базе LINUX, тем более что развитие XRDP в последнее время идет ускоренными темпами.
В марте этого года планируется выход версии 0.9.2 - это следует из опубликованного Примечания к выпуску .
Обновление от 31.03.2017
Коллеги, обратите внимание, что вчера разработчики xrdp выпустили новую версию xrdp 0.9.2 и xordxrdp 0.2.1. Основанный на Примечания к выпуску Теперь кодек RemoteFX поддерживается по умолчанию, поэтому в теории нет необходимости собирать его отдельно, как я указал в статье.Кроме того, по умолчанию теперь используется серверная часть xorgxrdp. Чуть позже проверю, как сейчас проходит установка и внесу правки в статью.
Теги: #*nix #Администрирование сервера #ubuntu #1c
-
Преимущества Услуг Ит-Аутсорсинга
19 Oct, 24 -
Установка Zte Ax226 На Ubuntu 11.04 И 12.04
19 Oct, 24 -
Rfg_Drawer Или Редактор Otdr
19 Oct, 24 -
Создавать Pdf, Не Выходя Из Браузера
19 Oct, 24