Установка и настройка Thinstation 5.5

Установка и настройка Thinstation 5.5

В связи с ростом без дисковых станций, решил обновить систему и заодно сделать правильные настройки Thinstation
За основу взят уже готовый сервер

https://imbicile.pp.ru/ustanovka-tonkih-klientov-na-primere/

Что имеем:
Установлен TFTP сервер
DHCP сервер находится на Windows хосте. Так сложилось исторически
Парк устаревших компьютеров которые будут терминальными станциями с загрузкой по сети

Структура папок:
Корнем является папка tftpboot из статьи
В ней содержится две папки
usb - загрузка накопителя grub4dos
ts - Thinstation для терминальх клиентов

Будем работать с папкой ts

Сборка Thinstation происходит на рабочем ПК с системой Ubuntu 16.04.3 LTS

Идем на сайт http://thinstation.github.io/thinstation/
Жмем Download ZIP. Качается последняя версия Thinstation. На момент установки thinstation-5.5-Stable

Переходим в каталог с архивом и распаковываем

unzip thinstation-5.5-Stable.zip

Переходим в каталог и от root запускаем первоначальный процесс установки. Чтобы руками не подтверждать все запросы используем опцию -a

sudo -s
cd thinstation-5.5-Stable/
./setup-chroot -a

Прежде чем начинать сборку. необходимо определиться с параметрами и расположениями файлов в папке ts
Основное желание это легкий процесс добавления однотипных рабочих станций, без сборки нового образа к каждой.
Thinstation умеет использовать подгрузку конфигуации станций на этапе загрузки образа
Будем использовать PXE загрузку и подключение rdesktop
Файлы конфигурации будут лежать отдельно в подпапке config
В ней будут находится:
thinstation.hosts - список терминальных клиентов с присваиваемыми именами и группами
thinstation.conf.network - глобальная конфигурация
thinstation.conf.group-rd_term - файл группы. на данный момент один
thinstation.conf-test1 - файлы конфигурации для каждого клиента

В самой папке ts будет лежать загружаемый образ для PXE

Если вы не используете подпапок то можно все делать в корне tftp сервера или как вам удобнее

Начинаем сборку

Запускаем от root Thinstation
sudo -s
./setup-chroot

Берем конфигурацию для rdesktop из папки thinstation-5.5-Stable/build/conf/rdesktop-tiny. Здесь отключены лишние языки и собрано все по минимуму
Копируем два файла build.conf.example и thinstation.conf.buildtime в папку /build. Не забудьте сделать перед этим бэкапы оригинальных файлов

Чтобы было понятнее расписываю по шагам

cd build
mv build.conf.example bak.build.conf.example
mv thinstation.conf.buildtime bak.thinstation.conf.buildtime
cd cd conf/rdesktop-tiny/
cp build.conf.example /build
cp thinstation.conf.buildtime /build
cd /build

Начинаем редактировать файл основной сборки build.conf (он является ссылкой на build.conf.example)

nano build.conf

Нам необходимо добавить:
machine classic_generic - поддержка большинства железа
param basepath ts/config - путь к папке конфигурации
Остальное по усмотрению

################################################
### ---     Thinstation Build Config     --- ###
################################################
#
#
# This is Thinstation s basic setup file. In this file you decide which
# hardware, programs and features to be included in the Thinstation
# boot image generated by running "./build".
#
# You can customize/limit the possibilities in the thinstation.conf
# files later.
#
# Anything after a "#" is a comment. You activate "things" by removing
# the "#" and remove "things" by putting a "#" in front of them.
#
# First we define which modules to include. Modules are hardware
# drivers. NEVER include more than necessary - the more modules, the
# longer boot time.

########################################################
### --- Machine Modules to include in boot image --- ###
########################################################
# A machine profile is a set of modules for a specific set of hardware
# components like a thinclient with adapters. It does not include any
# filesystem modules, those need to be selected individualy. Making a
# a machine profile is a two step process. First you will need to make
# an allmodules build like "./build --allmodules" with the extensions-x
# package included. Once the client machine is booted with that image
# you can open and xterm or telnet in and run "hwlister.sh". hwlister.sh
# will compile some lists and attempt to post them to the pxe server assigned
# to the client. If the pxe server is this workstation and you are hosting
# files directly out of this build env, you can then run
# "./mkmachine SOME-MODEL" and the files will be put into the machine folder
# under that model name. Now all you have to do is add a line to this file
# like "machine SOME-MODEL" and you will no longer have to make
# allmodules builds. If this is not the pxe server, you will have to
# move stuff around on your own, but the most important files are
# modules.list and firmware.list.

################################################
### --- Modules to include in boot image --- ###
################################################
# Any modules may be added as "module" or "module_pkg".
# If defined as a "module", the driver is included in the boot image.
# If defined as a "module_pkg", the driver is added from outside the
# image, such as from a tftp server.  See note below for more details.
#
# Normally you should use "module".  Only use "module_pkg" if you want
# to dynamically load modules.
# Note: If you create a module_pkg network driver, and decide to load it
#       from a tftp server, it won t work.  This is because the image
#       won t have a network driver to get the module_pkg in the first
#       place.

#!Hardware
#!!Machine module list
#machine m704				# Gigabyte m704 Rover PC
#machine WYSE9150se			# WYSE 9150se Thin Client
#machine NT-A3500			# Foxconn AMD E-350 Barebone
#machine NT-535				# Foxconn Intel D525 Barebone
#machine Dell-FX170			# Dell FX170 D525 Atom Machine
#machine VMWare				# A good set of modules for a VmWare Virtual Machine
#machine Virtualbox-4.1			# A good set of modules for a Virtualbox Virtual Machine
#machine VIA-Epia-CLE266		# VIA Epia/Eden based on the the CLE266 chip. Rather common in thin clients a few years old
machine classic_generic			# Big list of modules that you can choose by unremarking them
#machine IGEL-M300C                     # Igel CX700 Via
#machine HP-t5135                       # HP CX700 Via
#machine foxconn-nT-330i		# Foxconn nT 330i Barebone
#machine foxconn-nT-435			# Foxconn nT 435 Barebone
#machine foxconn-nT-535			# Foxconn nT 535 Barebone
#machine foxconn-nT-A3800		# Foxconn nT A3800 Barebone
#machine foxconn-nT-i2847		# Foxconn nT i2847 Barebone
#machine foxconn-nT-iBT18		# Foxconn nT iBT18 Barebone
#machine foxconn-nT-n270		# Foxconn nT n270 Barebone

#!!Wireless Stuff
#package wpa_supplicant
#package wireless
#package wifi-connect
#!!!Misc Modules

#!!Filesystem Support
# Every mounted device needs a filesystem, so choose which ones you need.
#module usb-storage
#module autofs4          	# Automount and autofs support
package overlayfs
#module isofs            	# ISO9960 file system support for CDRoms
#module udf			# CDRom UDF file system support
#module vfat             	# Fat and VFat file system support
#module ntfs             	# NTFS file system support
#module ext2             	# Ext2 file system support
#module ext3	            	# Ext3 file system support
#module ext4			# Ext4 file system support
#module nfs             	# NFS file system support
#module cifs			# CIFS support (use either this or smbfs - not both)

#################################################
### --- Packages to include in boot image --- ###
#################################################

# A package is a program or utility.
# Any packages may be added as "package" or "pkg".
# If defined as a "package", the program is included in the boot image.
# If defined as a "pkg", the program is added from outside the image.
# Normally, you should use "package".  Only use "pkg" if you want to
# dynamically load programs.


# --- Packages to include in boot image
# --- Packages below may be "package" or "pkg"
#!!Miscellaneous
#package overlayfs
#package ts-classic              # The classic ts logic for network/netfiles/hostname/mounting/telnetd/telnet/playcd
#package automount
package telnetd
package autonet
package netfiles
#package acpi
#package networkmanager
#package udisks-glue
#package ntp			# Utility to obtain date & time from network
#package sound-esd		# Enable sound-esd or sound-nasd if you want to be able to control
#package sound-nasd		#  sound on your thin client from another computer or
                        	#  your remote session.
#package alsa
#package gnome-media
#package gnome-network-properties
#package gnome-core
#package volumeicon
#package kismet
#package gst-plugins-base
#package gst-plugins-good
#package crystalhd
#package libva
#package iptables		# IP Tables support
#package cpufreq
#package cpuspeed
#package wine			# Windows Application Execution Platform

#!!X related
# --- XOrg 7.7
#package xorg7-v4l
#package xorg7-vesa		#A fallback driver that works with almost everything. Does allow resolution changes
#package xorg7-vmware
#package xorg7-ati		#ATI video driver for most modern ATI chipsets. Usually requires several firmwares
#package xorg7-nouveau		#New opensource nvidia driver
#package xorg7_nvidia		#Proprietary nvidia driver
#package xorg7_nvidia_64         # Additional 64bit module
#package xorg7-openchrome	#Via Video Chipsets driver
#package xorg7-intel		#Intel video driver for most modern chipsets except the GMA3500/3600
#package xorg7-sis

#!!Locale or localization files for keyboard and fonts.  (Language/Country)
#package locale-cs_CZ  # Czech
#package locale-da_DK  # Danish
#package locale-de_DE  # German
#package locale-en_GB  # English-Great Britain
package locale-en_US  # English-US
#package locale-es_ES  # Spanish
#package locale-fi_FI  # Finnish
#package locale-fr_BE  # French Belgium
#package locale-fr_CA  # French Canadian
#package locale-fr_CH  # French Switzerland
#package locale-fr_FR  # French
#package locale-hr_HR  # Croation
#package locale-hu_HU  # Hungarian
#package locale-it_IT  # Italian
#package locale-ja_JP  # Japanese
#package locale-nb_NO  # Norwegian (bokmål)
#package locale-pl_PL  # Polish
#package locale-pt_PT  # Portuguese
#package locale-pt_BR  # Portuguese-Brazil
#package locale-ru_RU  # Russian
#package locale-sv_SE  # Swedish
#package locale-tr_TR  # Turkish

#!Applications
#!!Connection Package types.  Choose *at least* one!
#package freerdp		# X RDP Client - fork of rdesktop
package rdesktop		# X RDP client for Windows Terminal Services (ver 1.7)
#package vncviewer		# VNC client (vncviewer)
#package xorg7vnc		# Remote Control Client Workstation
#package ica			# Citrix ICA client support
#package tarantella		# Tarantella client support
#package xnest			# XDM in a window client
#package urxvt            	# Light Xterm Client (vt102)
#package xterm           	# Xterm Client (vt220)
#package ssh 			# Secure Shell client
#package tn5250          	# 5250 terminal emulator
#package dillo			# Dillo light web browser
#package thinlinc		# Cendio ThinLinc client support
#package nx              	# No Machine NX client
#package 2x			# 2X client
#package java			# Java runtime
#package firefox_lowmem		# Firefox 3 for low resource machines
#package firefox		# Firefox current Web Browser
#package chrome			# Google Chrome Web Browser
#package kiosk			# Rkiosk Plugin for Firefox
#package flash_lowmem		# Flash 9 browser plugin for firefox and low resource machines
#package flash			# Flash Current
#package filezilla		# FileZilla FTP Client for X
#package git			# GIT Version Control System
#package gparted		# Gnome Partition Manager
#package open-vm-tools
#package medit			# Notepad
#package mplayer		# DVD and video player
#package vmview                 # VMware Open-View Client, no PCoIP
#package vmviewpcoip            # VMware Open-View Client, PCOIP
#package xbmc			# XBMC Media Center for X
#package evince			# X PDF Viewer

#!!Window Managers. Choose no more than 1 window manager.
# Not needed if you don t want to manage windows.
#package openbox		# A spartin clean/fast window manager.
#package xdesktop-kiosk		# A locked down desktop kiosk using the openbox wm (See packages/xdesktop-kiosk/build/conf for 
				# more help.
#package icewm			# "ICEWM" window manager.  Makes TS a light workstation.
#package icewm-theme-xp
#package icewm-themes		# Extra IceWM themes
#package icewm-theme-bernstein
#package icewm-theme-bluecrux
#package icewm-theme-liquid

#package xfwm4
#package xfwm4-extra
#package terminal		# Terminal emulator for xfwm4 -- Pulls in xfwm4
#package thunar			# File Manager for xfwm4 -- Pulls in xfwm4

#!!Window Manager Utils
#package idle-shutdown		# Package that lets you specify automatic shutdown settings and logic.
#package wbar         		# Adds icons to desktop
#package idesk

#!!Other services
#package www 			# Web access to client.  From a browser: "http://<ip number>"
                        	#  The standard page is for general user settings, administrative access
                        	#  is on port 6800.
#package lp_server		# Remote printing daemon (JetDirect compatible)
#package lpr             	# LPR Print Server, for use with samba-server package
#package lprng           	# LPRng Print Server, supports network based printing
#package cups
#package sshd 			# Dropbear secure shell server
#package tftpd 			# Built in tftpd server. Useful for making a tftpserver
				#  for thinstation on a WAN over a slow link.
#package samba-server		# Samba server FS Support, allows you to share
                        	#  local floppy/cdrom/hd/printer to other Windows
				#  PCs. Needs supermount for removeable media.
#package samba-client		# Samba smbclient, gives a shell like environment to access an samba server
#package hdupdate       	# Package for updating TS images on a hardisk over a network connection
#package scp	            	# Add ability to download files over internet using scp.  This package
                        	#  adds some networking based options for downloading configuration files or
                        	#  in using hdupdate package.
#package openvpn                # OpenVPN Client Support


#!!PCSCD Card Readers
#package gemplus410             # Card reader Gemplus 410 (Serial) and Gemplus 430 (USB)
#package ccidreader             # Generic USB card reader


#!!Miscellaneous
#package gtk-2.0			# Full gtk-2.0 plus clearlooks theme
#package icons-cursor		# Anti Aliased Mouse Cursor Theme
#package icons-hicolor           # Hi-Color icons for some applications and themes. Does not really contain any icons.
#package icons-gnome             # gnome Hi-Color icons theme. Needed by most other icon themes.
#package icons-tango             # tango Hi-Color icons theme
#package icons-neu               # neu Hi-Color icons theme
#package fonts-misc
#package fonts-jis-misc		# Japanese Industrial
#package fonts-util
#package fonts-cyrillic
#package fonts-Speedo-Bitstream
#package fonts-TTF-BH		# This one works nicely most of the time and is small.
#package fonts-TTF-vera
#package fonts-TTF-liberation
#package fonts-75dpi-Adobe
#package fonts-75dpi-Adobe-Utopia
#package fonts-75dpi-BH
#package fonts-75dpi-BH-Typewriter
#package fonts-75dpi-Bitstream
#package fonts-100dpi-Adobe
#package fonts-100dpi-Adobe-Utopia
#package fonts-100dpi-BH
#package fonts-100dpi-BH-Typewriter
#package fonts-100dpi-Bitstream
#package fonts-Type1-Adobe-Utopia
#package fonts-Type1-BH
#package fonts-Type1-Bitstream
#package fonts-Type1-IBM
#package fonts-Type1-xfree86
#package lshw			# list hardware
#package e3 			# Basic vi like Editor
#package rox			# Basic File Manager
#package debug			# metapackage to include other debugging packages and stop during bootup to check things.
#package extensions		# Adds various shell commands, will increase image size.
#package extensions-x		# Adds various utility s for the X Environment !!!! INCLUDES hwlister.sh !!!!
#package eGalax                 # eGalax TouchKit Drivers/Utility for serial and usb touchscreens by EETI.
#package installer		# Wipes a drive, makes partitions and downloads thinstation from a pxe server
#package devstation		# Starts a tftp server that hosts files from the boot-images/pxe folder
#package hwlister

# Parameters
########################################
### --- Miscellaneous Parameters --- ###
########################################
#!!Basic

#param fastboot       true				# Mangles the filesystem a special way as to improve boot spead and reduce
							# memory utilization. Cool/Dangerous . Harder to dubug other packages. (Finishing Touch)
							# Set to 'true' to enable or 'lotsofmem' for slightly slower booting but no squash lag on app launch.
#param tsuser         tsuser                            # Name of the user that thinstation will run as. Needs userauto package.
#param tsuserpasswd   pleasechangeme			# Do Change! Console/telnet password for non-root

param rootpasswd     pleasechangeme			# Do Change!  Console/telnet password for root
                                        		# If this is enabled, Telnetd will be enabled.
#param xorgvncpasswd  pleasechangeme			# VNC Access Password
#param storagepasswd  pleasechangeme			# Password for storage server
#param dialuppasswd   pleasechangeme			# Password for dialin account
#param sambapasswd    pleasechangeme  			# Password for samba shares when using user mode security
#param kernelcmdline "radeon.modeset=0"                 # Add additional kernel command lines. e.g. disable radeon framebuffer
#param stripelf       yes				# Strip extraneous information from elf binaries (Maybe not Safe)
#param acpisupport    disable				# Tells the kernel not to load acpi modules. (Breaks some Intel Chipsets if disabled)
#param uvesafb        disable				# Disable uvesafb (legacy option like modesetfb)
#param extra_vid      LVDS-1:d				# Add an extra video= parameter to kernel cmd line (good for disabling outputs on video cards)
param bootlogo       true				# Enable or Disable the use of the Boot splash.
param boottheme	     default           			# Backgound picture during boot
#param splash	     verbose				# kernel splash setting (0=off, silent or verbose (default=silent)
param splash	     silent
param fbmtrr         0                                  # MTRR value for uvesafb (default = 0, 4 is the best) grep your log to make sure you have not set it to high
#param fbnocrtc      true                               # This is usually a good thing.
param fbsm           ywrap                              # Window scrolling method (redraw, ypan, ywrap) ywrap is best, but may not work correctly for all people
#param fbvtotal       16                                # Override Video Bios Reported Memory in MB
#param fbmaxhf        67                                # Override Video Negotiated Max Horizontal Frequency
#param fbmaxvf        61                                # Override Video Negotiated Max Vertical Frequency
#param fbmaxclk       155                               # Override Video Negotiated Max Clock Frequency
#param fbnoedid       true                              # Don t do video edid
#param bootresolution 1024x600-32                       # Resolution used during Thinstation boot.
param bootresolution 1024x768-32                        # You can wright your own resolution mode here, if you know it.
#param bootresolution 1152x864-32
#param bootresolution 1280x768-32
#param bootresolution 1366x768-32                       # Otherwise, you may want to refer to the vbe_modes.list you created with hwlister.sh
#param bootresolution 1280x1024-32                      # for modes that your card supports.
#param bootresolution 1400x900-32                       # It is also used by xrandr if no xrandr options are specified.
#param bootresolution 1680x1050-32
#param bootresolution 1920x1080-32
#param bootresolution 1400x1050-32

#param desktop file:./backgrounds/Hive_Lite.jpg		# Custom image to load as desktop background
param defaultconfig  thinstation.conf.buildtime  	# The file with default setup.  No other config file is found
                                                 	#  during boot.
param basename       thinstation     			# Used for all config/tftp/scp file names
param basepath       ts/config               		# Used to determine path to tftp/scp files
#param baseurl        http://www.doncuppjr.net		# Used to determine url to wget files
#param keyfile        ./id_rsa       			# Path for private key file used for ssh/scp
#param knownhosts     ./known_hosts  			# Path for ssh known_hosts file for ssh/scp
#param localpkgs      false				# to determine is PKG files are to be loaded locally
#param fulllocales    true	      			# Use full locale support for packages
#param icaencryption  false      			# Use ica encryption support, add 290k to image
param haltonerror    false				# Will halt on error, default is true
param hardlinkfs     true
param sametimestmp   true                               # When enabled, the timestamps for all files and folders will be set to 00:00 of todays date in your timezone
param initrdcmd	     "squashfs"				# Compression mode and level of initrd file. none, gzip -9, lzma -9 ,bzip2 -9
#param squashopt      "-comp xz"
param bootverbosity   3          			# Increased vebosity when booting TS
                                			#   0 no verbose messages
                                			#   1 boot
                                			#   2 network
                                			#   4 init
                                			#   8 kernel
                                			#  16 modules
                                			#  32 packages
                                			#  64 email bootlog file to SMTP server & user set in
                                			#     thinstation.conf file.  This will only work
                                			#     if networking is working.
                                			#
                                			#  Combinations can be used (e.g. 24 does Kernel and Module Messages)

#!!Advanced
# Leave this alone unless you can t download (wget required on your Linux box):
param downloads         /downloads
param syslinuxtheme     "default"
#param httpproxy	http://192.168.1.2:8080

#param bootfssize     50%                               # Modify the size of the tmpfs filesystem

#package alltimezone
#param allres		true		# Includes a lot of resolution splash images for live-cd s
#param allfirmware	true		# Includes a lot of firmwares for live-cd s
param mesa_3d disable
param blacklist         "snd-pcsp.ko tusbd.ko"
param blacklist_grp     "gpu bluetooth ata hwmon md sound wireless cdrom fs acpi mac80211 mac802154 media staging power cpufreq firewire firmware i2c leds memstick \
			mfd message misc mmc mtd parport pcmcia platform pps ptp ssb target thermal tty w1 uio vfio ieee802154 ppp slip crypto char bcma base dca dma  \
			video hv arch lib security scsi tablet touchscreen serio 802 9p batman-adv ceph dns_resolver ipv4 key llc netlink packet sched sunrpc unix xfrm \
			8021q atm bridge dccp dsa ipv6 l2tp netfilter openvswitch rds sctp tipc vmw_vsock pci block hid image serial class storage virtio"
module uvesafb

Редактируем файл thinstation.conf.buildtime
Здесь я исправил временную зону, адрес NTP сервера в сети, и звук

AUDIO_LEVEL=0
MIC_LEVEL=0

NET_FILE_ENABLED=true
NET_USE=BOTH
NET_USE_DHCP=on
NET_HOSTNAME=ts_*

TIME_ZONE="Europe/Moscow"
NET_TIME_SERVER=192.168.116.11
NET_REMOTE_ACCESS_FROM="0.0.0.0"
TFTP_BLOCKSIZE=1024
LOCALE=en_US

SCREEN_BLANK_TIME=0
SCREEN_STANDBY_TIME=0
SCREEN_SUSPEND_TIME=0
SCREEN_OFF_TIME=0
VESAMODE=true

Собираем образ thinstation

./build --allmodules

Теперь нам нужно закинуть все необходимые файла на TFTP сервер. Я использую mc и shell соединение через ssh
Готовые образы находятся по пути thinstation-5.5-Stable/build/boot-images/pxe/boot

Нам понадобятся файлы. Если вдруг понадобиться пересоздать образ. То достаточно будет заменить только эти два файла.

initrd
vmlinuz

И из папки pxelinux

ldlinux.c32
pxelinux.0
pxelinux.cfg -( папка с файлом default )

Их все закидываем в папку ts
Создаем папку и файлы конфигурации в корне папки ts

mkdir config
cd config
touch thinstation.conf-test1
touch thinstation.conf.buildtime
touch thinstation.conf.network
touch thinstation.conf.group-rd_term
touch thinstation.hosts

Должна выйти следущая структура

ts
├── config
│   ├── thinstation.conf.buildtime
│   ├── thinstation.conf.group-rd_term
│   ├── thinstation.conf.network
│   ├── thinstation.conf-test1
│   └── thinstation.hosts
├── initrd
├── ldlinux.c32
├── pxelinux.0
├── pxelinux.cfg
│   └── default
└── vmlinuz

При сборке thinstation указывает неправильные пути для поиска загрузки ядра. В старой версии такой проблемы не было. Необходимо файл загрузки default привести к виду

nano pxelinux.cfg/default
TIMEOUT 0
DEFAULT default
LABEL default
        KERNEL vmlinuz
        APPEND initrd=initrd  load_ramdisk=1 ramdisk_blocksize=4096 root=/dev/ram0 ramdisk_size=786432 console=tty1 vt.global_cursor_default=0 quiet loglevel=3 LM=3

После этого этапа уже можно брать компьютер тонкого клиента и проверять работоспособность системы
Нам понадобиться MAC сетевой карты
Занесем его в thinstation.hosts

cd config
nano thinstation.hosts
# HOST          MAC             GROUPS                  COMMENTS
test1           0800273610FD    rd_term                 # тестовая тачка RD-TERM

Если файлов групп несколько то их указывают через пробел

В DHCP сервере указываем сервер и файл загрузки
Для Windows эти параметры выглядят так
Основная задача это указать путь до файла pxelinux.0 относительно корня tftp сервера. В моем случае это:
/ts/pxelinux.0
Установка и настройка Thinstation 5.5

На клиенте в BIOS включаем PXE и делаем первой загрузку с сетевой карты

Проверять лучше без конфигурации, чтобы убедиться что thinstation видит все файлы и добавляет группы
Мы присваеваем имя клиенту test1
Установка и настройка Thinstation 5.5
Можно присваивать имена вида ts_"набор символов". Но в таком случае необходимо использовать не thinstation.conf-test1 а мак адрес thinstation.conf-0800273610FD
По ошибке видно какие файлы ожидает увидеть загрузчик. Подробности можно найти в официальном FAQ

http://thinstation.sourceforge.net/faq.html
Установка и настройка Thinstation 5.5
Теперь можно править файлы конфигурации

Я разбил в файле для групп параметры подключения к серверу и файл с именем клиента, где указываются данные для конкретного пользователя. У вас могут быть свои

nano thinstation.conf.group-rd_term
SESSION_0_TYPE=rdesktop
SESSION_0_AUTOSTART=on
SESSION_0_TITLE="RD-TERM"
SESSION_0_RDESKTOP_SERVER=192.168.116.130
NO_SESSION="poweroff"
nano thinstation.conf-test1
SESSION_0_RDESKTOP_OPTIONS="-5 -a 16 -f -x m -d supa.firma -u test1 -p 223344 "

Для запуска системы без имени и пароля используется конфигурация

SESSION_0_RDESKTOP_OPTIONS="-5 -a 16 -f -x m -d supa.firma -u ''"

Добавление новых клиентов:
В файл thinstation.hosts вносим MAC адрес с необходимым именем и группами
Копируем thinstation.conf-test1 под новую машину:

thinstation.conf-test1
thinstation.conf-super2
............
thinstation.conf-blabla

27 комментариев

  • Есть ли какие то особые настройки для работы с микрофоном? По PXE загружается оболочка и клиент попадает на сервер терминалов. Звук есть, а микрофон система не видит (проверял на Skype). Использую релиз 5,5,2 из настроек выставил AUDIO_LEVEL=100 MIC_LEVEL=100

  • dalailamer

    Приветствую, коллега!
    Сделал все по Вашим рекомендациям.
    Загрузка терминала происходит до момента появления на экране окна с предложением реконнекта, т.е. на самом терминале ошибок никаких нет при загрузке, а вот в логах tftp вот такая хрень:
    Read request for file ……
    File : error 2 in system call CreateFile The system cannot find the file specified……

    Не надоумите, откуда ноги растут?
    Заранее признателен.

  • dalailamer

    почему-то не отобразился в прошлом посте сам файл ts/config/ssh_known_hosts

    • Интересный момент что за файл
      ts/config/ssh_known_hosts

      Самое простое это попробовать сделать загрузку без всех файлов thinstation.hosts и прочих. чисто загрузка образа. если уже на этом моменте не будет результата. то возможно неверно собран образ. или из вариаций неверно указан путь до образа

  • dalailamer

    Этот файл, как я понимаю, нужен для подключений к самому терминалу по ssh, его использование настраивается в приведенном вами выше файле build.conf, я на всякий случай еще раз специально проверил, он у меня закомментирован
    #param knownhosts ./known_hosts # Path for ssh known_hosts file for ssh/scp
    Могу привести весь лог tftp, если я правильно вижу, то затык только в нем, остальное все проходит, но сюда лог адекватно не пройдет, хоть он и маленький, потому что конструкцию вида в моем первом посте вообще похерило

    • Я брал конфигурацию для сборки из thinstation-5.5-Stable/build/conf/rdesktop-tiny
      оба файла build.conf.example и thinstation.conf.buildtime
      В build меняется всего 2 параметра
      В buildtime чисто настройки времени да ntp.

      Если что то конфигурационные файлы можно вставлять через сервис вида pastebin.com

    • Может быть еще проблема в правах на саму папку tftp. Можно для проверки поставить 777. У меня установлен tftpd-hpa

  • dalailamer

    я делал все, как у вас описано выше
    в качестве tftp использую tftpd, dhcp на микротике, все стартует, но затык именно в этом месте, больше ни на что не ругается. кроме этого файла, откуда он вообще берется – понять не могу…

    • Так на вскидку не понятно
      Можно попробовать перекачать дистриб и пересобрать образ
      Тоже не совсем понятно почему именно этот файл откуда-то вылезает. на сайте на вид дистрибутив не меняли.
      Можно попробовать скачать. И сразу собрать то что есть по умолчанию. Просто для проверки целостности.
      Может переставить tftpd. По поводу микротика сказать не могу, не проверял. Но знаю что на старых версиях kerio не отрабатывала опция для загрузки в dhcp.

  • dalailamer

    на сайте 3 дня назад появился файлик Released /DevStation-Source/thindev-default-5.6.tar.xz

    • По 5.6 отличия могут быть
      До этого когда настраивал версию 5.3 вроде. И там было все по другому. Даже в статье пишу что были отличия. Так что в новой версии походу придется разбирать ))) Ну или взять все же 5.5

  • dalailamer

    Ну, собственно, я и ставил последнюю версию с сайта 5,5,2 в точности по Вашей вышеописанной статье, полагаю, что вы делали с той же версии, тогда мне должны подойти сделанные вами файлики…
    Можете поделиться?

    • Но все файлики что я делал тут выложены. То есть других нет. Файлы сборки как есть. И уже для отдельно самих клиентов. Когда собирал всю эту беду тогда и документировал процесс

  • dalailamer

    я имею в виду
    ts
    ├── config
    │ ├── thinstation.conf.buildtime
    │ ├── thinstation.conf.group-rd_term
    │ ├── thinstation.conf.network
    │ ├── thinstation.conf-test1
    │ └── thinstation.hosts
    ├── initrd
    ├── ldlinux.c32
    ├── pxelinux.0
    ├── pxelinux.cfg
    │ └── default
    └── vmlinuz
    Понятно, что все, что находится в папке config – это я возьму свое, а остальное выложить можете?
    Ошибка может лезть только оттуда, больше ей взяться неоткуда.

  • dalailamer

    Коллега, не поверите, но хренатень осталась!!!
    Честно говоря, ничего уже не понимаю…
    Подсовываю пустой файлик ssh_known_hosts – ругни в логах tftp уже нет, но и коннекта к серверу тоже нет…
    В этой шаманской строке, что у Вас приведена выше,
    SESSION_0_RDESKTOP_OPTIONS=”-5 -a 16 -f -x m -d supa.firma -u test1 -p 223344 ”
    что есть что?
    А supa.firma – это типа имя терминального сервера, к которому мы хотим коннектиться?
    Тогда зачем мы указываем для группы адрес терминального сервера в виде IP ?
    SESSION_0_RDESKTOP_SERVER=192.168.116.130

  • dalailamer

    кажется, я догадался…
    это домен?
    А если у меня домена нет?
    И пользователя с паролем указывать не хочу. как тогда правильно должна выглядеть эта шаманская строка?

    • SESSION_0_RDESKTOP_OPTIONS=”-5 -a 16 -f -x m”
      Это строка параметров для rdesktop
      Все тоже самое только без имени\пароля\домена
      Можно проверить просто в консоли
      rdesktop имя_сервера
      И попробовать разные параметры

  • dalailamer

    Убрал вообще этот файлик – результат тот же…
    Похоже, до консоли дело не доходит…
    Хотя я вижу красивую заставку, вижу прогресс-бар загрузки…

    • А вот это уже интересно
      Не должно быть ни заставки ни прогресс бара загрузки. Ничего подобного. Если образ собран с параметрами rdesktop-tiny, то там ничего подобного нет. Все отключено. Готовые образы лежат по пути thinstation-5.5-Stable/build/boot-images/pxe/boot/pxelinux
      Обратите внимание. Точно ли из залили. Можно удалить их оттуда. И пересобрать по новой. Явно что-то идет не так.

  • dalailamer

    Так я тоже думал, что где-то я накосячил, но ведь я уже использую высланные вами файлики!
    От моего остается только всевозможная конфа в папке ts/config – все!

  • ury

    Здравствуйте всем. С тонкими никогда не работал.
    Есть у меня два файла build.conf и thinstation.conf.buildtime. Как мне объяснили их достаточно чтоб собрать новый образ (мне необходимо сменить только айпишник на новый). На данный момент все работает на микротике. Поставил ДивСтэйшн. перепробовал все что есть в гугле, Заменял в этих файлах на свое… и ничего не получается. короче я понял что я тормоз. подскажите пожалуйста по пунктам как мне сделать новый образ. Пиво с меня )

    • 1) Нужен TFTP сервер где будут лежать образы
      2) Нужен DHCP с указанием сервера и файла загрузки
      3) Скачать Thinstation
      4) Зайти в папку и собрать образ. Просто собрать что есть по умолчанию.

      sudo -s
      cd thinstation-5.5-Stable/
      ./setup-chroot -a
      ./build --allmodules
      

      5) Скинуть готовый образ из папки pxe в папку на сервер
      Проверить работает ли схема. И пото уже можно приступать к настройке
      Для тестов можно использовать VirtualBox с указанием внутренней сети. Сервер TFTP будет выступать как и сервер DHCP

      • ury

        Добрый день. все сделал так как написано… да и в гуле про это уже читал. ничего не получается.
        по пунктам:
        1) установил дивстэйшн (файлы конфигурации не менял, сделал как сказали)
        2) в меню выбираю БуилИмидж (в /thinstation/build/boot-images/ появляются папки – iso, pxe, syslinux и т.д.) попробовал изо подключить через вмваре – работает…
        3) скопировал из папки pxe на тфтп микротика файлы (vmlinuz, pxelinux.0, product, ldlinux.c32, initrd и папку pxelinux.cfg в ней дифолт) запускаю на VM и получаю Бутт файлед: прес а кеу ту ретри или жди…
        4) пробовал перекидывать туда сюда эти файлы и нефига… то он не может найти вмлинуз то лдлинуз…
        5) + на микротике ошибка в логе ERROR code:1 string:file not found
        третий день уже сижу ((
        прошу помощи в настройке, нужно сделать так чтоб запускался только рдп на нужный айпи.
        ury_gormoshkin@mail.ru, за мной не заржавеет…

  • Дмитрий

    Посмотрите на настроенный образ для сборки образа TS, на нем собирал, всё работает.
    http://it-advisor.ru/forum/obsuzhdenie-statej/650-thinstation-os.html

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *