Создание Тонкого Клиента На Базе Дешевых Одноплатных Пк

Иногда нужно сделать хитрый тонкий клиент - с необычной авторизацией и минимумом затрат. Самый простой способ сделать это — использовать Linux. Широко используемый дистрибутив для одноплатных ПК на базе ARM. Армбиан , основанный на ветке Debian. Для экспериментов у меня была в наличии плата OrangePi One.

Создание тонкого клиента на базе дешевых одноплатных ПК

и карту MicroSD для 2G - я решил сделать это тонкий RDP клиент с окном блокировки и без лишнего софта.

Дистрибутив Armbian для этой платы Здесь .

Загрузите последнюю с примечанием: Сценарии использования сервера или легкого настольного компьютера.

У него не будет рабочего стола, который не нужен в тонком клиенте.

Записываем образ на MicroSD (я использовал sourceforge.net/projects/win32diskimager ).

После записи: вставьте MicroSD, подключите все интерфейсы (LAN, Дисплей, клавиатура, мышь), включите питание, дождитесь загрузки.

Когда система загрузится, вам будет предложено ввести имя пользователя и пароль.

Также можно авторизоваться по SSH, посмотрев выданный DHCP-адрес (я воспользовался этой возможностью, чтобы не вводить настройки с клавиатуры, и запустил PuTTY).

Авторизоваться: корень Пароль: 1234 После входа система предложит вам сменить пароль: введите действующий.

1234 и новый пароль дважды.

Также предлагается создать пользователя - назовем его пользователь .

После этого приступим к настройке системы под поставленную задачу.

Давайте установим недостающие пакеты:

  
  
  
  
  
  
  
  
  
  
  
   

apt update apt install xorg lightdm xcursor-themes numix-gtk-theme numix-icon-theme apt install python-gtk2 freerdp

Запуск графического ввода для systemd будет включен следующим образом:

systemctl set-default graphical.target

Создадим файлы: (самый простой способ создать их - использовать редактор vi - после запуска параметра вам нужно нажать i для вставки - затем просто вставьте текст в окно консоли, а когда закончите, нажмите Esc и введите :w для записи и :q для выхода) Для получения ваших параметров через DHCP-сервер

vi /etc/dhcp/dhclient-exit-hooks.d/paramscript



setup_add() { echo $new_host_name > /etc/hostname hostname $new_host_name if [ -z "$new_nds_servers" ] ; then echo $new_routers > /tmp/rdp_server echo "testuser" > /tmp/rdp_user echo "1234test#" > /tmp/rdp_passwd else echo $new_nds_servers > /tmp/rdp_server echo $new_nds_tree_name > /tmp/rdp_user echo $new_nds_context > /tmp/rdp_passwd fi } case $reason in BOUND|RENEW|REBIND|REBOOT) setup_add ;; EXPIRE|FAIL|RELEASE|STOP) return ;; esac

этот скрипт получает имя хоста и nds_servers, nds_tree_name, nds_context через DHCP и сохраняет их значения в файлах во временной папке.

По умолчанию будет использоваться IP-адрес маршрутизатора.

Для настройки GTK и назначения его темам создадим

vi /home/user/.

gtkrc-2.0



gtk-icon-theme-name = "Numix" gtk-theme-name = "Numix" gtk-cursor-theme-name = "whiteglass"

Чтобы настроить менеджер графической среды LightDM:

vi /etc/lightdm/lightdm.conf



[LightDM] greeter-user=user [Seat:*] greeter-session=my-greeter

Поэкспериментировав, я решил использовать Greeter (программу входа в систему), таким образом мне не придется настраивать автологин, и программа будет запускаться от нужного пользователя.

Теперь создадим ярлык программы (и ее папку):

mkdir /usr/share/xgreeters/ vi /usr/share/xgreeters/my-greeter.desktop



[Desktop Entry] Name=PyGTK+ Greeter Comment=This runs the PyGTK+ greeter, it should only be run from LightDM Exec=python /home/user/greeter.py Type=Application X-Ubuntu-Gettext-Domain=lightdm

И сам код программы входа:

vi /home/user/greeter.py

Код предлагает ввести 4-значный пароль 0811 (день месяца с ведущими нулями и без пробелов) После успешного ввода xfreerdp запускается с полученными параметрами.

Код

#!/usr/bin/env python # -*- coding: UTF-8 -*- from datetime import datetime from gobject import timeout_add import os,sys,gtk,pango,subprocess class GreeterApp:

Теги: #python #Сделай сам или сделай сам #Разработка Raspberry Pi #Настройка Linux #GTK #dhcp #удаленный рабочий стол #Orange Pi #тонкий клиент #thinstation #Thinstation #Thinstation #thinstation #Thinstation #Thinstation #Thinstation #Thinstation

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.