From b8b1789f8f143d43e108485c72653716161835a1 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Tue, 10 Aug 2021 11:30:07 +0200 Subject: [PATCH 01/20] =?UTF-8?q?init=20f=C3=BCr=20Debian=20Branch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index e234af9..830aa04 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,20 @@ # thinclient Repo fuer Raspi Image bzw. andere Thinclients +## Debian als ThinClient für x86 +### Partitionslayout + +Part|Size|Type|Optional +---|---|---|---- +1|1GB|EFS|Wenn EFI Boot +2|1GB|boot| +3|8GB|root| + +### Pakete Liste Debian 10 + +```bash +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 +``` ## ToDo - boot Scripte / config xinitrc fuer Raspi From 5ae6ed9b011280a60736d6b5ca6df716d51c1c7e Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Tue, 10 Aug 2021 13:12:54 +0200 Subject: [PATCH 02/20] =?UTF-8?q?rc.local=20f=C3=BCr=20Debian=2011=20angep?= =?UTF-8?q?asst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 ++++++++++++ etc/default/grub | 32 +++++++++++++++++++++++++++++ etc/systemd/system/rc-local.service | 15 ++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 etc/default/grub create mode 100644 etc/systemd/system/rc-local.service diff --git a/README.md b/README.md index 830aa04..61ff88d 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,19 @@ Part|Size|Type|Optional 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 ``` +```bash +apt install $(apt-cache search ^firmware | grep -v microbit | cut -f 1 -d " ") +``` +### rc.local unter Debian + +```bash +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 +``` + + ## ToDo - boot Scripte / config xinitrc fuer Raspi - Script fuer hostname / hosts - fuer eindeutigen Rechnernamen diff --git a/etc/default/grub b/etc/default/grub new file mode 100644 index 0000000..1180a58 --- /dev/null +++ b/etc/default/grub @@ -0,0 +1,32 @@ +i# If you change this file, run 'update-grub' afterwards to update +# /boot/grub/grub.cfg. +# For full documentation of the options in this file, see: +# info -f grub -n 'Simple configuration' + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` +GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 quiet" +GRUB_CMDLINE_LINUX="" + +# Uncomment to enable BadRAM filtering, modify to suit your needs +# This works with Linux (no patch required) and with any kernel that obtains +# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) +#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" + +# Uncomment to disable graphical terminal (grub-pc only) +#GRUB_TERMINAL=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +#GRUB_GFXMODE=640x480 + +# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +#GRUB_DISABLE_RECOVERY="true" + +# Uncomment to get a beep at grub start +#GRUB_INIT_TUNE="480 440 1" diff --git a/etc/systemd/system/rc-local.service b/etc/systemd/system/rc-local.service new file mode 100644 index 0000000..e825282 --- /dev/null +++ b/etc/systemd/system/rc-local.service @@ -0,0 +1,15 @@ +# /etc/systemd/system/rc-local.service +[Unit] + Description=/etc/rc.local Compatibility + ConditionPathExists=/etc/rc.local + +[Service] + Type=forking + ExecStart=/etc/rc.local start + TimeoutSec=0 + StandardOutput=tty + RemainAfterExit=yes + SysVStartPriority=99 + +[Install] + WantedBy=multi-user.target From 732e37e563e0e2bf2074832c6f1e78a061d77110 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Tue, 10 Aug 2021 13:18:53 +0200 Subject: [PATCH 03/20] Korrekturen auf Debian 10 --- etc/{chromium-browser => chromium}/default | 0 .../policies/managed/no-password-management.json | 0 .../policies/managed/startup.json | 0 .../policies/managed/startup2.json | 0 etc/rc.local | 6 +++--- home/{pi => thinnote}/xinitrc | 0 6 files changed, 3 insertions(+), 3 deletions(-) rename etc/{chromium-browser => chromium}/default (100%) rename etc/{chromium-browser => chromium}/policies/managed/no-password-management.json (100%) rename etc/{chromium-browser => chromium}/policies/managed/startup.json (100%) rename etc/{chromium-browser => chromium}/policies/managed/startup2.json (100%) rename home/{pi => thinnote}/xinitrc (100%) diff --git a/etc/chromium-browser/default b/etc/chromium/default similarity index 100% rename from etc/chromium-browser/default rename to etc/chromium/default diff --git a/etc/chromium-browser/policies/managed/no-password-management.json b/etc/chromium/policies/managed/no-password-management.json similarity index 100% rename from etc/chromium-browser/policies/managed/no-password-management.json rename to etc/chromium/policies/managed/no-password-management.json diff --git a/etc/chromium-browser/policies/managed/startup.json b/etc/chromium/policies/managed/startup.json similarity index 100% rename from etc/chromium-browser/policies/managed/startup.json rename to etc/chromium/policies/managed/startup.json diff --git a/etc/chromium-browser/policies/managed/startup2.json b/etc/chromium/policies/managed/startup2.json similarity index 100% rename from etc/chromium-browser/policies/managed/startup2.json rename to etc/chromium/policies/managed/startup2.json diff --git a/etc/rc.local b/etc/rc.local index 7e04bdd..dd9d848 100755 --- a/etc/rc.local +++ b/etc/rc.local @@ -26,7 +26,7 @@ fi #fi #Hostname wird anhand des WLAN0 erstell / kann auch entsprechend auf anderes Geraet umgestellt werden -echo rpi$(cat /sys/class/net/wlan0/address | sed '/://g') > /tmp/hostname && hostname --file /tmp/hostname +echo thin$(cat /sys/class/net/wlan0/address | sed '/://g') > /tmp/hostname && hostname --file /tmp/hostname #Fuer eth0, wenn kein WLAN vorhanden ist. Kann dann auskommentiert werden. #echo rpi$(cat /sys/class/net/eth0/address | sed '/://g') > /tmp/hostname && hostname --file /tmp/hostname @@ -34,8 +34,8 @@ echo rpi$(cat /sys/class/net/wlan0/address | sed '/://g') > /tmp/hostname && hos # start X environment if [ -f /boot/client-cfg/xinitrc ]; then - ln -fs /boot/client-cfg/xinitrc /home/pi/.xinitrc; - su -l pi -s /bin/bash -c 'startx' & + ln -fs /boot/client-cfg/xinitrc /home/thinnote/.xinitrc; + su -l thinnote -s /bin/bash -c 'startx' & fi exit 0 diff --git a/home/pi/xinitrc b/home/thinnote/xinitrc similarity index 100% rename from home/pi/xinitrc rename to home/thinnote/xinitrc From b22b438f2fdbbe29fcb1f612124f8849fdabb32a Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Tue, 10 Aug 2021 14:41:31 +0200 Subject: [PATCH 04/20] Xorg zum laufen gebracht. WLAN vor konfiguriert. --- README.md | 8 +++++++- etc/X11/Xwrapper.config | 16 ++++++++++++++++ etc/default/grub | 4 ++-- etc/network/interfaces.d/wlan0 | 4 ++++ etc/rc.local | 2 +- 5 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 etc/X11/Xwrapper.config create mode 100644 etc/network/interfaces.d/wlan0 diff --git a/README.md b/README.md index 61ff88d..324aa72 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Part|Size|Type|Optional ### Pakete Liste Debian 10 ```bash -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 +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 ``` ```bash @@ -26,8 +26,14 @@ 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 ``` +##FAQ +Wenn der X11/Xorg Server nicht startet, mal in hosts/hostname ob der korrekt Name server angegeben ist. ## ToDo - boot Scripte / config xinitrc fuer Raspi diff --git a/etc/X11/Xwrapper.config b/etc/X11/Xwrapper.config new file mode 100644 index 0000000..26e0494 --- /dev/null +++ b/etc/X11/Xwrapper.config @@ -0,0 +1,16 @@ +# Xwrapper.config (Debian X Window System server wrapper configuration file) +# +# This file was generated by the post-installation script of the +# xserver-xorg-legacy package using values from the debconf database. +# +# See the Xwrapper.config(5) manual page for more information. +# +# This file is automatically updated on upgrades of the xserver-xorg-legacy +# package *only* if it has not been modified since the last upgrade of that +# package. +# +# If you have edited this file but would like it to be automatically updated +# again, run the following command as root: +# dpkg-reconfigure xserver-xorg-legacy +allowed_users=anybody +needs_root_rights=yes diff --git a/etc/default/grub b/etc/default/grub index 1180a58..739f9d2 100644 --- a/etc/default/grub +++ b/etc/default/grub @@ -4,9 +4,9 @@ i# If you change this file, run 'update-grub' afterwards to update # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 -GRUB_TIMEOUT=5 +GRUB_TIMEOUT=1 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` -GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 quiet" +GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 quiet splash acpi_osi=" GRUB_CMDLINE_LINUX="" # Uncomment to enable BadRAM filtering, modify to suit your needs diff --git a/etc/network/interfaces.d/wlan0 b/etc/network/interfaces.d/wlan0 new file mode 100644 index 0000000..0a67c89 --- /dev/null +++ b/etc/network/interfaces.d/wlan0 @@ -0,0 +1,4 @@ +allow-hotplug wlan0 +iface wlan0 inet dhcp + wpa-ssid ESSID + wpa-psk PASSWORD diff --git a/etc/rc.local b/etc/rc.local index dd9d848..fe1acd2 100755 --- a/etc/rc.local +++ b/etc/rc.local @@ -35,7 +35,7 @@ echo thin$(cat /sys/class/net/wlan0/address | sed '/://g') > /tmp/hostname && ho # start X environment if [ -f /boot/client-cfg/xinitrc ]; then ln -fs /boot/client-cfg/xinitrc /home/thinnote/.xinitrc; - su -l thinnote -s /bin/bash -c 'startx' & + su -l thinnote -s /bin/bash -c 'startx -- vt1' & fi exit 0 From eff30cda4f9655564bf85bba6fb01f147c56975f Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Tue, 10 Aug 2021 14:43:21 +0200 Subject: [PATCH 05/20] =?UTF-8?q?WLAN0=20angepasst=20f=C3=BCr=20wpa=5Fsupp?= =?UTF-8?q?licant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etc/network/interfaces.d/wlan0 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/etc/network/interfaces.d/wlan0 b/etc/network/interfaces.d/wlan0 index 0a67c89..8bc95e1 100644 --- a/etc/network/interfaces.d/wlan0 +++ b/etc/network/interfaces.d/wlan0 @@ -1,4 +1,6 @@ allow-hotplug wlan0 iface wlan0 inet dhcp - wpa-ssid ESSID - wpa-psk PASSWORD + wpa-driver wext + wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf +# wpa-ssid ESSID +# wpa-psk PASSWORD From 2fc3a702e5e98037c463b22082fbbf504db6cadc Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Thu, 12 Aug 2021 11:53:41 +0200 Subject: [PATCH 06/20] =?UTF-8?q?source.list=20contrib=20und=20non-free=20?= =?UTF-8?q?hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etc/apt/source.list | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 etc/apt/source.list diff --git a/etc/apt/source.list b/etc/apt/source.list new file mode 100644 index 0000000..f9a6683 --- /dev/null +++ b/etc/apt/source.list @@ -0,0 +1,22 @@ +/etc/apt/sources.list +# + +# deb cdrom:[Debian GNU/Linux 10.10.0 _Buster_ - Official amd64 NETINST 20210619-16:11]/ buster main contrib non-free + +#deb cdrom:[Debian GNU/Linux 10.10.0 _Buster_ - Official amd64 NETINST 20210619-16:11]/ buster main contrib non-free + +deb http://deb.debian.org/debian/ buster main contrib non-free +deb-src http://deb.debian.org/debian/ buster main contrib non-free + +deb http://security.debian.org/debian-security buster/updates main contrib non-free +deb-src http://security.debian.org/debian-security buster/updates main contrib non-free + +# buster-updates, previously known as 'volatile' +deb http://deb.debian.org/debian/ buster-updates main contrib non-free +deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free + +# This system was installed using small removable media +# (e.g. netinst, live or single CD). The matching "deb cdrom" +# entries were disabled at the end of the installation process. +# For information about how to configure apt package sources, +# see the sources.list(5) manual. From d110f86285cd421f22683cd0a5746b7291a0f9a0 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Thu, 12 Aug 2021 13:12:08 +0200 Subject: [PATCH 07/20] =?UTF-8?q?Browser=20muss=20angepasst=20werden=20f?= =?UTF-8?q?=C3=BCr=20Debian?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- boot/client-cfg/xinitrc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/boot/client-cfg/xinitrc b/boot/client-cfg/xinitrc index e3e7978..869e453 100644 --- a/boot/client-cfg/xinitrc +++ b/boot/client-cfg/xinitrc @@ -35,6 +35,7 @@ while true; do # Start the browser (See http://peter.sh/experiments/chromium-command-line-switches/) - chromium-browser --app="https://wiki.lebenshilfe-bbg.de/wiki/doku.php?id=hidden:portal" + #chromium-browser --app="https://wiki.lebenshilfe-bbg.de/wiki/doku.php?id=hidden:portal" + chromium --app="https://wiki.lebenshilfe-bbg.de/wiki/doku.php?id=hidden:portal" -done; \ No newline at end of file +done; From a9951206b47d94d11c6ae1ae0149643295d552a6 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Thu, 12 Aug 2021 14:48:21 +0200 Subject: [PATCH 08/20] wlan angepasst --- etc/network/interfaces.d/wlan0 | 3 --- 1 file changed, 3 deletions(-) diff --git a/etc/network/interfaces.d/wlan0 b/etc/network/interfaces.d/wlan0 index 8bc95e1..56c06e6 100644 --- a/etc/network/interfaces.d/wlan0 +++ b/etc/network/interfaces.d/wlan0 @@ -1,6 +1,3 @@ allow-hotplug wlan0 iface wlan0 inet dhcp - wpa-driver wext wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf -# wpa-ssid ESSID -# wpa-psk PASSWORD From 54e1a197a9e51ac0f6c4bfb3bb0607981ec1e348 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Thu, 12 Aug 2021 14:52:52 +0200 Subject: [PATCH 09/20] =?UTF-8?q?wpa=5Fsupplicant.conf=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etc/wpa_supplicant/wpa_supplicant.conf | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 etc/wpa_supplicant/wpa_supplicant.conf diff --git a/etc/wpa_supplicant/wpa_supplicant.conf b/etc/wpa_supplicant/wpa_supplicant.conf new file mode 100644 index 0000000..dbf3573 --- /dev/null +++ b/etc/wpa_supplicant/wpa_supplicant.conf @@ -0,0 +1,8 @@ +#ctrl_interface=/run/wpa_supplicant +#update_config=1 + +network={ + ssid="SSID" + psk="WPA-KEY" + scan_ssid=1 +} From c57d54c2cb7ee3d4f20b581dc5a777a4993622f2 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Thu, 12 Aug 2021 14:54:24 +0200 Subject: [PATCH 10/20] =?UTF-8?q?user=20pi=20auf=20user=20thinnote=20ge?= =?UTF-8?q?=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- boot/client-cfg/xinitrc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/boot/client-cfg/xinitrc b/boot/client-cfg/xinitrc index 869e453..d3bbb37 100644 --- a/boot/client-cfg/xinitrc +++ b/boot/client-cfg/xinitrc @@ -10,13 +10,13 @@ while true; do killall -9 matchbox-window-manager 2>/dev/null; # Clean out existing profile information - rm -rf /home/pi/.cache; - rm -rf /home/pi/.config; - rm -rf /home/pi/.pki; + rm -rf /home/thinnote/.cache; + rm -rf /home/thinnote/.config; + rm -rf /home/thinnote/.pki; # Generate the bare minimum to keep Chromium happy! - mkdir -p /home/pi/.config/chromium/Default - sqlite3 /home/pi/.config/chromium/Default/Web\ Data "CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR); INSERT INTO meta VALUES('version','46'); CREATE TABLE keywords (foo INTEGER);"; + mkdir -p /home/thinnote/.config/chromium/Default + sqlite3 /home/thinnote/.config/chromium/Default/Web\ Data "CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR); INSERT INTO meta VALUES('version','46'); CREATE TABLE keywords (foo INTEGER);"; # Disable DPMS / Screen blanking xset -dpms From 3c8e9a20c14bd30e3289219775660c8e28978599 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Thu, 12 Aug 2021 14:57:03 +0200 Subject: [PATCH 11/20] README.md weiter geschrieben und angepasst --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 324aa72..a97f762 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Part|Size|Type|Optional 2|1GB|boot| 3|8GB|root| +- einen Beutzer mit Namen thinnote anlegen. Kann auch ggf. ein andere Benutzer sein. Dann muss aber xinitrc und rc.local angepasst werden. + ### Pakete Liste Debian 10 ```bash @@ -30,9 +32,10 @@ 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/ ``` -##FAQ +## FAQ Wenn der X11/Xorg Server nicht startet, mal in hosts/hostname ob der korrekt Name server angegeben ist. ## ToDo From 7fca23b524ea321f71070fdbba7d928b1970b412 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Sat, 14 Aug 2021 07:36:09 +0200 Subject: [PATCH 12/20] WLAN angepasst fuer unverschluesselt x11vnc dokmentiert --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index a97f762..a80980a 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,25 @@ 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/ ``` +### 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 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared + +[Install] +WantedBy=multi-user.target +EOF +sudo systemctl enable x11vnc.service +``` + ## FAQ Wenn der X11/Xorg Server nicht startet, mal in hosts/hostname ob der korrekt Name server angegeben ist. From 8788df115d91fa8d17f758046c88096be537e5f0 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Sat, 14 Aug 2021 07:44:27 +0200 Subject: [PATCH 13/20] Idee fuer XRDP / x11rdp hizugefuegt. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a80980a..222562f 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,9 @@ Wenn der X11/Xorg Server nicht startet, mal in hosts/hostname ob der korrekt Nam - kleine Ankeitung fuer ReadOnly unter Raspi - Installation von lighttpd + fastcgi / php fuer lokale Loginseite - Settings fuer Chrome -- VNC Server mit passendem Passwort installieren +- ~~VNC Server mit passendem Passwort installieren~~ -> Einrichtung muss noch getestet werden! +- alternative mit XRDP? Mal durch testen? (xrdp/x11rdp) + - Vorteil: performanter, nicht soviel Bandbreite, kann ggf. auch VNC sich verbinden - ansibel Scripte fuer Rollout - Netzwerkboot fuer Raspis inkl. Anleitung - Druckerunterstützung inklusive DokumentenBox From 3573d7fa94957eda956fd0ef7dd1274df3c6a491 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Sat, 14 Aug 2021 07:48:32 +0200 Subject: [PATCH 14/20] Partitionslayout korrigiert ein paar Infos dazu geschrieben --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 222562f..b1b23d5 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,13 @@ Repo fuer Raspi Image bzw. andere Thinclients Part|Size|Type|Optional ---|---|---|---- -1|1GB|EFS|Wenn EFI Boot -2|1GB|boot| +1|1GB|boot|Bootflag fuar x86 legacy setzen +2|1GB|EFS|Wenn EFI Boot 3|8GB|root| -- einen Beutzer mit Namen thinnote anlegen. Kann auch ggf. ein andere Benutzer sein. Dann muss aber xinitrc und rc.local angepasst werden. +- 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. ### Pakete Liste Debian 10 From 3dfa3537b6ec541867b05053c82e01ddf388c87b Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Sat, 14 Aug 2021 07:50:42 +0200 Subject: [PATCH 15/20] Dateisysteme hinterlegt --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b1b23d5..97cd1f5 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,11 @@ Repo fuer Raspi Image bzw. andere Thinclients ## Debian als ThinClient für x86 ### Partitionslayout -Part|Size|Type|Optional ----|---|---|---- -1|1GB|boot|Bootflag fuar x86 legacy setzen -2|1GB|EFS|Wenn EFI Boot -3|8GB|root| +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| - 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. From f91284f6ce6cccbfd5615c17e28c0f991c7eea19 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Sat, 14 Aug 2021 07:54:34 +0200 Subject: [PATCH 16/20] Doku korrigiert --- README.md | 11 ++++++----- etc/wpa_supplicant/wpa_supplicant.conf | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 97cd1f5..fde70e3 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ Repo fuer Raspi Image bzw. andere Thinclients ## 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 @@ -10,10 +14,6 @@ Part|Size|Type|FSType|Optional 2|1GB|EFS|vfat|Wenn EFI Boot 3|8GB|root|ext4| -- 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. - ### Pakete Liste Debian 10 ```bash @@ -71,7 +71,8 @@ Wenn der X11/Xorg Server nicht startet, mal in hosts/hostname ob der korrekt Nam - ansibel Scripte fuer Rollout - Netzwerkboot fuer Raspis inkl. Anleitung - Druckerunterstützung inklusive DokumentenBox -- LDAP Authentifizierug (?) <- mach das Sinn? Müsste ggf. Serverseitig gelöst werden +- ~~LDAP Authentifizierug (?) <- mach das Sinn? Müsste ggf. Serverseitig gelöst werden~~ Wird bei der Variante mit Chrome nicht benoetigt. +- CUPS mit einrichten und vorbereiten, das der die Drucker im Netzwerkfindet und anbietet? ## Links - chrome://chrome-urls/ diff --git a/etc/wpa_supplicant/wpa_supplicant.conf b/etc/wpa_supplicant/wpa_supplicant.conf index dbf3573..3209176 100644 --- a/etc/wpa_supplicant/wpa_supplicant.conf +++ b/etc/wpa_supplicant/wpa_supplicant.conf @@ -3,6 +3,7 @@ network={ ssid="SSID" + #key_mgmt=NONE #verwenden, wenn ein offnes WLAN genutzt werden soll. Dann psk auskommentieren. psk="WPA-KEY" scan_ssid=1 } From d9c34b6c40c661b765963e93382562dcce0d8918 Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Sat, 14 Aug 2021 08:20:26 +0200 Subject: [PATCH 17/20] Links sortiert und hizugefuegt --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index fde70e3..1136cfb 100644 --- a/README.md +++ b/README.md @@ -76,3 +76,6 @@ Wenn der X11/Xorg Server nicht startet, mal in hosts/hostname ob der korrekt Nam ## Links - chrome://chrome-urls/ +- https://debian-handbook.info/browse/de-DE/stable/sect.automated-installation.html +- https://www.elektronik-kompendium.de/sites/raspberry-pi/2011121.htm +- https://wiki.ubuntuusers.de/laptop-mode-tools/ From f9457ebf7bd3aaa0ed5c1f1854d4025777c1422b Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Tue, 7 Sep 2021 16:03:42 +0200 Subject: [PATCH 18/20] =?UTF-8?q?Einstellungen=20f=C3=BCr=20raspian/pi=20a?= =?UTF-8?q?ngepasst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- boot/client-cfg/xinitrc | 33 +++++++++++++++++++++++---------- etc/rc.local | 20 +++++++++++++++++--- home/thinnote/xinitrc | 1 - 3 files changed, 40 insertions(+), 14 deletions(-) delete mode 120000 home/thinnote/xinitrc diff --git a/boot/client-cfg/xinitrc b/boot/client-cfg/xinitrc index d3bbb37..8053251 100644 --- a/boot/client-cfg/xinitrc +++ b/boot/client-cfg/xinitrc @@ -3,21 +3,34 @@ while true; do # Clean up previously running apps, gracefully at first then harshly - killall -TERM chromium 2>/dev/null; + which chromium /dev/null && killall -TERM chromium 2>/dev/null; + which chromium-browser /dev/null && killall -TERM chromium-browser 2>/dev/null; killall -TERM matchbox-window-manager 2>/dev/null; sleep 2; - killall -9 chromium 2>/dev/null; + which chromium > /dev/null && killall -9 chromium 2>/dev/null; + which chromium-browser > /dev/null && killall -9 chromium-browser 2>/dev/null; killall -9 matchbox-window-manager 2>/dev/null; # Clean out existing profile information - rm -rf /home/thinnote/.cache; - rm -rf /home/thinnote/.config; - rm -rf /home/thinnote/.pki; + if [ -d /home/pi ]; then + rm -rf /home/pi/.cache; + rm -rf /home/pi/.config; + rm -rf /home/pi/.pki; + else + rm -rf /home/thinnote/.cache; + rm -rf /home/thinnote/.config; + rm -rf /home/thinnote/.pki; + fi + # Generate the bare minimum to keep Chromium happy! - mkdir -p /home/thinnote/.config/chromium/Default - sqlite3 /home/thinnote/.config/chromium/Default/Web\ Data "CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR); INSERT INTO meta VALUES('version','46'); CREATE TABLE keywords (foo INTEGER);"; - + if [ -d /home/pi ]; then + mkdir -p /home/pi/.config/chromium/Default + sqlite3 /home/pi/.config/chromium/Default/Web\ Data "CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR); INSERT INTO meta VALUES('version','46'); CREATE TABLE keywords (foo INTEGER);"; + else + mkdir -p /home/thinnote/.config/chromium/Default + sqlite3 /home/thinnote/.config/chromium/Default/Web\ Data "CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR); INSERT INTO meta VALUES('version','46'); CREATE TABLE keywords (foo INTEGER);"; + fi # Disable DPMS / Screen blanking xset -dpms xset s off @@ -35,7 +48,7 @@ while true; do # Start the browser (See http://peter.sh/experiments/chromium-command-line-switches/) - #chromium-browser --app="https://wiki.lebenshilfe-bbg.de/wiki/doku.php?id=hidden:portal" - chromium --app="https://wiki.lebenshilfe-bbg.de/wiki/doku.php?id=hidden:portal" + which chromium-browser > /dev/null && chromium-browser --app="https://wiki.lebenshilfe-bbg.de/wiki/doku.php?id=hidden:portal" + which chromium > /dev/null && chromium --app="https://wiki.lebenshilfe-bbg.de/wiki/doku.php?id=hidden:portal" done; diff --git a/etc/rc.local b/etc/rc.local index fe1acd2..7d738cb 100755 --- a/etc/rc.local +++ b/etc/rc.local @@ -11,6 +11,8 @@ # # By default this script does nothing. +which chromium-browser > /dev/null && [ -d /etc/chromium ] && mv /etc/chromium/ /etc/chromium-browser + sleep 10 @@ -26,7 +28,14 @@ fi #fi #Hostname wird anhand des WLAN0 erstell / kann auch entsprechend auf anderes Geraet umgestellt werden -echo thin$(cat /sys/class/net/wlan0/address | sed '/://g') > /tmp/hostname && hostname --file /tmp/hostname +#ip a s wlan1 2&>1 /dev/null || +#Check einbauen der aktive Verbindung prüft +if [ -d /home/pi ]; then + echo pi$(cat /sys/class/net/wlan0/address | sed '/://g') > /tmp/hostname && hostname --file /tmp/hostname +else + echo thin$(cat /sys/class/net/wlan0/address | sed '/://g') > /tmp/hostname && hostname --file /tmp/hostname +fi + #Fuer eth0, wenn kein WLAN vorhanden ist. Kann dann auskommentiert werden. #echo rpi$(cat /sys/class/net/eth0/address | sed '/://g') > /tmp/hostname && hostname --file /tmp/hostname @@ -34,8 +43,13 @@ echo thin$(cat /sys/class/net/wlan0/address | sed '/://g') > /tmp/hostname && ho # start X environment if [ -f /boot/client-cfg/xinitrc ]; then - ln -fs /boot/client-cfg/xinitrc /home/thinnote/.xinitrc; - su -l thinnote -s /bin/bash -c 'startx -- vt1' & + if [ -d /home/pi ]; then + ln -fs /boot/client-cfg/xinitrc /home/pi/.xinitrc; + su -l pi -s /bin/bash -c 'startx -- vt1' & + else + ln -fs /boot/client-cfg/xinitrc /home/thinnote/.xinitrc; + su -l thinnote -s /bin/bash -c 'startx -- vt1' & + fi fi exit 0 diff --git a/home/thinnote/xinitrc b/home/thinnote/xinitrc deleted file mode 120000 index 119f5cc..0000000 --- a/home/thinnote/xinitrc +++ /dev/null @@ -1 +0,0 @@ -../../boot/client-cfg/xinitrc \ No newline at end of file From 4028e66c3d0430790b3aa676c5be4e6a68b5c9de Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Tue, 7 Sep 2021 16:07:27 +0200 Subject: [PATCH 19/20] README angepasst --- README.md | 54 -------------------------------------------------- README.x86.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 54 deletions(-) create mode 100644 README.x86.md diff --git a/README.md b/README.md index 1136cfb..4e8b2bd 100644 --- a/README.md +++ b/README.md @@ -1,60 +1,6 @@ # thinclient Repo fuer Raspi Image bzw. andere Thinclients -## 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 - -```bash -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 -``` - -```bash -apt install $(apt-cache search ^firmware | grep -v microbit | cut -f 1 -d " ") -``` -### rc.local unter Debian - -```bash -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/ -``` - -### 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 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared - -[Install] -WantedBy=multi-user.target -EOF -sudo systemctl enable x11vnc.service -``` ## FAQ Wenn der X11/Xorg Server nicht startet, mal in hosts/hostname ob der korrekt Name server angegeben ist. diff --git a/README.x86.md b/README.x86.md new file mode 100644 index 0000000..430b5a6 --- /dev/null +++ b/README.x86.md @@ -0,0 +1,55 @@ + +## 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 + +```bash +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 +``` + +```bash +apt install $(apt-cache search ^firmware | grep -v microbit | cut -f 1 -d " ") +``` +### rc.local unter Debian + +```bash +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/ +``` + +### 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 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared + +[Install] +WantedBy=multi-user.target +EOF +sudo systemctl enable x11vnc.service +``` From f340d37f8e241684aa175a34f1770e204acfd7ca Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Wed, 8 Sep 2021 14:24:04 +0200 Subject: [PATCH 20/20] =?UTF-8?q?Einstellungen=20f=C3=BCr=20x11vnc=20angep?= =?UTF-8?q?asst=20xrdp=20entsprechend=20vorkonfiguriert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.x86.md | 12 +- etc/systemd/system/x11vnc.service | 13 ++ etc/xrdp/xrdp.ini | 201 ++++++++++++++++++++++++++++++ 3 files changed, 225 insertions(+), 1 deletion(-) create mode 100644 etc/systemd/system/x11vnc.service create mode 100644 etc/xrdp/xrdp.ini diff --git a/README.x86.md b/README.x86.md index 430b5a6..79097b1 100644 --- a/README.x86.md +++ b/README.x86.md @@ -46,10 +46,20 @@ After=multi-user.target [Service] Type=simple -ExecStart=/usr/bin/x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared +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 ``` diff --git a/etc/systemd/system/x11vnc.service b/etc/systemd/system/x11vnc.service new file mode 100644 index 0000000..4453f2f --- /dev/null +++ b/etc/systemd/system/x11vnc.service @@ -0,0 +1,13 @@ +[Unit] +Description=Start X11VNC +After=multi-user.target + +[Service] +Type=simple +ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -localhost -forever -loop -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -noipv6 -shared +ExecStop=/usr/bin/killall x11vnc +Restart=on-failure +Restart-sec=2 + +[Install] +WantedBy=multi-user.target diff --git a/etc/xrdp/xrdp.ini b/etc/xrdp/xrdp.ini new file mode 100644 index 0000000..4a34d91 --- /dev/null +++ b/etc/xrdp/xrdp.ini @@ -0,0 +1,201 @@ +[Globals] +; xrdp.ini file version number +ini_version=1 + +; fork a new process for each incoming connection +fork=true +; tcp port to listen +port=3389 +; 'port' above should be connected to with vsock instead of tcp +use_vsock=false +; regulate if the listening socket use socket option tcp_nodelay +; no buffering will be performed in the TCP stack +tcp_nodelay=true +; regulate if the listening socket use socket option keepalive +; if the network connection disappear without close messages the connection will be closed +tcp_keepalive=true +#tcp_send_buffer_bytes=32768 +#tcp_recv_buffer_bytes=32768 + +; security layer can be 'tls', 'rdp' or 'negotiate' +; for client compatible layer +security_layer=negotiate +; minimum security level allowed for client +; can be 'none', 'low', 'medium', 'high', 'fips' +crypt_level=high +; X.509 certificate and private key +; openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365 +certificate= +key_file= +; set SSL protocols +; can be comma separated list of 'SSLv3', 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3' +ssl_protocols=TLSv1.2, TLSv1.3 +; set TLS cipher suites +#tls_ciphers=HIGH + +; Section name to use for automatic login if the client sends username +; and password. If empty, the domain name sent by the client is used. +; If empty and no domain name is given, the first suitable section in +; this file will be used. +autorun= + +allow_channels=true +allow_multimon=true +bitmap_cache=true +bitmap_compression=true +bulk_compression=true +#hidelogwindow=true +max_bpp=32 +new_cursors=true +; fastpath - can be 'input', 'output', 'both', 'none' +use_fastpath=both +; when true, userid/password *must* be passed on cmd line +#require_credentials=true +; You can set the PAM error text in a gateway setup (MAX 256 chars) +#pamerrortxt=change your password according to policy at http://url + +; +; colors used by windows in RGB format +; +blue=009cb5 +grey=dedede +#black=000000 +#dark_grey=808080 +#blue=08246b +#dark_blue=08246b +#white=ffffff +#red=ff0000 +#green=00ff00 +#background=626c72 + +; +; configure login screen +; + +; Login Screen Window Title +#ls_title=My Login Title + +; top level window background color in RGB format +ls_top_window_bg_color=009cb5 + +; width and height of login screen +ls_width=350 +ls_height=430 + +; login screen background color in RGB format +ls_bg_color=dedede + +; optional background image filename (bmp format). +#ls_background_image= + +; logo +; full path to bmp-file or file in shared folder +ls_logo_filename= +ls_logo_x_pos=55 +ls_logo_y_pos=50 + +; for positioning labels such as username, password etc +ls_label_x_pos=30 +ls_label_width=65 + +; for positioning text and combo boxes next to above labels +ls_input_x_pos=110 +ls_input_width=210 + +; y pos for first label and combo box +ls_input_y_pos=220 + +; OK button +ls_btn_ok_x_pos=142 +ls_btn_ok_y_pos=370 +ls_btn_ok_width=85 +ls_btn_ok_height=30 + +; Cancel button +ls_btn_cancel_x_pos=237 +ls_btn_cancel_y_pos=370 +ls_btn_cancel_width=85 +ls_btn_cancel_height=30 + +[Logging] +LogFile=xrdp.log +LogLevel=DEBUG +EnableSyslog=true +SyslogLevel=DEBUG +; LogLevel and SysLogLevel could by any of: core, error, warning, info or debug + +[Channels] +; Channel names not listed here will be blocked by XRDP. +; You can block any channel by setting its value to false. +; IMPORTANT! All channels are not supported in all use +; cases even if you set all values to true. +; You can override these settings on each session type +; These settings are only used if allow_channels=true +rdpdr=true +rdpsnd=true +drdynvc=true +cliprdr=true +rail=true +xrdpvr=true +tcutils=true + +; for debugging xrdp, in section xrdp1, change port=-1 to this: +#port=/tmp/.xrdp/xrdp_display_10 + +; for debugging xrdp, add following line to section xrdp1 +#chansrvport=/tmp/.xrdp/xrdp_chansrv_socket_7210 + + +; +; Session types +; + +; Some session types such as Xorg, X11rdp and Xvnc start a display server. +; Startup command-line parameters for the display server are configured +; in sesman.ini. See and configure also sesman.ini. +;[Xorg] +;name=Xorg +;lib=libxup.so +;username=ask +;password=ask +;ip=127.0.0.1 +;port=-1 +;code=20 + +;[Xvnc] +;name=Xvnc +;lib=libvnc.so +;username=ask +;password=ask +;ip=127.0.0.1 +;port=-1 +#xserverbpp=24 +#delay_ms=2000 + +[vnc-any] +name=vnc-any +lib=libvnc.so +ip=127.0.0.1 +port=5900 +username=na +password=ask +#pamusername=asksame +#pampassword=asksame +#pamsessionmng=127.0.0.1 +#delay_ms=2000 + +;[neutrinordp-any] +;name=neutrinordp-any +;lib=libxrdpneutrinordp.so +;ip=ask +;port=ask3389 +;username=ask +;password=ask + +; You can override the common channel settings for each session type +#channel.rdpdr=true +#channel.rdpsnd=true +#channel.drdynvc=true +#channel.cliprdr=true +#channel.rail=true +#channel.xrdpvr=true