thinclient/README.x86.md

5.1 KiB

Debian als ThinClient für x86

  • Partitionslayout funktioniert auf UEFI und Legacy - auf drei Konsumer-HP's getestet mit AMDE3 und Intel
  • optional sollte ein kleiner WLAN USB Stick vorgehalten werden, der von Debian/Linux nativ unterstuetzt wird.
  • einen Benutzer mit Namen thinnote anlegen. Kann auch ggf. ein andere Benutzer sein. Dann muss aber xinitrc und rc.local angepasst werden.

Partitionslayout

Part Size Type FSType Optional
1 1GB boot ext4 Bootflag fuar x86 legacy setzen
2 1GB EFS vfat Wenn EFI Boot
3 8GB root ext4

Pakete Liste Debian 10

apt install acl adduser adwaita-icon-theme alsa-utils apt apt-listchanges apt-transport-https apt-utils aptitude aptitude-common at-spi2-core avahi-daemon base-files base-passwd bash bash-completion bind9-host binutils bluez bluez-firmware bridge-utils bsd-mailx bsdmainutils bsdutils build-essential busybox bzip2 ca-certificates cabextract chromium chromium-l10n  console-setup console-setup-linux coreutils cpio crda cron curl dash dbus dc dconf-gsettings-backend dconf-service debconf debconf-i18n debconf-utils debianutils debsums device-tree-compiler dhcpcd5 diffutils dirmngr distro-info-data dmidecode dosfstools dpkg dpkg-dev e2fsprogs ed fbset file findutils firmware-atheros firmware-brcm80211 firmware-realtek fonts-dejavu-core gconf2-common gdb gdbserver gettext-base gnome-icon-theme gnupg gnupg-agent gnupg-l10n gpgv grep groff-base gsettings-desktop-schemas gtk-update-icon-cache gzip hardlink hicolor-icon-theme hostname ifupdown info init init-system-helpers initramfs-tools initramfs-tools-core initscripts insserv install-info iproute2 iptables iputils-ping isc-dhcp-client isc-dhcp-common iso-codes iw joe kbd keyboard-configuration keyutils kmod less linux-base locales login logrotate lsb-base lsb-release lsof lua5.1 luajit make makedev man-db manpages manpages-dev matchbox matchbox-common matchbox-desktop matchbox-keyboard matchbox-keyboard-im matchbox-panel matchbox-panel-manager matchbox-window-manager mawk mc mc-data mime-support mount multiarch-support nano ncdu ncurses-base ncurses-bin ncurses-term net-tools netbase netcat-openbsd netcat-traditional nfs-common ntp openresolv openssh-client openssh-server openssh-sftp-server openssl parted passwd patch perl perl-base perl-modules perl-openssl-defaults pinentry-curses plymouth procps psmisc publicsuffix python python-minimal python2.7 python2.7-minimal python3 python3-minimal python3.5 python3.5-minimal rename rfkill rpcbind samba-common sed sensible-utils sgml-base shared-mime-info sqlite3 startpar strace sudo systemd systemd-sysv sysv-rc sysvinit-utils tar tasksel tasksel-data tcpd traceroute tree triggerhappy ttf-mscorefonts-installer tzdata ucf udev unzip usb-modeswitch usb-modeswitch-data usbutils util-linux v4l-utils vim-common vim-tiny wget whiptail wireless-regdb wireless-tools wpasupplicant x11-common x11-utils x11-xkb-utils x11-xserver-utils xauth xdg-user-dirs xdg-utils xfonts-base xfonts-encodings xfonts-utils xinit xkb-data xml-core xserver-common xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-wacom xserver-xorg-legacy xserver-xorg-video-fbdev  xwit xxd xz-utils busybox-syslogd xserver-xorg-video-intel xserver-xorg-input-synaptics xserver-xorg-video-vesa grub-splashimages
apt install $(apt-cache search ^firmware | grep -v microbit | cut -f 1 -d " ")

rc.local unter Debian

cp etc/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
cp etc/rc.local /etc/rc.local
sudo chmod +x /etc/rc.local
sudo systemctl enable rc-local
sudo update-grub
sudo usermod -aG tty thinnote
sudo usermod -aG video thinnote
sudo rm /etc/chromium/master_preferences
sudo apt install laptop-mode-tools #Tools für Akkumanagment am Laptop https://wiki.ubuntuusers.de/laptop-mode-tools/

Alternative zur rc.local über crontab/cron.d?

Über den crontab kann mit @reboot auch entsprechend ein Script gestartet werden. Hier bei sollte ggf. mal getestet werden, ob das nicht ausreicht. Da spart man sich den Aufwand mit der rc.local und das rumpfuschen am systemd.

cups

sudo apt install cups

Eigentlich sollte das reichen. Die aktuellen Drucker (vorrangig Laserdrucker) lassen sich out of the box ansteuern.

Config for .xinitrc

cp -r boot/client-cfg/ /boot/
cp etc/X11/* /etc/X11
cp etc/apt/* /etc/apt
cp -r etc/chromium/* /etc/chromium

ggf. die restlichen Dateien nach Bedarf auch noch kopieren.

VNC fuer die Fernwartung

sudo apt install x11vnc
sudo x11vnc -storepasswd /etc/x11vnc.pass  #Password fuer x11vnc setzen
sudo cat << EOF > /etc/systemd/system/x11vnc.service
[Unit]
Description=Start X11VNC
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -forever -localhost -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable x11vnc.service

#für RDP kann noch xrdp nach installiert und eingerichtet werden.
#VNC ist aktuell nur über 127.0.0.1 erreichbar

sudo apt install xrdp 
sudo systemctl enable xrdp

#dann die xrdp.ini entsprechend anpassen -> einfach unter /etc/xrdp/xrdp.ini schauen

sudo systemctl restart xrdp