Тонкий клиент для linux mint

Тонкий клиент для linux mint

Для удобства работы с тонким клиентом «1С:Предприятия 8» рекомендуется выполнить следующие настройки (это достаточно сделать один раз):

    Настроить автоматическое добавление приложений сервиса в список тонкого клиента (см. статью по ссылке).

Включить режим отображения списка информационных баз в виде дерева:

  1. запустить тонкий клиент;
  2. нажать в окне Запуск 1С:Предприятия кнопку Настройка.
  3. установить флажок Отображать в виде дерева;
  4. нажать кнопку OK.

После этого в списке информационных баз тонкого клиента будет расположена группа gos.1cfresh.com с пунктами:

  • для вызова доступных вам приложений сервиса gos.1cfresh.com;
  • Личный кабинет (gos.1cfresh.com) — вход в ваш личный кабинет в сервисе;
  • Завершить сеансы (gos.1cfresh.com) — сброс сведений о вашем подключении к сервису. При следующем входе с помощью тонкого клиента в любое приложение сервиса или в личный кабинет сервиса у вас будут запрошены логин и пароль.

Также можно добавить приложения сервиса в список тонкого клиента вручную (см. статью по ссылке).

5. Запуск приложений с помощью тонкого клиента

Чтобы запустить приложение с помощью тонкого клиента:

    Запустите тонкий клиент 1С:Предприятия.

В окне Запуск 1С:Предприятия откройте группу gos.1cfresh.com, выделите в ней нужное приложение и нажмите кнопку 1С:Предприятие.

Если будет выведено окно Доступ к OpenID провайдеру, введите в него ваши логин и пароль в сервисе и нажмите кнопку OK.

6. Обновление тонкого клиента

Если на клиентском компьютере используется ОС Linux и версия тонкого клиента отличается от версии платформы «1С:Предприятие», используемой в сервисе, то при попытке входа в информационную базу сервиса с помощью тонкого клиента будет выдано такое окно.

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

Источник

Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети

UPDATE 2020-11-06 Теперь проект поддерживает Ubuntu 20.04 Focal Fossa (LTS) и появился готовый вариант для сборки с использованием VMWare Horizon, наряду с FreeRDP.


Изображение с сайта getwallpapers.com

История

В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой хороший друг @deadroot сделал первую версию тонкого клиента, который грузился целиком в память, не требуя что-то монтировать по сети для работы.

Потом этот клиент активно допиливал я, там было сделано много полезных штук, специфичных именно для нашего сценария использования. Потом банк закрылся (отозвали лицензию), остатки исходников клиента переехали на мой гитхаб: thunclient. Пару раз я его слегка допиливал на заказ.

Недавно у меня дошли руки сделать из этой кучи страшных ненадёжных скриптов достаточно удобное для использования решение:

  • Vagrant поднимает виртуалку, которую можно настраивать как обычную рабочую станцию.
  • Одним скриптом из неё собирается готовые для загрузки по сети файлы, лишнее вырезается.
  • Vagrant поднимает виртуальный PXE сервер и сетевой клиент для проверки получившейся сборки.

Что умеет

В банке для удалённого подключения к тонкому клиенту пользователя использовался 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 приносит и некоторые сложности.

На машине должна работать служба virtualbox-guest-utils , для работы общих папок. Кроме того, нужен менеджер загрузки ( grub ), обязательный для машины с диском и бесполезный для загружаемого по сети клиента. Эти проблемы я решил, исключая из сборки все файлы этих пакетов. Поэтому на размер получившегося образа они не влияют.

Кроме того, для Vagrant обязателен работающий на машине ssh, пускающий пользователя со сгенерированным ключом. Я исключаю из сборки домашний каталог пользователя vagrant, используемого для настройки, вместе с его ssh ключами. Ключи для используемого при работе пользователя ubuntu можно положить в его домашний каталог.

Ну и для работы Vagrant генерирует настройки сетевых интерфейсов, которые будут ошибочными для реальной машины. Пришлось на время сборки подменять файл interfaces , и написать скрипт, который на реальной машине генерирует конфиг для настройки всех доступных интерфейсов по DHCP.

Provisioning делается с помощью Ansible. Это очень удобный инструмент для конфигурации всяческого софта и железа. Но включать в итоговый образ Ansible и требующийся ему второй python с нужными библиотеками не хотелось бы: бесполезный балласт. Ставить Ansible на машину, где запукается виртуальное окружение, тоже не хочется: это усложнит работу.

Vagrant позволяет сделать хитрость: поставить Ansible на одну машину (тестовый PXE сервер), и с неё делать разворачивание других машин, в рамках той же playbook. Для этого машины должны иметь статический IP, чтобы прописать его в ansible inventory. Ну а проблему с конфигурацией интерфейсов мы решили в прошлом пункте.

Непослушный кабачок

Squashfs — сжимающая read-only файловая система. Лежит в основе большинства существующих Linux LiveCD. Именно она позволяет создать достаточно компактный образ системы, помещающийся в оперативную память тонкого клиента.

Из итогового образа надо много чего вырезать: /tmp , /run , /proc , /sys , /usr/share/doc и так далее.

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

Мне быстро надоело с ней бороться, я просто нашёл find -ом все файлы и папки, которые надо исключить, и запихнул в один большой файл с исключениями по полному пути. Костыли.jpg. Но работает. Единственным артефактом этого подхода в итоговом образе остаётся одинокая папка /proc/NNN , соответствующая номеру процесса mksquashfs, которого при создании списка исключений ещё не было. Сверху всё равно монтируется procfs.

Магия initrd

Чтобы не тянуть в составе ядра все необходимые драйвера и логику монтирования корневой ФС, Linux использует initial ramdisk. Раньше использовался формат initrd, в котором этот диск представлял собой настоящий образ файловой системы. В ядре 2.6 появился новый формат — initramfs, представляющий собой извлекаемый в tmpfs cpio-архив. Как initrd, так и initramfs могут быть сжаты для экономии времени загрузки. Многие названия утилит и имена файлов по-прежнему упоминают initrd, хотя он уже не используется.

В Debian/Ubuntu для создания initramfs используется пакет initramfs-tools. Он даёт следующие возможности для кастомизации:

  • хуки — скрипты специального формата, которые позволяют добавлять в образ модули ядра и исполняемые файлы со всеми необходимыми им библиотеками
  • скрипты в каталогах init-bottom , init-premount , init-top , local-block , local-bottom , local-premount , local-top , выполняемые в соответствующий момент загрузки. См. man initramfs-tools(8)
  • самое интересное — добавлять собственные скрипты загрузки, отвечающие за монтирование корневой ФС. Они должны определять shell функцию mountroot() , которая будет использована главным скриптом /init . В составе уже есть local для монтирования корня на локальном диске и nfs для монтирования корня по сети. Используемый скрипт выбирается параметром загрузки boot .

Итого, чтобы примонтировать корневую ФС каким-то сильно хитрым образом, надо создать свой скрипт загрузки, определить в нём функцию mountroot() , передать имя этого скрипта в параметре загрузки boot и не забыть написать хуки, подтягивающие в initramfs все нужные скрипту программы и модули ядра.

Борьба за оверлеи

Для создания единой корневой файловой системы из нескольких используется OverlayFS. В первых версиях использовалась AUFS (она используется большинством линуксовых LiveCD). Но её не приняли в ядро, и сейчас всем рекомендуют переходить на OverlayFS.

После монтирования настоящей корневой ФС в каталог внутри initramfs, будет запущена программа run_init из состава klibc-utils . Она проверит, что корневая ФС смонтирована внутри initramfs, отчистит initramfs (зачем зря терять память?) и переместит точку монтирования корневой ФС в / , и запустит системный init. Подробности. Эта программа собрана в виде отдельного исполняемого файла, потому что скрипт, использующий любые внешние утилиты, сломается после отчистки initramfs.

Если корневая ФС собирается из нескольких оверлеев, смонтированных внутри initramfs, при работе run_init эти точки монтирования пропадают, и она ломается. Эту проблему можно решить, переместив точки монтирования оверлеев внутрь корневой ФС, где они уже не пропадут. Рекурсия 🙂 Делается так: mount —move olddir newdir .

AppArmor пришлось отключить: её профили рассчитаны на прямое монтирование корневой ФС с одного устройства. При использовании OverlayFS она видит, что /sbin/dhclient это на самом деле /AUFS/root/sbin/dhclient , и профиль ломается. Единственный вариант её использовать — переписать все профили для всех приложений, и обновлять при необходимости.

Где нужна возможность записи

Под идее, Linux может спокойно работать, когда все ФС примонтированы только на чтение. Но многие программы рассчитывают на возможность записи на диск, приходится монтировать туда tmpfs:

  • /tmp , /var/tmp — понятно, нужны очень многим
  • /var/log — пишем логи
  • /run — без него не запустятся почти все сервисы
  • /media — монтированиие подключенных носителей
  • /var/lib/system — используется многими программами из systemd, в частности systemd-timesyncd
  • /var/lib/dhclient — сюда dhclient записывает информацию о leases
  • /etc/apparmor.d/cache — если вы всё-таки поборете AppArmor, то ему надо будет писать файлы в /etc . ИМХО отвратительно, для таких вещей есть /var .

Итого

Если вы хотите собрать загружаемую по сети и работающую только из памяти сборку Ubuntu — вот тут есть готовый удобный конструктор: thinclient. Если потребуется помощь — пишите в ЛС или в тикеты на гитхабе, подскажу.

Источник

Использование RDP-клиентов в Linux

Технология RDP (Remote Desktop Protocol) позволяет пользователям одинаковых или разных версий операционных систем совершать удаленное управление компьютером. Существуют специальные клиенты, отличимые от консольных утилит, где эта опция реализована через графический интерфейс, а это значит, что юзеру предоставляется полный вид рабочего стола, возможность взаимодействовать с клавиатурой и указателем мыши. В рамках сегодняшней статьи мы хотим рассказать об использовании популярных RDP-клиентов в Linux.

Используем RDP-клиенты в Linux

Сейчас существует не так много RDP-клиентов, поскольку имеются сложности в реализации технологии, которые связаны и с ее проприетарностью. Однако обычному юзеру на выбор предлагается не менее трех различных вариантов. Далее мы хотим рассказать лишь о самых популярных и надежных из них, а вы, отталкиваясь от инструкций, уже сможете инсталлировать подходящий клиент и производить подключение к серверу.

Вариант 1: Remmina

Remmina — самый популярный клиент удаленного рабочего стола, который по умолчанию предустановлен во многих дистрибутивах Linux. Однако зачастую его версия является устаревшей. Эта программа имеет простой и понятный GUI с огромным количеством вспомогательных инструментов. Освоить ее сможет даже начинающий пользователь, поэтому мы и поместили этот софт на первое место. Давайте пошагово разберем процедуру установки, настройки и подключения в Remmina.

Шаг 1: Установка

Начать следует с установки данного RDP-клиента в операционную систему. Как было сказано ранее, по умолчанию во многих дистрибутивах Remmina уже присутствует, но не помешает обновить ее версию, что не займет много времени.

    Если в вашей системе Remmina попросту отсутствует и вы хотите инсталлировать стабильную, но не самую последнюю сборку, для начала запустите «Терминал» удобным способом, например, через меню приложений или зажав комбинацию Ctrl + Alt + T.

Всегда действия инсталляции запускаются от имени суперпользователя, поэтому приходится подтверждать их, вводя пароль в новой строке. Эта ситуация не стала исключением.

Далее может потребоваться дополнительное подтверждение расширения занятого дискового пространства. После успешного завершения инсталляции можно переходить к использованию клиента. Если же вы желаете обновить версию, придется задействовать пользовательские хранилища, поскольку на официальные новые сборки не поступают. Реализация будет немного сложнее, а выглядит так:

    В консоли введите sudo apt-add-repository ppa:remmina-ppa-team/remmina-next , чтобы получить файлы из хранилища.

Вы будете уведомлены о получаемых пакетах. Примите их, нажав на Enter.

Ожидайте завершения скачивания файлов. Во время этой операции не закрывайте консоль и не прерывайте соединение с интернетом.

После этого следует обновить список системных хранилищ через команду sudo apt-get update .

Остается только произвести инсталляцию RDP-клиента и сопутствующих ему плагинов, введя sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard .

Подтвердите информацию о занимаемом дисковом пространстве, выбрав ответ Д, и дожидайтесь окончания процедуры.

На этом инсталляция Remmina завершена. Старая версия будет автоматически замещена новой, следовательно, можно закрывать консоль и переходить к первому запуску программного обеспечения.

Шаг 2: Запуск и настройка

С запуском и конфигурацией Remmina разберется даже самый начинающий пользователь, а с последним поможет официальная документация. Однако мы все же хотим остановиться на основных моментах, чтобы при реализации этой задачи не возникло каких-либо трудностей.

    По умолчанию значок Remmina сразу же после установки будет добавлен в меню приложений. Отыщите его там, прокрутив список или воспользовавшись строкой поиска.

Для перехода к настройкам кликните по кнопке в виде трех горизонтальных линий и выберите пункт «Параметры».

Теперь на экране отобразится окно «Настройки Remmina». В нем присутствует огромное количество вкладок, отвечающих за внесения глобальных и пользовательских изменений. Например, здесь можно задать стандартное разрешение экрана, изменить комбинации клавиш, редактировать пункты протокола SSH и безопасности.

Мы не будем останавливаться на каждом присутствующем пункте детально, поскольку разработчики предоставляют официальную информацию по каждой опции, а также интерфейс Remmina имеет русский язык, что поможет самостоятельно во всем разобраться.

Шаг 3: Создание профиля и подключение

После установки оптимальной конфигурации Remmina остается только создать профиль для подключения, используя рассматриваемый протокол, чтобы успешно соединиться с удаленным рабочим столом. Мы предлагаем разобрать основной принцип этой процедуры.

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

Заполните все строки в соответствии со своими требованиями. Обязательно перепроверяйте данные учетных записей и адреса серверов. После этого вы можете выбрать действие. Если нажать на «Подключить», указанные настройки сохранены не будут, ведь для этого следует кликнуть на «Сохранить и подключить».

В будущем сохраненные профили можно запускать прямо через главное меню Remmina. Все доступные подключения отобразятся в виде таблицы с детальной информацией.

После запуска откроется отдельное окно с виртуальным рабочим столом. Ожидайте начала загрузки и используйте инструменты на левой панели, чтобы управлять сеансом.

Теперь остается только приступить к взаимодействию с удаленным рабочим столом, выполняя там необходимые действия. Если у вас возникли какие-то вопросы по управлению Remmina, обратите особое внимание на документацию: там в максимально развернутом виде описаны ответы абсолютно на все вопросы пользователей.

Вариант 2: rdesktop

Следующий инструмент под названием rdesktop не является таким популярным среди начинающих пользователей, поскольку все настройки производятся через консоль путем ввода соответствующих команд. Однако это решение стало востребованным среди профессионалов и любителей консольных утилит.

Шаг 1: Установка rdesktop

Вкратце остановимся на самой процедуре инсталляции rdesktop. Данная программа доступа в официальных хранилищах дистрибутивов, благодаря чему юзеру не потребуется скачивать дополнительные файлы или пакеты.

    Откройте «Терминал» любым удобным образом.

Введите команду sudo apt-get install rdesktop и нажмите на Enter.

Подтвердите это действие, введя пароль суперпользователя в новой строке.

Установка будет продолжена сразу же после выбора положительного ответа «Д».

Запуск данной утилиты тоже осуществляется через «Терминал» через команду rdesktop .

Если используемый дистрибутив основан не на Debian, аргумент apt-get в команде инсталляции придется заменить на yum или pacman. В остальном же никаких различий со сборками Linux не имеется.

Шаг 2: Запуск и подключение

Если в консоли просто вписать команду rdesktop , следующими строками отобразится краткая сводка о синтаксисе и доступных опциях. Мы рекомендуем изучить появившиеся сведения, чтобы понять, как именно осуществляется соединение с удаленным рабочим столом через эту утилиту.

После этого можно осуществлять непосредственное подключение к другому компьютеру. Давайте разберем этот процесс на примере строки rdesktop -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP .

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

  • -z . Эта опция отвечает за активацию сжатия потока. Используйте ее для оптимизации соединения. Особенно актуально для систем с низкой скоростью интернета.
  • -P . Создает кэширование. Это помогает сохранять некоторую информацию на локальном хранилище, в будущем не обращаясь каждый раз на сервер для ее загрузки.
  • -g . Устанавливает пользовательское разрешение окна рабочего стола. После этой опции введите необходимый параметр, чтобы он был применен.
  • -u . После этой опции укажите имя пользователя, которое будет отображаться на сервере.
  • -p . Данный аргумент необходим в случае присутствия пароля.
  • SERVER_IP . Всегда указывается в конце строки. Вместо этой надписи введите доменное имя сервера, к которому хотите осуществить подключение.

Шаг 3: Обмен файлами между Windows и Linux в текущей сессии

В завершение разбора утилиты rdesktop хотим рассказать об основных действия, выполняемых через ввод команд в консоли. Для начала поговорим о самых востребованных задачах, которые связаны с обменом файлов. Сетевая папка подключается через rdesktop -r disk:share=/home/documents -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP , где все указанные опции и адреса замените на требуемые.

После ввода этой команды папка станет доступна для чтения и записи, что позволит всячески управлять находящимися там файлами. Однако если возникли проблемы с доступом, придется закрыть сессию, активировать команду chown -R /home/documents USERNAME:USERGROUP , а уже потом подключить директорию повторно.

Шаг 4: Создание значка быстрого доступа

При изучении первого RDP-клиента вы могли заметить, что все профили сохраняются в таблице графического меню, что позволяет быстро соединяться и переключаться между ними. К сожалению, в rdesktop такая функция попросту отсутствует, поэтому остается только один альтернативный метод — ручное создание кнопки быстрого доступа для каждого сервера.

    В консоли создайте пустой текстовый файл с произвольным названием через удобный текстовый редактор. Сама команда обретет примерно такой вид: sudo nano rdesktop , где nano — используемый текстовый редактор, а rdesktop — название самого файла.

При появлении окна вставьте две строки, указанные ниже, заменив опции и сведения о сервере на имеющиеся.

#!/bin/bash
rdesktop -z -P -g 1280×900 -u USERNAME -p PASSWORD SERVER_IP

Сохраните все изменения и завершите работу в текстовом редакторе.

Введите команду chmod +x rdesktop , чтобы создать значок быстрого запуска на рабочем столе.

Все остальные опции и нюансы взаимодействия с rdesktop, о которых мы не поговорили выше, детально описаны в официальной документации или используются довольно редко, поэтому и не нуждаются в объяснениях.

Вариант 3: freerdp

freerdp — самый новый из всех известных RDP-клиентов, который только начинает набирать обороты. Управление им тоже осуществляется в консоли, а функций сейчас мало, поэтому мы и поставили этот вариант на последнее место.

    Инсталлируется freerdp со всеми необходимыми компонентами через команду sudo apt-get install freerdp libfreerdp-plugins-standard .

Инсталляция начнется сразу же после подтверждения паролем.

Выберите ответ Д, чтобы загрузить все архивы.

Используйте строку xfreerdp -u black -d WORK -n «Lumpics» -a 15 -k US -g 1440×830 —plugin cliprdr —plugin rdpdr —data disk:DiskP:/home/black — my.rdp.server.net , чтобы запустить соединение с сервером.

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

  1. -u . Отвечает за имя пользователя на сервере. Сразу же после этой опции должен быть вписан соответствующий логин.
  2. -d . То же самое, но только с доменом рабочей группы, который определяется заранее и должен быть одинаковым у все участников локальной сети.
  3. -n . Определяет имя хоста.
  4. -a . После этого аргумента указывается глубина цвета окна. По умолчанию выбирается значение 15.
  5. -k . Устанавливает стандартную раскладку клавиатуры, где в качестве параметра указывается код государства.
  6. -g . Определяет размер отображаемого окна в пикселях.
  7. —plugin cliprdr . Активирует общий буфер обмена с будущим удаленным рабочим столом.
  8. —plugin rdpdr —data disk:DiskP:/home/black — . Подключает домашнюю папку как общую сетевую и позволяет обмениваться данными.
  9. my.rdp.server.net . Заменяется на имя используемого RDP-сервера.

Выше вы получили общую сводку о трех различных RDP-клиентах для Linux. Как видите, все они имеют свои особенности и подойдут разным пользователям. Каждый из них может соединяться с Windows, поэтому вся сложность выбора заключается лишь в различиях управления и реализации графического интерфейса окна показа удаленного рабочего стола.

Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Читайте также:  Как отформатировать флешку через консоль линукс
Оцените статью