abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 0
    dnes 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    včera 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.0.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 14:22 | IT novinky

    Nejvyšší soud podpořil novináře Českého rozhlasu. Nařídil otevřít spor o uchovávání údajů o komunikaci (data retention). Uvedl, že stát odpovídá za porušení práva EU, pokud neprovede řádnou transpozici příslušné směrnice do vnitrostátního práva.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Zajímavý článek

    Minulý týden proběhl u CZ.NIC veřejný test aukcí domén. Včera bylo publikováno vyhodnocení a hlavní výstupy tohoto testu.

    Ladislav Hagara | Komentářů: 24
    včera 04:44 | Nová verze

    Byla vydána nová verze 3.5.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v ChangeLogu. Opraveno bylo 6 bezpečnostních chyb (CVE-2024-32039, CVE-2024-32040, CVE-2024-32041, CVE-2024-32458, CVE-2024-32459 a CVE-2024-32460).

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    Google Chrome 124 byl prohlášen za stabilní. Nejnovější stabilní verze 124.0.6367.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 22 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Byla vydána nová verze 9.3 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Novinkou je vlastní repozitář DietPi APT.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (66%)
     (11%)
     (2%)
     (21%)
    Celkem 520 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Jak jsem stavěl multiseat

    4.9.2007 08:15 | Přečteno: 8209× | Linux | Výběrový blog

    Multiseat je způsob, jak umožnit, aby na jednom PC pracovali dva uživatelé najednou - jediné co je potřeba je další monitor, klávesnice a myš. (A také spousta volného času pro konfigurování.) Mně se to kupodivu podařilo a tady je můj návod.

    Ještě upozornění (a prosba) na začátek: nejsem odborník a proto mě, prosím, za nepřesnosti nekamenujte. A pokud se vám multiseat rozchodit nepodaří, je docela možné, že s vaší HW sestavou to třeba v současnosti ani nejde. Rozhodně to není můj problém a nenesu za to žádnou odpovědnost - všechny pokusy (jinak se asi konfigurace mutliseatu nazvat nedá) provádíte na vlastní nebezpečí (soubory v adresáři /etc/ jsou velmi nebezpečné hračky).

    Co a proč je multiseat

    Pokud víte, co znamená multiseat, můžete tuhle sekci s klidem přeskočit...

    Multiseat (někdy též multiterminal) je pojmenování konfigurace, kdy je k PC připojeno více sad klávesnice-myš-obrazovka, které umožňují souběžnou práci více uživatelů. Zdůraznil bych, že se jedná o (fyzicky) jeden počítač - ne o více počítačů zesíťovaných dohromady. Jde tedy o ideální řešení pokud potřebujeme ušetřit za počítač a nehodláme na něm provozovat náročné operace: tomu vyhovuje asi drtivá většina kanceláří a domácích počítačů.

    Vzhledem k tomu, že dnešní PC nebyly navrženy jako stroje pro více uživatelů, může být nastavení multiseatu docela oříškem. Na druhou stranu, původní Unix byl navržen jako víceuživatelský systém, který běžel na sálových počítačích, ke kterým byla připojena řada terminálů - klávesnice a obrazovka. Z tohoto pohledu se tedy vlastně multiseatem vracíme ke kořenům Unixu a problém by to tedy být neměl. Jenže dnes pro PC chybí hardwarové ekvivalenty terminálů - u multiseatu je tedy nahradíme další grafickou kartou a klávesnicí.

    Myslím, že důvody, proč preferovat multiseat před dvěma počítači asi nemá cenu dále rozepisovat - ušetříme si nastavování sdílení dat a (především) ušetříme za další počítač a úspora elekrické energie taky nemusí být zanedbatelná.

    Ještě jedna věc - zde uvažuji pouze multiseat (resp. můj případ - tj. multiseat pro dva), na kterém poběží X a do klasické textové konzole přepínat nelze (podobnou věc - tedy možnost přepnutí jen jednoho „sedadla“ do textového režimu - jsem nikde na Internetu nenašel - jestli někdo víte - ozvěte se...).

    „Můj“ multiseat běží na Fedoře 6, kartách ATI/Radeon a SiS, klávesnice a myš jsou připojeny přes PS/2 rozhraní (druhá sada přes adaptér PS/2→USB).

    Jaké problémy nás čekají

    Prvním problémem je již připojení dalšího monitoru. Samozřejmě - dnešní karty poskytují 2 výstupy a není problém nastavit tzv. dualhead display. Ale pokud chceme umožnit práci 2 uživatelům, zřejmě pro ně budeme muset spustit dva X servery (ať už skutečné nebo nějaký nested - jako Xnest či Xephyr - druh). A to je právě problém - pokud spustíme skutečný X server (dále je X server), tak si pro sebe „zabere“ celou kartu a další server k ní nepustí. Pokud ale chceme využít např. Xnest nebo Xephyr, tak ty si pro změnu nedokážou pro sebe zabrat jedno konkrétní (vstupní) zařízení - čili si kradou události přicházející z klávesnice a myši. A jaká jsou tedy řešení?

    Jednoduché řešení - když X server „obsadí“ celou kartu, tak přidáme další a je vyřešeno. To je bohužel omyl (alespoň v mém případě byl). Důvodů je hned několik - takže postupně. Za prvé - problém pro měl byl už jen sehnat tu další grafickou kartu, protože musela být do PCI slotu a ty už se příliš nevyrábějí (pokud pominu profesionální graf. karty, které stály skoro tolik, co celý počítač).
    Pokud ale kartu seženeme, nastává další problém - pokud jsem to správně pochopil, tak obě karty budou používat stejná přerušení, tak může např. příkaz pro reset karty (který X server může vyslat při svém ukončení) mohou zachytit obě dvě a místo aby se jeden uživatel odhlásil (a druhý dále pracoval), tak spadnou oba dva servery (to se mi dařilo především na začátku mých pokusů a vyústilo to vždy v to, že jedna z karet přestala úplně odpovídat a zbývalo jen počítač resetovat). Tomuto problému lze předejít zákazem resetu X serveru při odhlášení, což ale může občas vést k tomu, že se některé aplikace (běžící na pozadí) neukončí a uživatel se pak nebude moci znovu přihlásit (a nebo někdo nebude moci využívat některé ze zařízení). Kromě toho, pokud X zatuhnou, tak použitím C-M-Backspace opět riskujeme shození obou serverů.

    Při využití nested serverů lze pro směrování událostí z klávesnice a myši buď přímo zasáhnout do zdrojových kódů (takhle např. funguje řešení popsané na Wikipedii, ale to se mi rozchodit nepodařilo - tedy... vše naběhlo, ale klávesnice byla posunutá o 1 klávesu doleva a např. mezerník byl CapsLock atp.) nebo využít jakýsi server, který bude události předávat jako XEvents (mám na mysli XevdevServer - pokud budu mít čas, tak snad vyzkouším i tohle řešení (a napíšu jak jsem dopadl), protože mi začíná dost vadit, že na 1 sedadle je menší rozlišení, protože ta karta víc neutáhne).

    Jdeme na to!

    Zde popíši řešení, které v současnosti mám nastavené doma a které celkem funguje. Pokud si také hodláte postavit multiseat, mějte, prosím, na paměti, že ne vše půjde použít rovnou a budete muset i trochu experimentovat.

    Jediné soubory, které je nutné měnit jsou /etc/X11/xorg.conf (nastavení X jako takových) a /etc/gdm/gdm.conf (nastavení správce přihlášení).

    xorg.conf

    ServerLayout

    Nejdříve musíme pro každé sedadlo vytvořit sekci ServerLayout, která (opět zdůrazňuji - tohle je moje nastavení, možná budete muset něco změnit) vypadá takhle:

    Section "ServerLayout"
            Identifier "Seat1"
    tímto jménem se budeme odvolávat na nastavení při spouštění X serveru s parametrem -layout
            Screen        "Screen1" 
            InputDevice    "Mouse1" "CorePointer"
            InputDevice    "Keyboard1" "CoreKeyboard"
    přiřadí obrazovku, klávesnici a myš
            Option "SingleCard"
            Option "IsolateDevice" "PCI:05:01:0"
    nařídí X serveru, aby pracoval jen s kartou na dané adrese a nepokušel se ovládat jiné
            Option "BlankTime" "10"
            Option "StandByTime" "0"
            Option "SuspendTime" "0"
            Option "OffTime" "0"
    tohle jsem musel přidat, protože jsem občas měl problémy s PCI graf. kartou poté, co se monitor přepnul do úsporného režimu (nevím čím to je, ale experimentálně jsem ověřil, že tohle nastavení to vyřeší)
    EndSection
    co se týče adresy karty, tu zjistíme z výstupu příkazu lspci:
    $lspci | grep VGA
    01:00.0 VGA compatible controller: ATI Technologies Inc R430 [Radeon X800 XL] (PCIe)
    05:01.0 VGA ...: Silicon Integrated Systems [SiS] 86C326 5598/6326 (rev 0b)
    Obdobným způsobem vytvoříme i sekce pro ostatní místa. Kromě toho jsem ještě přidal sekci pojmenovanou SeatDummy, která nemá přiřazenou žádnou klávesnici ani myši a pouze jakousi virtuální grafickou kartu a kde X server běží na pozadí (opět experimentálně: systém byl pak stabilnější).

    Module

    V další části souboru jsou pak načteny příslušné moduly:

    Section "Module"
            Load  "extmod"
            Load  "dbe"
            Load  "vbe"
            Load  "record"
            Load  "glx"
            Load  "xtrap"
            Load  "dri"
            Load "evdev"
            Load "evdev"
            Load "evdev"
            Load "evdev"
    EndSection

    Zde nejsou oproti normálnímu nastavení žádné velké změny - tedy kromě vícenásobného načítání modulu evdev - nevím proč, ale takhle to prostě funguje líp (a nejsem jediný), než když by byl načten pouze 1×.

    InputDevice

    Teď je nutné přiřadit události jednotlivým serverům. V xorg.conf můžeme určit, z kterého souboru má které vstupní zařízení získávat události. Takže musíme zjistit, který /dev/input/eventX patří kterému zařízení. To můžeme zkusit buď experimentálně (cat eventX a mačkat klávesy nebo hýbat myší) a nebo projít soubor /proc/bus/input/devices, kde o každé klávesnici/myši je záznam podobný tomuto:

    I: Bus=0011 Vendor=0002 Product=0005 Version=0000
    N: Name="ImPS/2 Generic Wheel Mouse"
    P: Phys=isa0060/serio1/input0
    S: Sysfs=/class/input/input1
    H: Handlers=mouse0 event1
    B: EV=7
    B: KEY=70000 0 0 0 0 0 0 0 0
    B: REL=103
    Důležité jsou položky Handlers, které udávají čísla výše zmíněných eventX. Také si povšimněte položky Phys, která udává fyzickou adresu zařízení.

    A teď problém: tato čísla se mohou během jednotlivých startů systému měnit! A také se mění. Jenomže ... vzhledem k tomu, že když jsem multiseat stavěl, tak se na mé verzi kernelu čísla neměnila, nijak jsem to neřešil - bohužel s aktualizací kernelu bych přišel o tuto stálost a tak jsem se zatím rozhodl ponechat kernel starší (kromě toho se chystám přestavět si multiseat, aby mi běhal jen na 1 kartě, kde už s tímto počítám) a čísla jsem napsal „natvrdo“ přímo do souboru. Řešení pochopitelně existuje - buď generovat část xorg.conf za běhu nebo vytvářet symlinky po startu systému. Zařízení lze totiž jednoznačně (pokud jsou zapojena do stejných portů) identifikovat pomocí Phys adresy.

    Pokud má někdo zájem, tak následující příkazy zjistí číslo eventu podle fyzické adresy (pouze předpokládají, že ve výpisu je Phys před Handlers a za každou sekcí je prázdný řádek):

    sed -n '/Phys='`echo "$PHYS" | \
      sed 's#/#\\\\/#g'`'/,/^$/{s#.*Handlers.*\(event[0-9]*\).*#\1#p}' \
        <devices
    ale nezaručuji, že tohle je to nejlepší řešení - zatím nemám novou konfiguraci ani pomocné skripty úplně hotové.

    A takhle vypadají příslušné sekce (od těch z obyčejného nastavení se příliš neliší):

    Section "InputDevice"
            Identifier  "Keyboard0"
            Driver      "evdev"
            Option "Device" "/dev/input/event0"
            Option "XkbLayout" "cz,us"
            Option "XkbOptions"  "grp:shifts_toggle,grp_led:scroll"
    EndSection
    
    Section "InputDevice"
            Identifier  "Mouse0"
            Driver      "mouse"
            Option      "Protocol" "auto"
            Option      "Device" "/dev/input/mouse0"
            Option      "ZAxisMapping" "4 5 6 7"
    EndSection

    Device

    A takhle vypadá nastavení pro grafickou kartu:

    Section "Device"
            Identifier  "Card1"
            Driver      "sis"
            VendorName  "Silicon Integrated Systems [SiS]"
            BoardName   "86C326 5598/6326"
            BusID       "PCI:5:1:0"
            #Option "DynamicClocks" "Off"
            #Option          "NoInt10"       "Yes"
            #Option "InitPrimary" "true"
            #Option          "RestoreBySetMode"      "no"
            #Option "NoLogo"
            #Option "NoDRI"
            #Option "NoVBE"
    EndSection

    Zakomentované položky jsem zde ponechal naschvál - podle různých příspěvků na Internetu někdy pomůže některou z nich odkomentovat (např. první čtyři mohou vyřešit situaci okolo sdílení některých přerušení atd.). A BusID je výše zmiňované číslo získané příkazem lspci.

    Zbylé sekce

    Myslím, že další sekce (tj. nastavující monitor (monitor a obrazovku (Screen)) již není nutné podrobněji rozepisovat, protože se neliší od klasického nastavení. Jen uvádím část, ve které se vytvoří další grafické karta pro třetí X server (ten není používán, ale jeho běh v pozadí má pozitivní vliv na stabilitu):

    Section "Device"
            Identifier "CardDummy"
            Driver "dummy"
            VideoRam 75
    EndSection
    
    Section "Screen"
            Identifier "ScreenDummy"
            Device "CardDummy"
            Monitor "Generic Monitor"
            DefaultDepth 8
            SubSection "Display"
                    Modes   "320x240"
            EndSubSection
    EndSection

    První otestování

    Když jsem začal multiseat nastavovat, tak jsem v dobré víře podle návodu z Internetu přepsal xorg.conf a nastavil GDM, aby spouštěl rovnou 2 X servery. Naivně jsem se domníval, že vše poběží hned. Pochopitelně neběželo - laděním jsem potom strávil několik desítek hodin (pokud počítám i hledání na Internetu atp.). Teprve po několik hodinách (a mnoha restartech) mě došlo, že není to pravé vše konfigurovat naráz...

    Pro začátek je tedy nejlepší spouštět X servery ručně a navíc ještě spustit něco jako

    sleep 60; killall X; sleep 2; killall -9 X
    pro případ problémů. A pak spustit oba X servery: nesmíme zapomenout zařídit, aby se servery spustily na stejné konzoli (-sharevts) a aby používaly správný -layout (a možná budete chtít zadat alternativní umístění konfiguračního souboru volbou -config):

    X -layout seat0 vt07 & X -sharevts -layout seat1 vt07 &
    Pokud to bude padat, zkuste spustit ještě ten třetí - pomocný server:
    X -layout SeatDummy vt07
    Pak ovšem oběma „skutečným“ X serverům přidejte volbu -sharevts. Divil jsem se, proč další server zlepší stabilitu, ale pravděpodobně (podle různých diskuzí atd.) jde o to, že takhle mají oba dva servery nastavené sdílení konzole a při pádu jednoho má ten druhý stále s kým konzoli sdílet.

    A pak ještě spustit na každém nějaký ten xterm nebo něco podobného a vyzkoušet, jestli klávesnici a myši skutečně fungují (ještě jedna historka ze života: při jednom nastavení myš chvíli normálně reagovala a pak se z ničeho nic odporoučela - tedy naštěstí jenom její kurzor - do levého horního rohu, kam se tvrdošíjně vracela po jakémkoliv přesunutí jinam).

    Pokud teď něco nefunguje, tak je pravděpodobně na vině nastavení v xorg.conf. Mezi najčastější možnosti patří ovladače grafických karet nebo vstupních zařízení. A nebo nastavení vstupních zařízení (nejspíše položky Option). A nebo je to něco jiného :-).

    A až tohle bude fungovat, tak zkuste spustit i nějakého spráce oken (já jsem používal rychle startující OpenBox) a chvíli v systému pracovat (nejlépe aby někdo pracoval i na dalším místě). Pokud systém takhle vydrží chvíli běžet, možná máte vyhráno (mě se občas stávalo, že systém znenadání vytuhl třeba po 5 minutách, ale z logů jsem ne vždy vyčetl proč). Pak už zbývá jen nakonfigurovat správce přihlášení.

    Spráce přihlašování

    Tohle je asi nejjednodušší část celého procesu - prostě nastavíme, že se má spouštět více X serverů a je hotovo (jde o soubor gdm.conf nebo custom.conf):

    [servers]
    0=Dummy
    2=Standard0
    1=Standard1
    
    [server-Dummy]
    name=Dummy
    handled=false
    command=/usr/bin/X -layout SeatDummy vt07 -noreset
    
    [server-Standard0]
    name=Seat0
    command=/usr/bin/X0 -sharevts -layout seat0 -novtswitch -noreset vt07
    flexible=false
    
    
    [server-Standard1]
    name=Seat1
    command=/usr/bin/X1 -sharevts -layout seat1 -novtswitch -noreset vt07
    flexible=false

    X0 a X1 jsou jen symlinky na X a parametr -noreset zakáže restart X serveru. To je ostatně podmíněno i přidáním řádků

    [daemon]
    AlwaysRestartServer=false
    (proč je s restartováním X problém, jsem psal na začátku).

    A teď by vše mělo fungovat jak má... (tedy snad).

    Nastavení zvuku

    Protože v počítači mám jednu zvukovou kartu 5.1, napadlo mě, jestli by nějak nešlo zařídit, aby jeden uživatel mohl posílat zvuk do předních a druhý do zadních reproduktorů (tedy spíše připojených sluchátek). S Alsou to naštěstí není problém - jediný problém je ten, že je to nutné explicitně určit při každém spuštění přehrávače - pro mplayer vypadá řádek nějak takhle:

    mplayer -ao alsa:device=frontx -softvol
    (bez softwarového regulování hlasitosti totiž dokážu hlasitost regulovat pouze pomocí Master volume, takže měním hlasitost i druhému uživateli). A takhle vypadá /etc/alsa/multiseat.alsa.conf (vkládaný do alsa.conf) - oproti ukázkovému řešení jsem přidal nastavení práv, aby různí uživatelé mohli používat stejné zařízení:

    pcm.dshare {
        type dmix
        ipc_key 2048
        ipc_key_add_uid false
        ipc_perm 0666
        slave {
            pcm "hw:0"
            rate 44100
            period_time 0
            period_size 1024
            buffer_size 8192
            channels 4
        }
        bindings {
            0 0
            1 1
            2 2
            3 3
        }
    }
    pcm.frontx {
        type plug
        slave {
            pcm "dshare"
            channels 4
        }
        ttable.0.0 1
        ttable.1.1 1
    }
    pcm.rearx {
        type plug
        slave {
            pcm "dshare"
            channels 4
        }
        ttable.0.2 1
        ttable.1.3 1
    }
    

    Co ještě nefunguje, tak jak bych chtěl

    Rád bych nějak nastavil zvuk - aby všechny aplikace přesměrovávaly zvuk do správných výstupů - většinou sice přehrávám pomocí mplayeru, ale stejně bych to rád nějak nastavil. Řekl bych, že to nějak půjde, ale asi to nebude úplně jednoduché, protože většina návodů na tohle obvykle nepočítá s tím, že by ke stejnému zařízení (myslím tu zvukovku) přistupovali různí uživatelé. Snad časem...

    Další problém je s klávesnicí - u té, která je připojená přes PS/2→USB adaptér, nefungují multimediální tlačítka (na to jsem se ptal už kdysi, i potom jsem zkoušel různé věci: jak hraní s rozložením klávesy, tak i změny v xorg.conf, ale nic).

    Rád bych taky nějak nastavil připojování flash disků a podobných zařízení. Ne že by to byl doma nějaký problém, ale z principu bych rád udělal, aby: když někdo připojí USB zařízení do určitého USB portu (příslušející některému ze sedadel), aby se automaticky připojil a získal práva uživatele, který je tam přihlášen. Zatím se mi to podařilo nastavit tak, že kdo dřív přijde, ten dřív mele.

    Taky bych rád zprovoznil výstup na televizi, ale o to jsem se zatím moc nepokoušel a nemá to nejvyšší prioritu.

    Výkon

    Neprováděl jsem žádná neměření a protože mám docela silný stroj (dvoujádro), tak v podstatě není znát, že počítač využívá víc lidí. Jediný případ, kdy to je znát, je při přihlašování někoho dalšího - to je jediný moment, kdy počítač na pár chvil jakoby „vytuhne“. Dalším případem je pochopitelně překodovávání nějakého videa. Vzhledem k tomu, že tím je ale vytíženo jen jedno jádro, tak to není až zas takový problém. Tipoval bych, že multiseatově upravené PC určené pro kancelářskou práci může běžet na mnohem výkonově horším železe i pro více uživatelů.

    Závěr

    A to je konec - pokud budete taky zkoušet vytvořit multiseat (přeji hodně zdaru) nebo ho již máte, napište, jaké jste vy měli problémy či úspěchy.

    A to je vše. Howgh. Vlastně ne - ještě nějaké odkazy:

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.9.2007 09:04 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Moc pěkné, klobouk dolů.

    Ohledně alsy - pokud každý seat jede pod jiným uživatelem, šlo by každému nadefinovat jiné defaultní zařízení v ~/.asoundrc. Přehrávače by pak mohly jet na default. Pokud zvukovka nemá samostatný regulátor hlasitosti zadních kanálů, možná by pomohl plugin alsy softvol, který umožňuje nadefinovat nový regulátor hlasitosti nad konkrétním výstupem.

    http://alsa.opensrc.org/index.php/Softvol
    4.9.2007 11:32 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat

    Děkuji, ten plugin určitě vyzkouším.

    Co se defaultního zařízení týká, tak jsem zjistil, že některé aplikace (třeba Audacity aj.) stejně umožňují vybrat výstupní zařízení, takže to nakonec asi nechám, tak jak to je. Stejně většinou spouštím přehrávač z shellu, takže můžu použít ten alias a navíc - když jsem u počítače jediný - spíše dám přednost pustit zvuk do reproduktorů, které jsou připojeny do front výstupu.

    Ještě jednou díky za tip.
    - Vojta

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    4.9.2007 09:06 xindl | skóre: 2 | blog: SALAM_OLEJKUM
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Ty voe měl jsi to vydat jako článek, alespon by jsi dostal zapalceno za tu námahu a práci! Jinak super moc, moc díkes! :-)
    4.9.2007 10:30 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Strucnejsi navod je aj tu
    Project Satan infects Calculon with Werecar virus
    Fuky avatar 4.9.2007 12:39 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat

    Díky za pěkný článek :-)

    BTW: Lze použít i XEphyr, pomocí patche ho lze rozšířit o volby potřebné pro multiseat, takže lze definovat klávesnici, evdev... Více informací...

    4.9.2007 13:24 Lojzin III.
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Šlo by využít kombinace integrované a samostatné grafické karty? Nebo vložení samostatné grafické karty automaticky vyřazuje tu integrovanou a ta už nejde použít?

    V nových počítačích je obvykle víc slotů PCI Express - jeden PCI-E x16 a několik PCI-E x1, jde dát do PCI-E x1 grafickou kartu nebo je nutné si pořídit desku, kde je více PCI-E x16 slotů?
    4.9.2007 13:30 Lojzin III.
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Špatně jsem se vyjádřil, chtěl jsem se zeptat, jestli jde dát kartu, u které se uvádí rozhraní PCI-E x16, do slotu PCI-E x1? Jestli to bude fungovat byť třeba se ztrátou výkonu...
    4.9.2007 13:38 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat

    Odpověď částečně níže a navíc - ty sloty mají různé rozměry.

    - Vojta

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    4.9.2007 13:35 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Šlo by využít kombinace integrované a samostatné grafické karty? Nebo vložení samostatné grafické karty automaticky vyřazuje tu integrovanou a ta už nejde použít?

    Integrovanou kartu nemám, ale někde jsem na Internetu četl, že: automaticky je ta integrovaná vyřazená, ale snad (ale asi ne u všech) lze BIOS a kernel donutit, aby ji neignorovali. Ale jak, to nevím.

    V nových počítačích je obvykle víc slotů PCI Express - jeden PCI-E x16 a několik PCI-E x1, jde dát do PCI-E x1 grafickou kartu nebo je nutné si pořídit desku, kde je více PCI-E x16 slotů?

    Podle Wikipedie lze jen PCI-E 16x využít pro grafické karty (kvůli výkonu). Ale myslím, že by šla sehnat i deska s více x16 sloty.

    - Vojta

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    4.9.2007 14:00 Lojzin III.
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Díky za odpověď. Já mám právě jen integrovanou kartu, takže kdyby k ní šlo přidat samostatnou, byla by to paráda. Pokud by musely být dvě PCI-E x16 karty, tak se to řešení docela prodražuje - kromě karty navíc je nutná i dražší deska a spotřeba bude taky o chlup vyšší (nejspíš i když druhá karta není využívána). Jestli není skoro lepší použít starý počítač třeba s Pentiem 200 MHz (bez disku, cd-rom...) jako síťový terminál, když se k tomu přidají ještě všechny ty drobné komplikace, které popisujete v článku.
    Fuky avatar 4.9.2007 14:23 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat

    Nevím o tom, že by šlo používat integrovanou grafiku společně s dalšími grafickými kartami. Jakmile jsem použil u různých PC grafiku ať AGP, PCI či PCI-Express, tak již nešlo použít integrovanou grafiku. Na druhou stranu pokud se jedná o desktop, tak je lepší se integrovaným grafikám vyhnout.

    Nejlevnější řešení je koupit jednu dvouhlavou grafiku a máš po problému :-D

    4.9.2007 14:45 Lojzin III.
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Nejlevnější řešení je koupit jednu dvouhlavou grafiku a máš po problému.
    No v článku se píše, že to tak úplně bez problému není. A to tvoje řešení pomocí Xephyru má jistě taky svoje mouchy, funguje na tom třeba 3D akcelerace nebo compiz?
    4.9.2007 15:05 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat

    Vím, že dotaz nebyl určen mně, ale částečně dokáži odpovědět.

    A to tvoje řešení pomocí Xephyru má jistě taky svoje mouchy, funguje na tom třeba 3D akcelerace nebo compiz?

    Na Xephyru akcelarace nepojede, ale funguje to s Xgl - to je popsané tady. To je přesně to, co bych rád časem zprovoznil i doma...

    No v článku se píše, že to tak úplně bez problému není.

    S tím jsem měl problémy, ale třeba josean ho neměl. Vím, že problém je s mapou klávesnice, ale nedokázal jsem zjistit kde.

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    4.9.2007 15:12 Lojzin III.
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Vidím, že se v problematice dost orientujete. Obecnější článek na toto téma od Vás by byl jistě velmi ceněný.
    4.9.2007 14:42 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Pokud by musely být dvě PCI-E x16 karty, tak se to řešení docela prodražuje - kromě karty navíc je nutná i dražší deska a spotřeba bude taky o chlup vyšší (nejspíš i když druhá karta není využívána).

    Proto jsem koupil PCI kartu, kterou jsem pořídil v bazaru za pár stovek. Ale byl to asi až pátý bazar... Co se spořeby týče, tak si troufám tvrdit, že jedno PC (byť s grafickou kartou navíc) bude mít menší spotřebu než dvě, kde jedno z nich nemá pevný disk a CD/DVD mechaniku.

    Jestli není skoro lepší použít starý počítač třeba s Pentiem 200 MHz (bez disku, cd-rom...) jako síťový terminál, když se k tomu přidají ještě všechny ty drobné komplikace, které popisujete v článku.

    Možná ano, ale mně víc vyhovuje mít jen jeden počítač (zabere míň místa). Nevím, jak složité je nastavit síťový terminál, ale u multiseatu je s konfigurací ten problém, že s takovým využitím málokdo (myslím výrobci HW a tvůrci některého SW) počítá a tak se musí vymýšlet různé obezličky apod. Kromě toho, takhle jsou obě sedadla rovnocenná (myslím, že u toho terminálu bych měl k dispozici docela malý výkon), což je v mém případě docela podstatné.

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    4.9.2007 14:55 Lojzin III.
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Tak to jo. Já uvažuji situaci, kdy je využití obou míst významně nerovnoměrné (jeden používá hodně, druhý málo), což bych si troufnul tipnout, že bude asi většinový případ, když někdo uvažuje multiseat řešení.
    7.9.2007 19:40 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Používám X11 terminály a musím říct, že problém starých strojů je v úzké sběrnici (nebo obecně celé pomalosti).

    Stavěl jsem terminál z i486ky s VLBusovou grafikou a 10Mb/s ISA síťovkou. Stavěl jsem terminál z PentiaMMX na 200 MHz s PCI S3Trio grafikou a 100Mb/s PCI síťovkou. V prvním případě bylo zpoždění znatelné i při běžné práci (rolování menu apod.). V druhém případě je na běžnou práci terminál zcela srovnatelný se serverem. Ale jakmile přijde na překreslování velké části obrazovky (např. prohlížení PS souborů, těžké rolování ve Firefoxu apod.), ztrácí se plynulost. Přehrávání videa je použitelné jen při menších rozlišeních (800×600 a méně) a to se ještě některé snímky nestihnou přenést. Na OpenGL si můžete nechat zajít chuť, neb grafiky v těchto šunkách jej neumí. (Kdysi jsem testoval OpenGL po síti přes X11/GLX na SGI stanici s IRIXEM a výsledkem byla slide show.)

    Nicméně je třeba přiznat, že i v dobách slávy těchto vypávek byly o proti dnešním strojům pomalé i s tehdjším mnohem jednošším softwarem. Jen jsme to přičítali swapování a tudíž se o rekordy ani nepokoušeli.

    Takže já, kdybych mohl zvolit multiseat (vzdálenost, málo lidí), tak bych mu dal přednost.
    4.9.2007 13:45 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    > Šlo by využít kombinace integrované a samostatné grafické karty?

    Je mozne zaroveni pouzivat integrovanou a samostatnou grafickou kartu (alespon v obecnem pripade - nemohu vyloucit, ze na nejakym obskurnim boardu to nepujde).
    4.9.2007 14:03 Lojzin III.
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Někde jsem totiž četl, že to nejde. Nicméně nenašel jsem důvod, proč by to jít nemělo. A viděl jsem počítač (s Windows), kde se to opravdu chovalo (aspoň na první pohled, bez nějakého nastavování v BIOSu).
    4.9.2007 13:28 frdrx | skóre: 29 | blog: frdrx
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Díky za pěkný článek. Časem nejspíš budu multiseat pracoviště sestavovat, takže se asi bude hodit.
    Patička mi slouží k tomu, abych si lépe poznal svoje příspěvky.
    4.9.2007 13:47 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    > tak obě karty budou používat stejná přerušení

    Pokud se nevyuziva DRI, tak X server nijak nevyuziva interrupty.
    4.9.2007 13:57 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Jak tedy jádro komunikuje s grafickou kartou?
    4.9.2007 14:33 Abraxis
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Bez urazky, ale neni tvuj cas natolik drahy a neni popsane reseni natolik "nestandardni" (a "obcas" zatuhne, problemy se zamykanim zarizeni apod), ze by bylo jednodussi poridit si druhy stroj? At uz nejaky pouzity z bazaru nebo treba Mac Mini - vetsinou se "2nd seat" dela pro nase hezci polovicky a z vlastni zkusenosti muzu rict, ze pro ne je MacOS prijemnejsi nez Linux.
    4.9.2007 14:51 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat

    Jednodušší by to možná bylo, ale stejně bych pak musel nastavovat nějaké sdílení dat (a hlavně fyzického prostoru pokoje), což tady elegantně odpadlo. Co se nestandardnosti týče, nazval bych to spíše nezvyklostí, protože se s tím u PC nepočítalo (a během posledních měsíců bych vytuhnutí spočítal na prstech jedné ruky). Problémy jsem popisoval proto, aby až někdo třeba bude chtít udělat něco podobného se nedivil, co všechno se bude řídit podle Murphyho.

    Kromě toho, díky tomuhle jsem konečně přešel z Windows na Linux :-).

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    4.9.2007 15:02 Lojzin III.
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Jen tak úplně mimochodem bych zmínil to (tady to nikoho zajímat nebude), že multiseat lze provozovat i na Windows, ale je k tomu potřeba komerční řešení třetí strany, např. BeTwin.

    Na MS mi nejvíc vadí to, že zavádí různé umělé restrikce tak, aby jedno PC mohl v jednom okamžiku používat nejvýše jeden uživatel. Je to neekonomické i neekologické.
    4.9.2007 18:35 Abraxis
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat
    Nechapu to s tim sdilenim - preci pokud mas 2 pocitace, tak mas prave vetsi volnost, kam je rozmistis, nez kdyz mas 1 bednu a k ni 2 monitory & klabosnice - pak jses prave limitovany tim, jak dlouhy muze byt VGA kabel. A Mac Mini nezabira v podstate zadny prostor. Krome toho je naprosto tichy, takze klidne muze bezet porad a data budes sdilet na nem.
    30.9.2007 12:22 Daniel Teufel
    Rozbalit Rozbalit vše Re: Jak jsem stavěl multiseat (multiuser autologin kdm)
    Trosku jsem se pral s tim, abych rozchodil multiseat. Nejlepsi na vsem je ze pokud se vam podari vsechno zprovoznit tak zjistite jak je to jednoduche. Ale ta cesta k tomu mi prisla dost hrbolata.

    Pro vsechny kteri se to budou pokouset rozjet radim: nez zacnete zkouset vsechno mozne odpovezte si na zakladni otazky.

    Ku prikladu jsem mel obrovsky problem s grafickymi kartami nvidia. Mam dve v PCI-E. Padaji mi drivery od NVIDIA (to mi stale nefunguje), takze jsem nucen pouzivat driver NV. A vtip je v tom ze driver NV zrejme neuplne korektne inicializuje kartu. Ta co byla inicializovana biosem po startu pocitace s tou potize nebyly. Ta druha ovsem radne nechodila. Skoncilo to na tom ze nema jakoby zadnou pamet:

    ..
    (--) NV(0): VideoRAM: 0 kBytes
    ..

    Tim padem X nenalezne zadnou vhodnou Modeline a skonci. Prisel jsem na to ze kartu staci inicializovat driverama NVIDIA (sice spadnou ale kartu nahodi). Ovsem potize nekoncily, protoze pak se karta s monitorem domluvila na tom ze Panel size bude 1x1. S tim jsem si poradil tak, ze u prislusne karty jsem pouzil volbu

    Option "NoDDC"

    Nicmene ani toto k uspechu nevedlo jelikoz po restartu sice obe X session nabehly (podle Xorg.N.log uspesne) ovsem na te druhe karte byla cerna obrazovka.

    Dlouhou jsem nad tim laboroval. Pak si stacilo odpovedet na velice jednoduchou otazku. Je karta inicializovana? Ne? tak proc po ni neco chtit. V mem pripade pomohlo to, ze jsem v xorg.conf u druhe karty (Layoutu) deaktivoval volby:

    # Option "SingleCard" "yes"
    # Option "NoInt10" "yes"
    # Option "IsolateDevice" "PCI:2:0:0"

    a v kdmrc jsem pomoci OpenDelay nechal pustit X session prvni na te druhe karte. (to proto aby mi nezasahovala do nabihani te prvni karty)
    Pokud vam funguji drivery NVIDIA tak se vam zrejme tyhlety peripetie vyhnou.

    Kdyz uz sem mel funkcni dualseat, prisel na pretres autologin v kdm. A protoze je to "dual" tak jsem chtel aby v kazde X session byl jiny uzivatel. Tady jsem narazil, asi jako kazdy kdo to zkousel. Protoze v te druhe session autologin proste nefunguje nebo jsem neprisel na to jak bych jej rozchodil. Ovsem pokud by to nekdo potreboval (stejne jako ja) tak reseni existuje a je velice proste :-).

    Za predpokladu ze v kdmrc specifikujete uzivatele kteri nepotrebuji zadat heslo aby se prihlasili (pri autologin se to vlastne da ocekavat). Doplnil jsem startovaci script /etc/init.d/xdm (pouzivam opensuse ) o dva radky na konci sekce start:

    ...
    sleep 10
    /opt/kde3/bin/kdmctl login :1 now user2 ""
    ...

    Coz zpusobi ze na display :1 bude okamzite prihlasen uzivatel user2. Uvozovky muzete nahradit aktualni heslem uzivatele ale je to zbytecne kdyz se muze prihlasit s prazdnym heslem.

    A to je vse. Doufam ze to treba nekomu pomuze.

    Jeste jedna rada na zaver. Pokud se pustite do anabaze s multiseat, doporucuji prihlasit se na stroj kde chcete delat multiseat vzdalene (treba ssh). Usetrite si tim hodne restartu protoze s rozhazenou konzoli se dlouho delat neda :-). X jsem poustel s volbou -verbose a tim jsem si usetril koukani do Xorg.N.log.

    Dan
    29.2.2008 00:58 Petrik
    Rozbalit Rozbalit vše Par poznamek
    1)integrovana a AGP/PCI-E obvykle zaroven pouzit jde, ve vetsine BIOSu to jde nastavit. 2)PCI-E x16 grafika funguje i v x1 slotu, stejne tak v x4 a v x8, problem je v tom, ze se musi upilovat/vylomit jeho hrana, aby tam sla fyzicky zasunout. x4 slot ma dostatecnou rychost (myslim ze neco jako AGP 8x) aby se na te grafice dalo i hrat neco ve 3D (lide to pouzivaji pro SLI), 1x slot by mel stacit na 2D zobrazeni, je to porad radove rychlejsi nez PCI. 3)nekde jsem cetl, ze pro fungujici terminal pro multiseat je porteba patchnout jadro....

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.