Настройка тонкого клиента в linux
Для удобства работы с тонким клиентом «1С:Предприятия 8» рекомендуется выполнить следующие настройки (это достаточно сделать один раз):
Включить режим отображения списка информационных баз в виде дерева:
После этого в списке информационных баз тонкого клиента будет расположена группа 1cfresh.com с пунктами:
Также можно добавить приложения сервиса в список тонкого клиента вручную (см. статью по ссылке).
5. Запуск приложений с помощью тонкого клиента
Чтобы запустить приложение с помощью тонкого клиента:
В окне Запуск 1С:Предприятия откройте группу 1cfresh.com, выделите в ней нужное приложение и нажмите кнопку 1С:Предприятие.
Если будет выведено окно Доступ к OpenID провайдеру, введите в него ваши логин и пароль в сервисе и нажмите кнопку OK.
6. Обновление тонкого клиента
Если на клиентском компьютере используется ОС Linux и версия тонкого клиента отличается от версии платформы «1С:Предприятие», используемой в сервисе, то при попытке входа в информационную базу сервиса с помощью тонкого клиента будет выдано такое окно.
В этом случае необходимо скачать и установить дистрибутив нужной версии тонкого клиента и языкового файла той же версии тонкого клиента, как описано в начале этой статьи.
Настройка тонкого клиента в linux
Для удобства работы с тонким клиентом «1С:Предприятия 8» рекомендуется выполнить следующие настройки (это достаточно сделать один раз):
Включить режим отображения списка информационных баз в виде дерева:
После этого в списке информационных баз тонкого клиента будет расположена группа 1cbiz.ru с пунктами:
Также можно добавить приложения сервиса в список тонкого клиента вручную (см. статью по ссылке).
5. Запуск приложений с помощью тонкого клиента
Чтобы запустить приложение с помощью тонкого клиента:
В окне Запуск 1С:Предприятия откройте группу 1cbiz.ru, выделите в ней нужное приложение и нажмите кнопку 1С:Предприятие.
Если будет выведено окно Доступ к OpenID провайдеру, введите в него ваши логин и пароль в сервисе и нажмите кнопку OK.
6. Обновление тонкого клиента
Если на клиентском компьютере используется ОС Linux и версия тонкого клиента отличается от версии платформы «1С:Предприятие», используемой в сервисе, то при попытке входа в информационную базу сервиса с помощью тонкого клиента будет выдано такое окно.
В этом случае необходимо скачать и установить дистрибутив нужной версии тонкого клиента и языкового файла той же версии тонкого клиента, как описано в начале этой статьи.
Настройка тонкого клиента (Ubuntu, LTSP)
С помощью LTSP можно организовать компьютерный класс, в котором будет всего один мощный компьютер, а остальные слабые. Слабые компьютеры будут использовать ресурсы сервера, то есть на тонких клиентах не каких вычислительных операций практически не происходит. Всю обработку информации производит сервер тонких клиентов.
Я решил попробовать установить и немного посмотреть, что это такое и как это на самом деле работает.
В качестве тонких клиентов у меня выступал один «динозавр» и мой ноут(у меня под рукой больше не оказалось рабочих «динозавров» и ради эксперимента использовал свой ноут). Под «динозавром» я имел ввиду компьютер с оперативной памятью pc133 256mb и процессором 1,4Ghz. Ставил на этот системник Ubuntu 9.10, тормозил ужасно. В качестве тонкого клиента в самый раз, летает. С оперативкой 128mb работает так же как и с 256mb. В этом системнике я отключил жесткий диск, привод и флопик (для экономии энергии и для уменьшения шума).
Вот пример покупного тонкого клиент (нашел в интернете):
В качестве сервера я использовал компьютер со следующими параметрами: Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz/ 1Gb RAM и видеокарта NVIDIA GeForce 9600 GT.
В терминальный сервер входят следующие пакеты: DHCP, TFTP, SSH, LTSP, X11 (LDM desktop manager).
На работе у меня есть DHCP сервер и нужно было сделать так, что бы DHCP сервер устанавливаемый на сервер тонких клиентов не нарушил работу сети. Решел сервер тонких клиентов изолировать в отдельную сеть. В системник уставил вторую сетевую карту для отдельной сети с тонкими клиентами. Это решение значительно поможет снизить нагрузку на сеть.
DHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP.
Я установил Ubuntu 10.04 LTS с официального образа диска. LTSP можно установить двумя способами:
Дальше нажимаете «установить Ubuntu» и начнется установка системы. После установки системы назначьте на сетевую карту ip адрес 192.168.0.1. Дальше создайте загрузочный образ для тонкого клиента командой:
открываем терминал и вводим
обновляем список пакетов:
устанавливаем русский язык:
Замечание: для того что бы у вас система была полностью на русском языке, после установки этих пакетов перезагрузите компьютер
Для того что бы установить сервер тонких клиентов на desktop версии, надо установить всего два пакета ltsp-server-standalone и openssh-server. После установки у вас уже будет рабочий сервер тонких клиентов на Ubuntu 10.04 LTS, но перед их установкой надо настроить сетевую карту, назначить ей ip адрес 192.168.0.1:
в редакторе gedit откроется файл с настройками сетевых интерфейсов, дописываем в конец файла настройки установленной сетевой карты (для второй):
вот как у меня выглядит данный файл после редактирования:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
Устанавливаем ltsp-server-standalone openssh-server:
создаем загрузочный образ для тонкого клиента:
если у вас 64-bit система то для создания образа 32-bit укажите параметр (две черточки)–arch i386.
Смотрим настройки DHCP сервера, если надо то редактируем «под себя»:
Обратите внимание на путь к файлу с настройками. Содержание файла:
subnet 192.168.0.0 netmask 255.255.255.0 <
range 192.168.0.20 192.168.0.250;
option domain-name «example.com»;
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
# next-server 192.168.0.1;
# get-lease-hostnames true;
option subnet-mask 255.255.255.0;
option root-path «/opt/ltsp/i386»;
if substring( option vendor-class-identifier, 0, 9 ) = «PXEClient» <
filename «/ltsp/i386/pxelinux.0»;
> else <
filename «/ltsp/i386/nbi.img»;
>
>
После того как вы установили и настроили сервер тонких клиентов, его надо проверить. Для этого на компьютерах, которые используются в качестве тонких клиентов, надо в BIOS выставить загрузку по сети. Для этого нужны сетевые карты способные загружаться по протоколу PXE. Мне повезло и встроенная сетевая карта поддерживала протокол PXE. Если у вас сетевая карта не поддерживает протокол PXE, то можно сделать загрузочную дискету или диск, смотрите информацию на этом сайте rom-o-matic.net.
Я сначала попробовал сделать загрузочную дискету и очень долго с ней возился, как выяснилось позже виной был не рабочий флопик.
Для записи образа gpxe-1.0.1-gpxe.dsk на дискету введите команду (при условии что вы находитесь в папке с образом дискеты):
На сервере тонких клиентов создайте несколько учетных записей.
Вводите логин / пароль и вы входите в систему. Работает все давольно шустро, но есть один момент. Видео работает не очень хорошо, если вы хотите на тонких клиентах запускать и смотреть видео то эта не очень хорошая идея (если сильно хочется, то установите и посмотрите как это будет выглядеть у вас). На видеокарту я устанавливал драйвера, которые скачивал с официального сайта производителя. Видео пробовал запускать на двух клиентах, смотреть можно.
Подключенные флешки к тонкому клиенту определяются и отлично работают. Если вы устанавливаете приложение на сервере, то оно становится доступным всем тонким клиентам, которые подключены к этому серверу.
На сервере для тонкого клиента требуется приблизительно 120mb (у всех по разному, в зависимости от используемого ПО), эта информация пригодится для расчета оперативной памяти.
При смене ip адреса сервера необходимо выполнить команду:
При изменении ядра сервера или для устранения некоторых неполадок:
Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети
UPDATE 2020-11-06 Теперь проект поддерживает Ubuntu 20.04 Focal Fossa (LTS) и появился готовый вариант для сборки с использованием VMWare Horizon, наряду с FreeRDP.

Изображение с сайта getwallpapers.com
История
В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой хороший друг @deadroot сделал первую версию тонкого клиента, который грузился целиком в память, не требуя что-то монтировать по сети для работы.
Потом этот клиент активно допиливал я, там было сделано много полезных штук, специфичных именно для нашего сценария использования. Потом банк закрылся (отозвали лицензию), остатки исходников клиента переехали на мой гитхаб: thunclient. Пару раз я его слегка допиливал на заказ.
Недавно у меня дошли руки сделать из этой кучи страшных ненадёжных скриптов достаточно удобное для использования решение:
Что умеет
В банке для удалённого подключения к тонкому клиенту пользователя использовался VNC ( x11vnc для подключения к уже запущенной сессии Xorg). Это далеко не всем требуется (обычно хватает возможности подключения к сеансу RDP на сервере терминалов), и тут всё очень индивидуально в плане требований удобства/безопасности. Поэтому эту часть я выкладывать не стал.
Аналоги
Если Thinstation полностью устраивает — то лучше пользоваться им, это более старый и зрелый проект. Плюс он раза в полтора меньше по размеру, всё-таки это специально заточенная под минимальный объём сборка, а не слегка допиленная обычная Ubuntu.
Но версии софта в нём достаточно древние и его там мало. Если нужно что-то дополнительное, помимо клиентов RDP/Citrix/… — потребуется собирать это руками, и так при каждом обновлении.
kvaps указал в комментарии, что LTSP может скопировать образ squashfs в память и работать без монтирования ФС по сети: это настраивается переменной LTSP_NBD_TO_RAM. Для настройки используется chroot, что может быть менее удобно, особенно для настройки графического окружения и приложений. Также хороший зрелый проект, можно рассматривать как альтернативу.
Vagrant vs chroot
Прошлые версии использовали chroot, как собственно и большинство похожих проектов, тот же Thinstation к примеру. Это несложно, но всё-таки запущенная в chroot отдельная программа не соответствует происходящему на реальной машине: нету взаимодействия с системным init, с другими программами и службами. Плюс Vagrant позволил сделать процесс создания клиента максимально простым: виртуалка настраивается как обычная машина.
Конечно, использование Vagrant приносит и некоторые сложности.
Кроме того, для Vagrant обязателен работающий на машине ssh, пускающий пользователя со сгенерированным ключом. Я исключаю из сборки домашний каталог пользователя vagrant, используемого для настройки, вместе с его ssh ключами. Ключи для используемого при работе пользователя ubuntu можно положить в его домашний каталог.
Provisioning делается с помощью Ansible. Это очень удобный инструмент для конфигурации всяческого софта и железа. Но включать в итоговый образ Ansible и требующийся ему второй python с нужными библиотеками не хотелось бы: бесполезный балласт. Ставить Ansible на машину, где запукается виртуальное окружение, тоже не хочется: это усложнит работу.
Vagrant позволяет сделать хитрость: поставить Ansible на одну машину (тестовый PXE сервер), и с неё делать разворачивание других машин, в рамках той же playbook. Для этого машины должны иметь статический IP, чтобы прописать его в ansible inventory. Ну а проблему с конфигурацией интерфейсов мы решили в прошлом пункте.
Непослушный кабачок
Squashfs — сжимающая read-only файловая система. Лежит в основе большинства существующих Linux LiveCD. Именно она позволяет создать достаточно компактный образ системы, помещающийся в оперативную память тонкого клиента.
Магия initrd
Чтобы не тянуть в составе ядра все необходимые драйвера и логику монтирования корневой ФС, Linux использует initial ramdisk. Раньше использовался формат initrd, в котором этот диск представлял собой настоящий образ файловой системы. В ядре 2.6 появился новый формат — initramfs, представляющий собой извлекаемый в tmpfs cpio-архив. Как initrd, так и initramfs могут быть сжаты для экономии времени загрузки. Многие названия утилит и имена файлов по-прежнему упоминают initrd, хотя он уже не используется.
В Debian/Ubuntu для создания initramfs используется пакет initramfs-tools. Он даёт следующие возможности для кастомизации:
Борьба за оверлеи
Для создания единой корневой файловой системы из нескольких используется OverlayFS. В первых версиях использовалась AUFS (она используется большинством линуксовых LiveCD). Но её не приняли в ядро, и сейчас всем рекомендуют переходить на OverlayFS.
Где нужна возможность записи
Под идее, Linux может спокойно работать, когда все ФС примонтированы только на чтение. Но многие программы рассчитывают на возможность записи на диск, приходится монтировать туда tmpfs:
Итого
Если вы хотите собрать загружаемую по сети и работающую только из памяти сборку Ubuntu — вот тут есть готовый удобный конструктор: thinclient. Если потребуется помощь — пишите в ЛС или в тикеты на гитхабе, подскажу.
Настройка тонкого клиента в linux
Для удобства работы с тонким клиентом «1С:Предприятия 8» рекомендуется выполнить следующие настройки (это достаточно сделать один раз):
Включить режим отображения списка информационных баз в виде дерева:
После этого в списке информационных баз тонкого клиента будет расположена группа gos.1cfresh.com с пунктами:
Также можно добавить приложения сервиса в список тонкого клиента вручную (см. статью по ссылке).
5. Запуск приложений с помощью тонкого клиента
Чтобы запустить приложение с помощью тонкого клиента:
В окне Запуск 1С:Предприятия откройте группу gos.1cfresh.com, выделите в ней нужное приложение и нажмите кнопку 1С:Предприятие.
Если будет выведено окно Доступ к OpenID провайдеру, введите в него ваши логин и пароль в сервисе и нажмите кнопку OK.
6. Обновление тонкого клиента
Если на клиентском компьютере используется ОС Linux и версия тонкого клиента отличается от версии платформы «1С:Предприятие», используемой в сервисе, то при попытке входа в информационную базу сервиса с помощью тонкого клиента будет выдано такое окно.
В этом случае необходимо скачать и установить дистрибутив нужной версии тонкого клиента и языкового файла той же версии тонкого клиента, как описано в начале этой статьи.















