### Setup ThinStation Build Environment Source: https://context7.com/thinstation/thinstation-ng/llms.txt Use `setup-chroot` to bootstrap the Fedora-based chroot environment, install dependencies, and enter the build shell. Run as root from the repository root directory. ```bash # Clone the repository git clone --depth 1 https://github.com/Thinstation/thinstation-ng.git cd thinstation-ng # Initialize and enter the chroot build environment (first run downloads all deps) sudo ./setup-chroot # Inside the chroot, navigate to the build directory and build the default image cd /build ./build --savedir # Output: boot-images/grub/ (contains thinstation-efi.iso and efi-source/) # Useful flags for setup-chroot: sudo ./setup-chroot -b # enter chroot and immediately run ./build sudo ./setup-chroot -b -o --allmodules # build with all kernel modules (for profiling real hardware) sudo ./setup-chroot -i # install chroot environment only, don't enter it sudo ./setup-chroot -c # clean the chroot environment sudo ./setup-chroot -e "pkgmk -u" # execute a single command inside the chroot sudo ./setup-chroot -k # import SSH keys into the chroot ``` -------------------------------- ### NoMachine NX Client Configuration Example Source: https://github.com/thinstation/thinstation-ng/wiki/Building-ThinStation-for-booting-off-SSD-(Goal:-Terminal-Server-Thin-Clients) This example shows how to map a NoMachine connection file option to the Thinstation build environment's 50nx configuration format. Adapt the server host setting as needed. ```shell SESSION_#_NX_GENERAL_SERVER_HOST="192.168.10.10" ``` -------------------------------- ### Example: Fetch and Switch to 7.1-Stable Branch Source: https://github.com/thinstation/thinstation-ng/wiki/Updating-your-repository An example of fetching and switching to the '7.1-Stable' branch. Ensure all your local changes are backed up before proceeding. ```bash git fetch origin 7.1-Stable:7.1-Stable git branch --set-upstream-to=origin/7.1-Stable 7.1-Stable git checkout 7.1-Stable ``` -------------------------------- ### Initialize build.conf Source: https://github.com/thinstation/thinstation-ng/wiki/build.conf Before modifying build.conf, it's recommended to remove the existing one and copy the example configuration file. ```bash rm build.conf cp build.conf.example build.conf ``` -------------------------------- ### Navigate and Setup Build Environment Source: https://github.com/thinstation/thinstation-ng/wiki/Building-ThinStation-for-booting-off-SSD-(Goal:-Terminal-Server-Thin-Clients) Change directory into the cloned repository and set up the chroot build environment. This step may need to be repeated if you leave the environment. ```bash cd thinstation-ng ``` ```bash sudo ./setup-chroot ``` -------------------------------- ### Configure Local Install Parameters Source: https://github.com/thinstation/thinstation-ng/wiki/Building-ThinStation-for-booting-off-SSD-(Goal:-Terminal-Server-Thin-Clients) Set these parameters in `build.conf` for the local installation of ThinStation. This includes defining the base path, URL, and name for the ThinStation distribution. ```shell param basepath prod param baseurl http://192.168.10.38 param basename thinstation ``` -------------------------------- ### Setup ThinStation Chroot Environment Source: https://github.com/thinstation/thinstation-ng/blob/7.2-Stable/README.md Initializes the development environment by running the setup-chroot script. This populates directories and sets up the chroot environment for building ThinStation images. ```bash ./setup-chroot ``` -------------------------------- ### Window command definition for application startup Source: https://github.com/thinstation/thinstation-ng/wiki/Packaging Defines the command to start an application in a window. This is an optional configuration file. ```shell CMD_WINDOW="application" ``` -------------------------------- ### Install Syslinux Bootloader Source: https://github.com/thinstation/thinstation-ng/wiki/FAQ Use this command to install the syslinux bootloader onto a storage device. Ensure the device path is correct. ```bash syslinux /dev/ ``` -------------------------------- ### Build a ThinClient Source: https://github.com/thinstation/thinstation-ng/blob/7.2-Stable/ts/build/packages/installer/README.html After installation and reboot, navigate to the thinstation directory and execute these commands to build a thin client image. This process prepares the build environment and then initiates the build. ```bash cd /thinstation ``` ```bash ./setup-chroot ``` ```bash stb ``` -------------------------------- ### Setup Chroot Environment Source: https://github.com/thinstation/thinstation-ng/wiki/Getting-Started-with-ThinStation Enter the chroot building environment as root. This command must be run before creating a new build or ISO. It may take a few minutes on the first execution. ```bash cd thinstation-ng ./setup-chroot ``` -------------------------------- ### Install Fedora Dependencies Source: https://github.com/thinstation/thinstation-ng/blob/7.2-Stable/README.md Installs necessary packages like dnf, chroot, and git on a Fedora-based host. ```bash sudo dnf install dnf chroot git ``` -------------------------------- ### Fullscreen command definition for application startup Source: https://github.com/thinstation/thinstation-ng/wiki/Packaging Defines the command to start an application in fullscreen mode. This is an optional configuration file. ```shell CMD_FULLSCREEN="application --FULLSCREEN" ``` -------------------------------- ### Scoped Configuration Files for Kiosk and Desktop Source: https://context7.com/thinstation/thinstation-ng/llms.txt Example configuration files for specific groups or hostnames. These files are applied based on the netfiles mapping. ```bash # /tftproot/ts7.2/thinstation.conf.group-group-kiosks SESSION_0_TYPE=rdesktop SESSION_0_AUTOSTART=On SESSION_0_RDESKTOP_SERVER=kiosk-ts.corp.example.com SESSION_0_RDESKTOP_OPTIONS='-u kiosk -p kiosk -d CORP -f' # fullscreen kiosk mode # /tftproot/ts7.2/thinstation.conf-desk-02 SESSION_0_TYPE=freerdp SESSION_0_AUTOSTART=On SESSION_0_FREERDP_SERVER=desktop.corp.example.com SESSION_0_FREERDP_OPTIONS='/u:jsmith /d:CORP /multimon' ``` -------------------------------- ### Global command definition for application startup Source: https://github.com/thinstation/thinstation-ng/wiki/Packaging Defines the default command to start an application. This file is always required if using symlinks for initialization. ```shell CMD_GLOBAL="application" ``` -------------------------------- ### Minimalist RDP-only Thin Client Build Configuration Source: https://context7.com/thinstation/thinstation-ng/llms.txt The `build.conf` file defines hardware drivers, kernel modules, firmware, packages, and parameters for the ThinStation boot image. This example configures a minimal RDP-only client. ```ini # /build/build.conf — Minimalist RDP-only thin client image # --- Hardware: machine profile covers modules + firmware + X.org driver --- machine myPC # Custom profile in build/machine/myPC/ # Fallback: include all modules for a generic/VM image # ./build --allmodules # Use this flag instead of explicit modules for discovery # --- Filesystem support --- module ext4 module vfat module nls_utf8 # --- System packages --- package base package network # NetworkManager-based networking package netfiles # Enable boot-time config fetching (TFTP/HTTP/SCP) package xorg7-vesa # Fallback VESA X.org driver package fonts-dejavu # --- Remote desktop client --- package rdesktop # X RDP client for Windows Terminal Services # package freerdp # FreeRDP (alternative modern RDP client) # package icaclient # Citrix ICA (requires proprietary bundle in /downloads) # package vmware-view # VMware Horizon View (requires proprietary bundle) # package thinlinc # Cendeo ThinLinc client # --- Window manager (optional, for multi-session GUI) --- package icewm package icewm-utils # --- Parameters --- param defaultconfig thinstation.conf.buildtime param basepath ts7.2 # TFTP/HTTP subdirectory for boot-time config files param baseurl http://192.168.1.10 # HTTP server base URL (for NET_FILE_METHOD=wget) param bootverbosity 3 # 1=boot + 2=network messages param haltonerror false # Don't halt on errors (useful for troubleshooting) param bootlogo false # Disable bootsplash to see all kernel messages param fastboot disabled # Set to gzip/bzip2/xz to enable Fastboot mode # param initrdcmd squashfs # LiveCD mode: squashfs-based initrd ``` -------------------------------- ### Install Rufus Port Source: https://github.com/thinstation/thinstation-ng/wiki/Making-bootable-media-on-Windows Install the Rufus port using this command before running the build in the development environment. ```bash prt-get install rufus ``` -------------------------------- ### Configure Session Settings in thinstation.conf.buildtime Source: https://github.com/thinstation/thinstation-ng/wiki/Building-ThinStation-for-booting-off-SSD-(Goal:-Terminal-Server-Thin-Clients) Modify thinstation.conf.buildtime to define session types and autostart behavior for a desktop kiosk setup. Ensure SESSION_0 and SESSION_1 are configured. ```shell # Setup for a "desktop kiosk" e.g. a desktop without any system menus # SESSION_0 and SESSION_1 is MANDATORY. More sessions may be added. #ICONMODE=MANUAL MENU_SHOWABOUT=true # Have an about box or not SESSION_0_TITLE="openbox" SESSION_0_TYPE=openbox SESSION_0_AUTOSTART=On SESSION_1_TITLE="Exit" SESSION_1_TYPE=poff SESSION_1_AUTOSTART=Off SESSION_1_ICON=On # Add any additional package you may want, but keep AUTOSTART=Off and # ICON=On for each session #SESSION_2_TITLE="NX" #SESSION_2_TYPE=nx #SESSION_2_NX_GENERAL_SERVER_HOST=192.168.10.10 #SESSION_2_AUTOSTART=Off #SESSION_2_ICON=On # End of desktop kiosk setup ``` -------------------------------- ### Configure LPT Printer on Boot Source: https://github.com/thinstation/thinstation-ng/wiki/Printer-configuration Define LPT printer settings directly in `thinstation.conf.buildtime` or a similar configuration group. This example shows how to set the printer name, device URI, and driver for an LPT printer connected to `/dev/lp0`. ```ini CUPS_PRINTER_2_NAME="sample_lpt_printer_2" CUPS_PRINTER_2_DEVICEURI="file:///dev/lp0" CUPS_PRINTER_2_DRIVER="drv:///sample.drv/generpcl.ppd" ``` -------------------------------- ### Enable a custom application service using a symlink Source: https://context7.com/thinstation/thinstation-ng/llms.txt Creates a symbolic link to enable the custom application's systemd service to start at boot within the multi-user target. ```bash ln -sf ../myapp.service /build/packages/myapp/etc/systemd/system/tsinit.target.wants/myapp.service ``` -------------------------------- ### Create a systemd unit file for a custom application Source: https://context7.com/thinstation/thinstation-ng/llms.txt Defines a systemd service for the custom application, specifying its dependencies, execution, and logging. This ensures the application starts correctly during the boot process. ```bash [Unit] Description=ThinStation myapp After=profile-setup.service pkg.service Before=display-manager.service ConditionPathIsReadWrite=/etc [Service] Type=oneshot RemainAfterExit=yes EnvironmentFile=/etc/thinstation.env ExecStart=/etc/init.d/myapp.init init SyslogIdentifier=myapp [Install] WantedBy=multi-user.target ``` -------------------------------- ### Clone Thinstation Repository Source: https://github.com/thinstation/thinstation-ng/wiki/Building-ThinStation-for-booting-off-SSD-(Goal:-Terminal-Server-Thin-Clients) Clone the Thinstation NG repository to start the build process. Ensure you use the --depth 1 option for a shallow clone. ```bash git clone --depth 1 git://github.com/Thinstation/thinstation-ng.git ``` -------------------------------- ### Configure Network Printer on Boot Source: https://github.com/thinstation/thinstation-ng/wiki/Printer-configuration Define network printer settings directly in `thinstation.conf.buildtime` or a similar configuration group. This example shows how to set the printer name, device URI, and driver. ```ini CUPS_PRINTER_0_NAME="sample_network_printer_0" CUPS_PRINTER_0_DEVICEURI="socket://ip_address" CUPS_PRINTER_0_DRIVER="drv:///sample.drv/generpcl.ppd" ``` -------------------------------- ### Configure USB Printer on Boot Source: https://github.com/thinstation/thinstation-ng/wiki/Printer-configuration Define USB printer settings directly in `thinstation.conf.buildtime` or a similar configuration group. This example shows how to set the printer name, device URI, and driver for a USB printer connected to `/dev/usb/lp0`. ```ini CUPS_PRINTER_1_NAME="sample_usb_printer_1" CUPS_PRINTER_1_DEVICEURI="file:///dev/usb/lp0" CUPS_PRINTER_1_DRIVER="drv:///sample.drv/generpcl.ppd" ``` -------------------------------- ### Install pythonGTK Dependency Source: https://github.com/thinstation/thinstation-ng/wiki/Installing-ThinLinc-Server-for-a-thin-client-environment Use these commands to download and install the python-gtk2 deb package to resolve a dependency error during ThinLinc installation. An 'apt --fix-broken install' may be needed afterward. ```bash cd ~/Downloads wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb sudo apt-get install ./python-gtk2_2.24.0-5.1ubuntu2_amd64.deb ``` -------------------------------- ### Install python-ldap Dependencies Source: https://github.com/thinstation/thinstation-ng/wiki/Installing-ThinLinc-Server-for-a-thin-client-environment Install necessary development packages and then use pip to install the python-ldap library. This is required for ThinLinc's LDAP integration. ```bash sudo apt install python-dev libldap2-dev libsasl2-dev gcc ``` ```bash pip install python-ldap ``` -------------------------------- ### Add a startup init script for a custom application Source: https://context7.com/thinstation/thinstation-ng/llms.txt This script initializes the application by configuring it using variables from thinstation.conf. Ensure the script is executable. ```bash #!/bin/sh . $(dirname $0)/common case "$1" in init) if ! pkg_initialized $PACKAGE; then # Configure the app using thinstation.conf variables echo "server=${MYAPP_SERVER}" > /etc/myapp/config.ini echo "port=${MYAPP_PORT:-8080}" >> /etc/myapp/config.ini pkg_set_init_flag $PACKAGE fi ;; *) exit 1 ;; esac exit 0 ``` -------------------------------- ### Build Thinstation with All Modules Source: https://github.com/thinstation/thinstation-ng/wiki/Building-ThinStation-for-booting-off-SSD-(Goal:-Terminal-Server-Thin-Clients) Initiate the Thinstation build process from the /build directory. The --allmodules flag is recommended for deployment on real hardware. ```bash cd /build ``` ```bash ./build --savedir --allmodules ``` -------------------------------- ### Building a Thinstation Image with Machine Profiles Source: https://context7.com/thinstation/thinstation-ng/llms.txt Steps to create a lean Thinstation image by first building a discovery image, listing hardware, and then creating a machine profile. ```bash # Step 1: Build an "all modules" discovery image for your hardware cd /build ./build --allmodules # This produces a large (>200 MiB) image containing all available drivers # Step 2: Boot the thin client with this image, then run the hardware lister /bin/hwlister.sh # Generates: /module.list, /vbe_modes.list, /firmware.list on the client # If TFTP root is writable, files are uploaded automatically; otherwise copy manually via USB # Step 3: Create the machine profile directory mkdir -p /build/machine/myOfficePC cp /path/to/module.list /build/machine/myOfficePC/ cp /path/to/firmware.list /build/machine/myOfficePC/ # optional cp /path/to/vbe_modes.list /build/machine/myOfficePC/ # optional # Step 4: For systems with specific X.org driver needs, create package.list echo "package xorg7-intel" > /build/machine/myOfficePC/package.list # Step 5: Add extra /etc config files into the machine profile (no package needed) mkdir -p /build/machine/myOfficePC/etc cp /path/to/custom-xorg.conf /build/machine/myOfficePC/etc/ # Step 6: Reference the profile in build.conf echo "machine myOfficePC" >> /build/build.conf # Step 7: Build the final, lean image ./build ``` -------------------------------- ### Install Python Packages During Build Source: https://github.com/thinstation/thinstation-ng/wiki/Packaging The 'build/pip3.freeze' file allows you to specify Python packages to be installed into the image during the build process. The format is compatible with 'pip freeze'. ```plaintext requests==2.28.1 flask ``` -------------------------------- ### Build ThinStation Boot Image Source: https://github.com/thinstation/thinstation-ng/wiki/Getting-Started-with-ThinStation Build your first ThinStation boot image within the chroot environment. This process can take several minutes. The resulting ISO and its contents will be located in the 'boot-images/grub' subdirectory. ```bash cd /build ./build --savedir ``` -------------------------------- ### Build ThinStation Images Source: https://github.com/thinstation/thinstation-ng/blob/7.2-Stable/README.md Navigates to the build directory and executes the build script after configuring build settings in build.conf and thinstation.conf.buildtime. ```bash cd /build ./build ``` -------------------------------- ### Thinstation Build Configuration - Boot Modes Source: https://context7.com/thinstation/thinstation-ng/llms.txt Configure the boot mode for Thinstation images in build.conf. Choose between LiveCD (squashfs) for moderate memory use or Initrd (gzip, bzip2, xz) for faster app launch but higher memory consumption. ```ini # /build/build.conf — Boot mode examples # --- LiveCD Mode (squashfs) --- # Simple, disk-independent; moderate memory use; squash lag on app launch param initrdcmd squashfs # --- Initrd Mode (fully compressed ramdisk) --- # Disk-independent; fastest app launch; high memory use during boot param initrdcmd gzip # or: bzip2, xz ``` -------------------------------- ### Update Repository on Original Branch Source: https://github.com/thinstation/thinstation-ng/wiki/Updating-your-repository Use these commands to update your local repository when staying on the same branch. Remember to back up your configuration files before starting. ```bash cd thinstation-ng ./setup-chroot clean_chroot exit git pull ``` -------------------------------- ### Clone Thinstation Repository Source: https://github.com/thinstation/thinstation-ng/blob/7.2-Stable/ts/build/packages/installer/README.html Use this command to clone the Thinstation repository if you are not using the provided installer disc. It performs a shallow clone for faster retrieval. ```bash git clone --depth 1 git://github.com/Thinstation/thinstation.git ``` -------------------------------- ### Debug pcscd in Foreground Source: https://github.com/thinstation/thinstation-ng/wiki/Smart-Cards To debug pcscd issues, stop the running daemon and start it in the foreground. This allows direct observation of its output and errors on stdout. ```bash kill `pidof pcscd` pcscd -f ``` -------------------------------- ### View Boot Log Source: https://github.com/thinstation/thinstation-ng/wiki/Debugging Use the 'more' command to view the contents of the '/var/log/boot.log' file, which contains ThinStation-specific debug messages. Press space to advance pages and 'q' to exit. ```bash more /var/log/boot.log ``` -------------------------------- ### Clone ThinStation Git Repository Source: https://github.com/thinstation/thinstation-ng/wiki/Getting-Started-with-ThinStation Use this command to clone the current stable ThinStation branch into a local directory. Ensure Git is installed on your Fedora system. ```bash git clone --depth 1 https://github.com/Thinstation/thinstation-ng.git ``` -------------------------------- ### Define startup commands for a custom application Source: https://context7.com/thinstation/thinstation-ng/llms.txt Specifies the commands to run for a custom application based on different startup contexts (global, windowed, fullscreen). These commands are typically executed by the system's init process. ```bash echo 'CMD_GLOBAL="/usr/bin/myapp --daemon"' > /build/packages/myapp/etc/cmd/myapp.global ``` ```bash echo 'CMD_WINDOW="/usr/bin/myapp --window"' > /build/packages/myapp/etc/cmd/myapp.window ``` ```bash echo 'CMD_FULLSCREEN="/usr/bin/myapp --kiosk"' > /build/packages/myapp/etc/cmd/myapp.fullscreen ``` -------------------------------- ### Create Bootable Drive with GRUB Source: https://github.com/thinstation/thinstation-ng/wiki/Deployment Use this command to create a bootable drive for ThinStation using GRUB. Replace 'd:0:boot' with your partition details and '' with the actual device name. ```bash mkmbrdrv -o /build/boot-images/grub/efi-source -p d:0:boot ``` ```bash flash ``` -------------------------------- ### Writing to CD/DVD (ISO) Source: https://context7.com/thinstation/thinstation-ng/llms.txt Create a bootable CD/DVD by writing the generated ThinStation ISO image to optical media using `wodim`. Alternatively, use tools like Rufus on Windows to write the ISO to a USB drive. ```bash # After building, find the ISO ls /build/boot-images/grub/ # thinstation-efi.iso efi-source/ ``` ```bash # Write to optical disc (any Linux system) wodim -v dev=/dev/cdrom /build/boot-images/grub/thinstation-efi.iso ``` ```bash # Or on Windows — use Rufus or similar to write the ISO to USB: # (Refer to wiki: Making-bootable-media-on-Windows) ``` -------------------------------- ### Build All Modules for Hardware Analysis Source: https://github.com/thinstation/thinstation-ng/wiki/Machine-profiles Build a comprehensive image with all modules enabled using './build --allmodules'. This generates a large image (>200 MiB) suitable for booting and identifying necessary hardware components. ```shell ./build --allmodules ``` -------------------------------- ### Default Buildtime Runtime Settings Source: https://context7.com/thinstation/thinstation-ng/llms.txt Configure network, storage, and auto-start sessions in this buildtime file. Ensure network settings are correct if not using DHCP. ```bash # /build/thinstation.conf.buildtime — Default runtime settings baked into the image # --- Network (must be in buildtime if not using DHCP) --- NET_USE_DHCP=On # Static IP fallback: # NET_USE_DHCP=Off # NET_HOSTNAME=tc-client-01 # NET_IP_ADDRESS=192.168.1.50 # NET_MASK=255.255.255.0 # NET_GATEWAY=192.168.1.1 # NET_DNS1=192.168.1.1 # NET_DNS_SEARCH=corp.example.com # --- Enable boot-time config fetching --- NET_FILE_ENABLED=On NET_FILE_METHOD=wget # Options: tftp | wget | scp # --- Storage / Persistence (v7.0+) --- MOUNT_0="LABEL=boot /boot auto x-mount.mkdir,defaults 0 0" MOUNT_1="LABEL=home /home auto x-mount.mkdir,defaults 0 0" MOUNT_2="LABEL=prstnt /var/prstnt auto x-mount.mkdir,defaults 0 0" # --- Auto-start an RDP session on boot --- RECONNECT_PROMPT=On SESSION_0_TYPE=rdesktop SESSION_0_AUTOSTART=On SESSION_0_RDESKTOP_SERVER=192.168.1.100 SESSION_0_RDESKTOP_OPTIONS='-u jdoe -d CORP -g 1920x1080' # --- OR: FreeRDP session --- # SESSION_0_TYPE=freerdp # SESSION_0_AUTOSTART=On # SESSION_0_FREERDP_SERVER=rdp.corp.example.com # SESSION_0_FREERDP_OPTIONS='/u:jdoe /d:CORP /size:1920x1080 /drive:USB,\/mnt\/mnt\/usbdevice' # --- OR: Citrix ICA session --- # SESSION_0_TYPE=ica # SESSION_0_AUTOSTART=On # SESSION_0_ICA_BROWSERADDR=storefront.corp.example.com # --- OR: VMware Horizon View --- # SESSION_0_TYPE=vmware-view # SESSION_0_AUTOSTART=On # SESSION_0_VMWARE_VIEW_SERVER=horizon.corp.example.com # --- Disable session if no server found (troubleshooting) --- # NO_SESSION=/bin/sh # NO_XORG_CMD=/bin/sh # AUTOSTART=Off ``` -------------------------------- ### Network Boot via iPXE (HTTP) Configuration Source: https://context7.com/thinstation/thinstation-ng/llms.txt Configure iPXE for faster network booting using HTTP. This involves setting up an HTTP server to host the boot directory and defining an iPXE menu entry that specifies the kernel and initrd paths. Ensure the boot directory is correctly copied to the HTTP root. ```bash # iPXE menu entry :ThinStation echo Booting ThinStation... set BOOT_IMAGE /boot/vmlinuz kernel http://${next-server}${BOOT_IMAGE} BOOT_IMAGE=${BOOT_IMAGE} selinux=0 console=tty1 boot_device=http initrd http://${next-server}/boot/initrd boot ``` ```bash # Copy boot directory to HTTP root cp -r /build/boot-images/grub/efi-source/boot /var/www/html/ ``` -------------------------------- ### Successful mkmbrdrv Write Output Source: https://github.com/thinstation/thinstation-ng/wiki/Errors-Running-mkmbrdrv Example output after a successful write operation using the mkmbrdrv command to a USB drive. This indicates the command completed without errors. ```text Below is the output after a successful write to the USB drive. ``` -------------------------------- ### Build Thinstation image Source: https://context7.com/thinstation/thinstation-ng/llms.txt Initiates the Thinstation build process from the /build directory. This command compiles the image with all specified packages and configurations. ```bash cd /build && ./build ``` -------------------------------- ### Launch ThinStation in WSL Source: https://github.com/thinstation/thinstation-ng/blob/7.2-Stable/README.md Launches the imported ThinStation distribution within WSL. ```bash wsl -d ThinStation ``` -------------------------------- ### Discover available printer drivers Source: https://context7.com/thinstation/thinstation-ng/llms.txt Command to list available printer drivers on a running Thinstation client. This requires the 'terminal' package to be installed and is useful for identifying correct driver names. ```bash # Discover available drivers on a running client (requires package terminal): lpinfo --make-and-model "LaserJet 4240" -m ``` -------------------------------- ### Update ThinLinc Download URL Source: https://github.com/thinstation/thinstation-ng/wiki/Building-ThinStation-for-booting-off-SSD-(Goal:-Terminal-Server-Thin-Clients) If the ThinLinc package fails to install due to version changes, update the 'thinlincurl' parameter in build.urls to match the current download link for the tar.gz package. ```bash param thinlincurl ``` -------------------------------- ### Build Thinstation Images Source: https://github.com/thinstation/thinstation-ng/wiki/Smart-Cards After configuring the environment and drivers, build the Thinstation images. This command compiles the Thinstation OS with the applied modifications. ```bash cd Thinstation-2.2.2d ./build ``` -------------------------------- ### Configure VirtualGL Server Source: https://github.com/thinstation/thinstation-ng/wiki/Installing-ThinLinc-Server-for-a-thin-client-environment Run the VirtualGL server configuration utility. Respond to the prompts based on your security requirements and environment needs. ```bash vglserver_config ``` -------------------------------- ### Diagnosing USB Auto-mount Source: https://context7.com/thinstation/thinstation-ng/llms.txt To diagnose USB auto-mount issues, ensure 'autofs4' is enabled in build.conf and 'automount' package is installed. Use 'df' to check mount points and 'dmesg' for USB errors. ```bash df # should show /mnt/mnt/usbdevice/