Linux Terminal Server Project

Last updated
LTSP
Developer(s) LTSP developers
Initial release1999 (1999)
Stable release
23.02 / February 28, 2023;19 months ago (2023-02-28) [1]
Repository github.com/ltsp/ltsp
Operating system Linux
License GPLv3
Website ltsp.org

Linux Terminal Server Project (LTSP) is a free and open-source terminal server for Linux that allows many people to simultaneously use the same computer. Applications run on the server with a terminal known as a thin client (also known as an X terminal) handling input and output. Generally, terminals are low-powered, lack a hard disk and are quieter and more reliable than desktop computers because they do not have any moving parts.

Contents

This technology is useful in schools as it allows the school to provide pupils access to computers without purchasing or upgrading expensive desktop machines. Improving access to computers becomes less costly as thin client machines can be older computers that are no longer suitable for running a full desktop OS. Even a relatively slow CPU with as little as 128 MB of RAM can deliver excellent performance as a thin client. In addition, the use of centralized computing resources means that more performance can be gained for less money through upgrades to a single server rather than across a fleet of computers.

By converting existing computers into thin clients, an educational institution can also gain more control over how their students are using computing resources as all of the user sessions can be monitored on the server. See Epoptes (A Lab Management Tool).

The founder and project leader of LTSP is Jim McQuillan, and LTSP is distributed under the terms of the GNU General Public License. [2]

The LTSP client boot process

  1. On the LTSP server, a chroot environment is set up with a minimal Linux operating system and X environment.
  2. Either:
    1. the computer will boot [3] from a local boot device (like a harddisk, CD-ROM or USB disk), where it loads a small Linux kernel from that device which initializes the system and all of the peripherals that it recognizes, or
    2. the thin client will use PXE or Network booting, a part of the onboard Ethernet firmware, to request an IP address and boot server (the LTSP server) using the DHCP protocol. A PXE bootloader (PXElinux) is loaded which then retrieves a Linux kernel and initrd from a Trivial File Transfer Protocol (TFTP) service usually running on the LTSP server. Using the utilities in the initrd, the kernel will request a (new) DHCP IP address and the address of a server from which it can mount its root filesystem (the chroot mentioned above). When this information is retrieved, the client mounts the path on its root filesystem via either the Network File System (NFS) or Network Block Device (NBD) services running on the LTSP server.
  3. The client then loads Linux from the NFS mounted root filesystem (or NBD filesystem image) and starts the X Window system. At this XDMCP login manager on the LTSP server. In case of the newer MueKow (LTSP v5.x) setup, the client first builds an SSH tunnel to the LTSP server's X environment, through which it will start the LDM (LTSP Display Manager) login manager locally. From this point forward, all programs are started on the LTSP server, but displayed and operated from the client.
Differences between LTSP 4 and 5 [4]
PurposeLTSP 4LTSP 5 (MueKow)
GUI Export XDMCP ssh -X
Remote login (X display manager) KDM/GDM LTSP Display Manager (LDM)
Integration methodLTSP tarballNative as part of distribution
Root filesystemNFSNBD or NFS
Authenticating serverXDMCP serverSSH server

Scalability

Initially, the MILLE-Xterm project, funded by Canadian public agencies and school districts in the province of Quebec, created a version of LTSP integrating four subprojects: a portal (based on uportal), an open-source middleware stack, a CD with free software for Windows/Mac and, finally, MILLE-Xterm itself. The MILLE-Xterm project's goal was to provide a scalable infrastructure for massive X-Terminal deployment.[ citation needed ]

MILLE means Modèle d'Infrastructure Logiciel Libre en Éducation (Free Software Infrastructure Model for Education) and is targeted at educational institutions.

As of 2009, MILLE-Xterm was integrated back into the LTSP as LTSP-cluster, a project specializing in the large scale deployment of LTSP. One of the main differences between LTSP and LTSP-cluster is the integration of a web-based central control center that replaces the traditional "one configuration file per thin client" as is the method of client customization through LTSP's lts.conf file in the main LTSP. LTSP-cluster allows organizations to centrally manage thousands of thin clients and their parameters from a central location.

In LTSP-cluster high-availability and high-performance thin-clients are specified through the optional use of redundant components. Services that can be load-balanced and made highly available are:

LTSP-Cluster can support Linux application servers as well as Windows application servers and provides a similar level of support, centralized management, high-availability, and load-balancing features for both platforms.

Also included is support for virtual desktops for remote users using NX technology. The NX protocol can allow remote Windows and Linux sessions to be accessed from a web browser with very low bandwidth (40 kbit/s) requirements and tolerance for high-latency connections. The NX client runs on various operating systems including Linux, Mac, and Windows.

Fat clients

LTSP v5.x added support for a thin client type known as "fat clients". With the advent of inexpensive, relatively powerful computer hardware, the idea to run applications locally on the thin client while offering the manageability of a thin client solution became a reality. In the case of a LTSP fat client, the root filesystem is not a rudimentary chroot but a full Linux installation as a chroot. The fat client uses LDM to authenticate to the LTSP server and mounts user home directories using SSH and FUSE. The local CPU and RAM is used on the fat clients, which provides a few benefits.

  1. the LTSP server does not suffer from users abusing resources and affecting the performance and availability of the LTSP server to other users
  2. multimedia and 3D applications perform better and utilize less network bandwidth

LTSP is unique in offering the ability for a computer to mount its root filesystem over a network and run applications locally. On the Windows platform, the closest equivalent solution is to use a technology like Intel vPro to run a client-side hypervisor and mount the root filesystem image using iSCSI.

See also

Related Research Articles

<span class="mw-page-title-main">Thin client</span> Non-powerful computer optimized for remote server access

In computer networking, a thin client, sometimes called slim client or lean client, is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. They are sometimes known as network computers, or in their simplest form as zero clients. The server does most of the work, which can include launching software programs, performing calculations, and storing data. This contrasts with a rich client or a conventional personal computer; the former is also intended for working in a client–server model but has significant local processing power, while the latter aims to perform its function mostly locally.

<span class="mw-page-title-main">X Window System</span> Windowing system for bitmap displays on UNIX-like systems

The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.

<span class="mw-page-title-main">Windowing system</span> Software that manages separately different parts of display screens

In computing, a windowing system is a software suite that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.

<span class="mw-page-title-main">Knoppix</span> Linux operating system

Knoppix, stylized KNOPPIX, is an operating system based on Debian designed to be run directly from a CD / DVD or a USB flash drive. It was first released in 2000 by German Linux consultant Klaus Knopper, and was one of the first popular live distributions. Knoppix is loaded from the removable medium and decompressed into a RAM drive. The decompression is transparent and on-the-fly.

<span class="mw-page-title-main">Live CD</span> Complete, bootable computer installation that runs directly from a CD-ROM

A live CD is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading from a hard disk drive. A live CD allows users to run an operating system for any purpose without installing it or making any changes to the computer's configuration. Live CDs can run on a computer without secondary storage, such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing data recovery.

Unionfs is a filesystem service for Linux, FreeBSD and NetBSD which implements a union mount for other file systems. It allows files and directories of separate file systems, known as branches, to be transparently overlaid, forming a single coherent file system. Contents of directories which have the same path within the merged branches will be seen together in a single merged directory, within the new, virtual filesystem.

chroot Operation that changes the apparent root directory in Unix-like systems

chroot is an operation on Unix and Unix-like operating systems that changes the apparent root directory for the current running process and its children. A program that is run in such a modified environment cannot name files outside the designated directory tree. The term "chroot" may refer to the chroot(2) system call or the chroot(8) wrapper program. The modified environment is called a chroot jail.

<span class="mw-page-title-main">Diskless node</span> Computer workstation operated without disk drives

A diskless node is a workstation or personal computer without disk drives, which employs network booting to load its operating system from a server.

NX technology, commonly known as NX or NoMachine, is a remote access and remote control computer software allowing remote desktop access and maintenance of computers. It is developed by the Luxembourg-based company NoMachine S.à r.l. NoMachine is proprietary software and is free-of-charge for non-commercial use.

<span class="mw-page-title-main">X display manager</span>

In the X Window System, a X display manager is a graphical login manager which starts a login session on a X server from the same or another computer.

Remote administration refers to any method of controlling a computer or other Internet-connected device, such as a smartphone, from a remote location. There are many commercially available and free-to-use software that make remote administration easy to set up and use. Remote administration is often used when it's difficult or impractical to be physically near a system in order to use it or troubleshoot it. Many server administrators also use remote administration to control the servers around the world at remote locations. It is also used by companies and corporations to improve overall productivity as well as promote remote work. It may also refer to both legal and illegal remote administration.

<span class="mw-page-title-main">Diskless Remote Boot in Linux</span>

DRBL is a NFS-/NIS server providing a diskless or systemless environment for client machines.

In Linux systems, initrd is a scheme for loading a temporary root file system into memory, to be used as part of the Linux startup process. initrd and initramfs refer to two different methods of achieving this. Both are commonly used to make preparations before the real root file system can be mounted.

The Rio Receiver was a home stereo device for playing MP3 files stored on your computer's hard drive over an Ethernet or HomePNA network. It was later rebranded and sold as the Dell Digital Audio Receiver.

The Linux booting process involves multiple stages and is in many ways similar to the BSD and other Unix-style boot processes, from which it derives. Although the Linux booting process depends very much on the computer architecture, those architectures share similar stages and software components, including system startup, bootloader execution, loading and startup of a Linux kernel image, and execution of various startup scripts and daemons. Those are grouped into 4 steps: system startup, bootloader stage, kernel stage, and init process. When a Linux system is powered up or reset, its processor will execute a specific firmware/program for system initialization, such as the power-on self-test, invoking the reset vector to start a program at a known address in flash/ROM, then load the bootloader into RAM for later execution. In IBM PC–compatible personal computers (PCs), this firmware/program is either a BIOS or a UEFI monitor, and is stored in the mainboard. In embedded Linux systems, this firmware/program is called boot ROM. After being loaded into RAM, the bootloader will execute to load the second-stage bootloader. The second-stage bootloader will load the kernel image into memory, decompress and initialize it, and then pass control to this kernel image. The second-stage bootloader also performs several operation on the system such as system hardware check, mounting the root device, loading the necessary kernel modules, etc. Finally, the first user-space process starts, and other high-level system initializations are performed.

Remote Desktop Services (RDS), known as Terminal Services in Windows Server 2008 and earlier, is one of the components of Microsoft Windows that allow a user to initiate and control an interactive session on a remote computer or virtual machine over a network connection. RDS was first released in 1998 as Terminal Server in Windows NT 4.0 Terminal Server Edition, a stand-alone edition of Windows NT 4.0 Server that allowed users to log in remotely. Starting with Windows 2000, it was integrated under the name of Terminal Services as an optional component in the server editions of the Windows NT family of operating systems, receiving updates and improvements with each version of Windows. Terminal Services were then renamed to Remote Desktop Services with Windows Server 2008 R2 in 2009.

<span class="mw-page-title-main">GraphOn</span> Application publishing software

GraphOn GO-Global is a multi-user remote access application for Windows. GO-Global is a product of GraphOn Corporation.

QVD is an open-source virtual desktop infrastructure (VDI) product built on Linux. Its main purpose is to provide remote desktops to users.

<span class="mw-page-title-main">Qubes OS</span> Security-focused Linux-based operating system

Qubes OS is a security-focused desktop operating system that aims to provide security through isolation. Isolation is provided through the use of virtualization technology. This allows the segmentation of applications into secure virtual machines called qubes. Virtualization services in Qubes OS are provided by the Xen hypervisor.

References

  1. "Releases · ltsp/ltsp". github.com. Retrieved 2023-08-04.
  2. "LTSP homepage". It's distributed under the GNU General Public License, meaning it's free and always will be.
  3. James A. McQuillan. Chapter 1.1 from the LTSP 4.1 manual: The steps that the workstation will go through.
  4. Jonathan Carter (and others). Ubuntu LTSP Tour: Technical differences (between LTSP 4 and 5) Archived 2012-03-03 at the Wayback Machine
  5. "LTSP-cluster technical introduction". Archived from the original on 2011-07-27.