Тонкий клиент на Raspberry Pi

  • Печать

Часто возникает вопрос - как загрузить Raspberry Pi с Thinstation? Ответ - никак, Thinstation не поддерживает архитектуру ARM.
Но можно использовать RasPi в качестве тонкого клиента и с "родной" ОС.

Берём отсюда https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit Raspberry Pi OS with desktop.
Записываем c помощью Rufus https://rufus.ie/ru/ (достаточно portable-версии) img файл из архива на флешку и загружаем Raspberry в свеже-развернутую систему.

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

 

1

Устанавливаем софт:

$ sudo apt-get install mc freerdp2-x11 gxmessage

В терминале настраиваем опции подключение xfreerdp к терминальному серверу.

Настраиваем систему. Для этого, запустить административную утилиту, выполнив команду:

$ sudo raspi-config

config

(Навигация осуществляется стрелками, табуляцией, Enter — выбор, ESC — возврат)
Перейти в System Options и изменить Hostname, например THIN1 -> Ok.
Перейти в System Options -> S5 -> B2 -> Ok (Загрузка без Х с автологином Pi)
Перейти в Interface Options и включить доступ по SSH.
Finish
Перезагрузиться по запросу, или командой:

sudo reboot

Выясняем IP-адрес командой

$ ifconfig

И теперь можем подключиться к устройству удаленно по SSH

Создадим скрипт, который запускал бы freerdp на полный экран. В каталоге /home/pi создадим файл runrdp:

#!/bin/bash
#Подставьте свои опции
xfreerdp /v:192.168.1.5 /f -sec-nla /cert-ignore /network:lan

На этот скрипт надо поставить права на запуск.

$ chmod 755 /home/pi/runrdp

Запускаем скрипт, на экране должно отобразиться окно подключения к удаленному рабочему столу.

Создадим скрипт, который бы, при запуске x-сервера, открывал RDP-сеанс.
Для этого, в каталоге /home/pi создадим файл автозапуска при начале X-сессии .xinitrc, следующего содержания:

#!/bin/sh
setxkbmap -option terminate:ctrl_alt_bksp
setterm -blank 0 -cursor off
xsetroot -cursor_name top_left_arrow -solid rgb:4B/69/83
gxmessage -center -geometry 250x130 'Подключиться к серверу
или
Выключить компьютер' \
-buttons 'Подключиться:2,Выключить:3'
case $? in
 2)
/home/pi/runrdp
 ;;
 3)
 sudo shutdown -h now
 ;;
esac

Получится вот такая простая менюшка:

menu

Редактируем /home/pi/.profile, дописав туда следующие строки:

…
if [ -z "$DISPLAY" ] && [ $(tty) = "/dev/tty1" ]; then
 startx
 clear
 echo "Wait 3 seconds"
 sleep 3
 exit
fi

Перезагружаем систему, тестируем... 

PS 

Я не тестировал, но скорее всего можно взять Raspberry Pi OS Lite и прочитать пост.

 

Обсудить на форуме (комментариев 1).