# Configuració multiestació

La configuració multiestació (multiterminal, Multiseat, multi-station, multihead) és la configuració especial d'una ordinador per poder suportar múltiples usuaris treballant al mateix temps, cada un amb el seu propi monitor, teclat, ratolí i, opcionalment, amb la seva pròpia targeta de so. Amb el creixent augment de capacitat del maquinari, tant en processadors com memòries, més el vertiginós avanç i desenvolupament dels sistemes GNU/Linux, cada vegada més robusts i amb un millor maneig dels recursos, en un ordinador pot fer-se un alt nombre de tasques sense que es torni lenta. No obstant això, en usar la configuració estàndard d'un PC d'escriptori, només un usuari pot utilitzar l'ordinador al mateix temps, limitant l'efectivitat del sistema, ja que roman desocupat la major part del temps, manté els seus recursos ociosos.
Amb la configuració multiestació, diversos usuaris poden compartir els recursos de la mateixa ordinador, així que s'estaria usat un major percentatge de la seva capacitat total, tenint així un millor aprofitament del sistema. Per exemple, en l'esquema tradicional, si algú fa servir únicament un navegador de pàgines web o escrivint una carta en un processador de textos, o treballant amb una full de càlcul, o amb un programa de facturació, inventari, o comptabilitat, l'equip es desaprofita, en estar gran part de la capacitat del sistema sense ús. Però amb la configuració multiterminal, altres persones podran fer servir els recursos que d'altra manera estarien ociosos.

## Història

No obstant això, la idea d'usar la interfície més contemporània X11 per suportar múltiples usuaris va aparèixer el 1999. Va ser implementada per un brasiler anomenat Miguel Freitas, usant el sistema operatiu Linux i el sistema gràfic X11 (en aquest moment mantingut per XFree86). La manera com ho va fer Freitas va ser un pegat al servidor X per executar moltes instàncies de X al mateix temps, de tal manera que cada una captura esdeveniments de ratolí i teclat específics i el contingut gràfic. Aquest mètode va rebre el nom del multiseat o multiterminal.
Després de Freitas, altres solucions van aparèixer el 2003, com les de Svetoslav Slavtchev, Aivils Stoss i James Simmons que van treballar en l'acostament a evdev and faketty, modificant el nucli Linux i permetent a més d'un usuari utilitzar independentment la mateixa màquina. En aquest temps, el Linux Console Project també va proposar una idea per utilitzar múltiples consoles independents i després múltiples teclats i ratolins independents en un projecte anomenat "Backstreet Ruby". Backstreet Ruby és un pedaç del nucli Linux. Va ser portar cap enrere al Linux-2.4 l'arbre de kernel de Ruby. L'objectiu dels desenvolupadors de Linux Console va ser millorar i reorganitzar l'entrada, la consola, i els subsistemes del framebuffer en el nucli Linux, perquè poguessin treballar independentment un de l'altre i permetre l'operació multi-escriptori. La idea de Backstreet Ruby mai va ser acabada.
El 2005, l'equip de C3SL (Centre per a la Computació Científica i el programari lliure), de la Universitat Federal de Paraná al Brasil, va crear la solució obtinguda amb servidors X niats, com Xnest i Xephyr. Amb aquesta solució, cada servidor X niat corre a cada pantalla d'un servidor X amfitrió (per exemple XOrg) i una modificació en els servidors niats els permet tenir l'exclusivitat de cada conjunt de ratolí i teclat. Aquestes solucions eren les més usades avui en dia per la seva estabilitat. El 2008, el grup C3SL llança el Multiseat Display Manager (MDM) per facilitar el procés de la instal·lació i configuració d'una caixa multiseat. També el 2008, aquest grup va concebre un LiveCD per a propòsits de proves.

## Requeriments

Perquè diversos usuaris puguin treballar en un ordinador es necessiten connectar a aquest diversos monitors, teclats i ratolins. Per exemple, per formar una multiterminal de quatre estacions (per a 4 usuaris), calen 4 monitors, 4 teclats i 4 ratolins.
Cada monitor necessita ser connectat a una sortida de vídeo. Algunes targetes de vídeo tenen múltiples sortides i suporten diversos monitors. Addicionalment, poden anar en l'ordinador diverses d'aquestes targetes de vídeo, però la majoria de les màquines modernes només tenen un slot PCIe o AGP, així que, en general, aquestes targetes han de ser PCI.
Un ordinador multiestació pot usar-se en llocs on hagin diverses persones treballant a prop una de l'altra, com succeeix en laboratoris de computació, cibercafès, cubicles en una oficina, departaments d'atenció al client, etc. Alguns d'aquests llocs són escoles, Universitats, Oficines, Cibercafès, Biblioteques, Hospitals, Llars.

## Implementació

Hi ha diverses maneres de fer multiterminals, i noves maneres estan sent constantment desenvolupades. No existeix la "millor versió", però algunes versions són millors que altres.

### GNU/Linux

En els sistemes operatius tipus Unix, com GNU/Linux, la interacció amb l'usuari es fa pel sistema X Window. Aquest sistema està basat en l'arquitectura client-servidor, on el client envia peticions al servidor i rep esdeveniments dels dispositius d'entrada (teclats i ratolins). Els servidors X tenen la definició de recurs, com pot ser un dispositiu d'entrada o una finestra, que són donats als seus clients. Aquests recursos estan associats a una pantalla, la qual pertany a un usuari. Per tant, una multiterminal basada en GNU/Linux ha de donar una pantalla per cada usuari.
El servidor Xorg, la més recent implementació del servidor X, no suporta múltiples pantalles. Aquest segueix el model d'ordinador personal, el qual suposa únicament un usuari a la vegada. S'hi registren dades per l'entrada estàndard del Kernel, anomenades terminals virtuals (VT). Aquestes reben aquest nom pel fet que simulen els vells mètodes d'entrada dels antics mainframes. El VT està totalment implementat utilitzant programari, simulant un TTY, un dispositiu que estava connectat per ports serials. El nucli Linux suporta múltiples terminals, però només poden rebre esdeveniments d'un teclat alhora. Si més d'un teclat s'hi connecta a l'ordinador, els esdeveniments seran enviats al VT actiu. Això treu la possibilitat d'executar dos o més servidors X, pel fet que només poden activar a un servidor alhora, fins i tot si aquests fan servir diferents targetes de vídeo.
Per resoldre aquests problemes, s'han creat diverses solucions diferents, per ordre cronològic: Multiterminal amb ruby (aplicant un pegat al nucli), Multiterminal amb evdev (un protocol), Multiterminal amb faketty (un mòdul del nucli), Multiterminal amb Xnest i Multiterminal amb Xephyr (una millora a l'anterior). Les més usades són faketty i Xephyr. La solució amb Xephyr és independent del maquinari, mentre que la faketty únicament treballa amb un conjunt més restringit de targetes de vídeo com les de NVIDIA i SiS.

## Referències

* ↑ Freitas, Miguel. «Multiple local XFree users under Linux» (en anglès), 07-12-2005.
* ↑ «Faketty». Arxivat de l'original el 2009-05-11. [Consulta: 20 juny 2010].
* ↑ Slavtchev, Svetoslav. «XFree Local Multi-User HOWTO» (en anglès), 01-08-2004.
* ↑ Linux Console
* ↑ «Backstreet Ruby». Arxivat de l'original el 2012-02-20. [Consulta: 21 juny 2010].