Jag gjorde det! Jag har länge funderat på att försöka få min dator att fungera med flera säten (eng. multi seat) och nu har jag lyckats. Idén är mycket enkel: man kopplar helt enkelt flera skärmar, tangetbord och möss till en och samma dator så att flera personer kan använda den samtidigt. Stöd för det här har egentligen funnits väldigt länge om man räknar med enkla textbaserade terminaler och lösningar som fungerar över nätverk. Men den vanliga grafiska skrivbordsmiljön har inte kunnat delas (smidigt) på det sättet mer än några år.

Multi Seat Så här kan en dator användas av flera samtidigt. Källa.

Hur man gör

För bästa resultat behöver man ett grafikkort för varje säte och gärna en USB-hub för att enkelt hålla reda på vilka saker som hör till vilket säte. Sen behöver man bara berätta för datorn att den ska skapa ett nytt säte och koppla ett av grafikkorten till det, tillsammans med ett tangentbord och en mus. Om man vill göra det enkelt för sig kan man koppla en USB-hub till sätet så att allting som kopplas till den automatiskt hör till det nya sätet. (Allting man inte explicit ändrar kommer att höra till det första sätet som kallas seat0.)

Det är faktiskt möjligt att ha flera säten med bara ett grafikkort men då kan man inte vänta sig så mycket av grafiken. Jag har t.o.m. sett att det finns små USB-enheter att köpa som kan användas just för att lägga till en skärm och ett tangetbord och mus. Men som sagt, vänta dig inte att kunna spela spel på en sådan uppsättning.

De nördiga detaljerna

Rent konkret sköts det här med säten av systemd. De intressanta kommandona är

  • loginctl seat-status [NAME] som visar en lista på allting som är kopplat till ett viss säte, och
  • loginctl attach NAME DEVICE som används för att koppla t.ex. ett grafikkort till ett säte.

Om någonting skulle gå fel så kan det också vara bra att känna till loginctl flush-devices som återställer alla regler.

Varför vill man göra det här?

Dels är det ju ett roligt projekt ;) men det kan också vara ett sätt att spara pengar och energi eller varför inte bygga en kraftfullare dator tillsammans. Eftersom allting utom grafikkort, skärm, tangentbord och mus delas så kan man spara en hel del pengar på att bygga en dator istället för två.

Men om två ska använda den krävs det väl dubbelt så dyra delar? Nej så fungerar det lyckligtvis inte. Som jag nämnde i början så har Linux länge haft stöd för flera användare samtidigt och det har lett till flera smarta lösningar. För det första så körs operativsystemet inte i flera upplagor bara för att flera använder det. För det andra så kräver flera kopior av ett program som körs samtidigt knappt mera minne än programmet ensamt.

Det är samma princip som med mycket annat. Visst behöver två personer en större lägenhet än en men det blir ändå billigare att bo tillsammans i en större än separat i två mindre. I ett datorbygge kan man satsa lite mer pengar på de gemensamma komponenterna och på så sätt få en kraftfullare dator som naturligtvis också kan användas fullt ut av en användare om ingen annan behöver den samtidigt.