To je odpověď zhruba na úrovni: „Tam vždycky sedí Maurenc.“
Zajímalo mě třeba, jak rozšířit obrazovku o virtuální VNC monitor, jak se k němu připojit, jakou má takové řešení latenci a jak moc použitelné to je pro běžnou práci.
Předpokládám, že odpovědi budou: složitě, to záleží, poměrně velkou a poměrně nepoužitelné. Ale možná se mýlím.
Nedávno jsem si s tím trochu hrál, sepsal jsem to sem: https://unix.stackexchange.com/a/585078/11549
Zkoušel jsem jen tu část s rozšířením plochy, to připojení VNC a dál jsem nezkoušel, protože nebyl po ruce další počítač/monitor. Budu rád, když to někdo prokopnete celé. :-)
> jak rozšířit obrazovku o virtuální VNC
Něco podobného jsem řešil pro X11 a zjistil jsem, že vytvoření virtuální obrazovky je celkem jednoduché, ale pokud má být součástí jednoho desktopu (tj. ne druhá Xka), nejspíš narazíme s VNC – hotová řešení nejspíš budou chtít přenášet oba monitory (případně spustit nová Xka, což je úplně mimo).
U Waylandu to může být ještě větší zábava.
> jak se k němu připojit
To bude další díl zábavy. Zejména u starších tabletů, pro které dnes není jiné využití. Tam bych asi celkem doporučil to připojit drátem a úplně odpojit od Internetu, Bluetooth a různého dalšího bezdrátu. (Ostatně, jak na tom u takové vykopávky asi budou bezpečnostní updaty…) Jenže právě u takovýchto starších kousků pak budete nejspíš odkázát na USB 2.0, jehož možnosti jste v článku shrnul v sekci o DisplayLinku.
Ono není problém si spočítat, kolik dat si vyžádá třeba nezkomprimované fullHD (komprese znamená latenci) při řekměne 50 Hz: 1920*1080*3*50*8/1024^3 ≈ 2.3 Gbps. Pak potřebujeme:
a. Mít vhodný komunikační kanál, který toto pojme, s malou latencí a vhodným jitterem a dobrým zabezpečením (tedy ne nešifrovaně vzduchem).
b. Nějak komprimovat a smířit se s latencí a v některých případech se ztrátou kvality.
c. Snížit nároky na rozlišení/frekvenci/barvy.
d. Vykašlat se na to a použít jiné řešení.
Asi bych měl nastínit situaci.
Prostředí: dom0 v Qubes OS. Qubes OS dbá na oddělení virtuálních strojů od samotného základu systému celkem důsledně, takže autoři se například rozhodli ikony aplikací nepřenášet do dom0 v PNG, ale fakticky v bitmapě. Dom0 je založeno na Fedoře, nicméně bohužel není v silách autorů dostatečně často adaptovat celý Qubes na novou verzi Fedory, v dom0 je často starší verze Fedory, které ale dodávají patche pro bezpečnostně důležité komponenty jako kernel nebo Xen. Ono vzhledem k návrhu těch bezpečnostně důležitých komponent až tak moc není – třeba tam není libpng (dom0 nemá co zpracovávat PNG z nedůvěryhodných zdrojů), není tam ani třeba Firefox nebo další síťové nástroje (dom0 nemá přístup k síti slouží spíše jako „obal“ s Window Managerem a správou dalších virtuálek), není tam skoro nic.
Teď si představte, že budu chtít sdílet obsah obrazovky v dom0 třeba přes síť nebo USB. Z dom0 to celé udělat nemohu, to nemá k síti přístup. Dom0 může leda předat obraz další virtuálce a nechat to na ni. Takže bych chtěl dejme tomu přenést obraz z dom0 do jiné virtuálky a tam to už pořešit jakkoli.
V dom0 mohu otevřít x11vnc, třeba s --viewonly. Dokonce ho klidně mohu nechat poslouchat na 0.0.0.0, stejně tam je jen loopback. Technicky není problém VNC vystavit jiné vybrané virtuálce skrze Qubes RPC. Což by bylo fajn, ale ne nutně bezpečné a poněkud proti filozofii operačního systému. X11vnc zpracovává potenciálně komplexní vstup (asi nemusím vysvětlovat, co všechno VNC umí…), takže bych ho neměl tam cpát rovnou z virtuálky, které nedůvěřuju. Ale tady mi stačí malý subset možností VNC, navíc mi stačí kompatibilita s jedním vybraným klientem. Takže mohu mezi data odeslaná klientem a data přijatá serverem vpravit asi i celkem jednoduchý sanitizér.
Já používám spacedesk, ten jede přes Wi-Fi (USB OTG se mi nepodařilo rozjet), proti Samsung Tab 5e. Windows to vidí jako každý jiný externí monitor. Jde na to duplikovat, rozšířit.
Při prezentacích to obstojně funguje jako monitor pro "diváky", při běžné práci je z toho slušný náhledový monitor. Je tam patrná drobná latence, která je při kancelářské práci snesitelná, nicméně je tam a může být rušivá (určitě to není stejné jako externí monitor). Limitující je tu velikost displeje použitého tabletu.
To je furt jenom "jak, jak, jak"! Opravdu vam clovek musi vsecko polozit rovnou pod nos? Nic nepredpokladejte, a misto toho hledejte! Uz to tady bylo nekolikrat reseno, sam sem to napsal do fora podrobne alespon jednou.
Na PC si pridejte dalsi monitor s rozlisenim jake chcete (nejdriv dejte autodetekci, a kdyz zadnej druhej pripojenej nenajde, pak zadajte manualne), na PC nainstalujte vnc-server (ja pouzivam tightvnc), spustte s parametrem "-sharedisplay 2" (vyexportuje to ten druhej "neviditelnej" monitor), na tabletu nainstalovat vnc-viewer, pripojit na vnc-server co bezi na PC a hle, na tabletu je ten druhej "neviditelnej" monitor! Slozite? Ani bych nerekl. Latence na lokalnim gigabitu je v radu milisekund, pro zabavu (3d-hry, video, atd) nevhodne, pro beznou praci (grafika, programovani, atd) bez problemu pouzitelne.
https://forum.root.cz/index.php?topic=12771.msg157981#msg157981
Deset vterin hledani! Jenze kdyz je nekdo linej, tak radsi bude psat jak, jak, jak. Nesnasim takove lidi! A patnact pitomcu mu jeste drukuje, jak ze mi to nandal...
12. 5. 2020, 11:56 editováno autorem komentáře
Nesnáším lidi, co zbytečně uráží sebe i ostatní, místo aby si vzpomněli, že tenhle problém řešili před časem na fóru a rovnou do prvního nebo nejpozději druhého příspěvku vlákna vložili správný odkaz, protože na rozdíl od ostatních vědí co, kde a v jakém jazyce hledat, a jsou schopni ho tedy najít za 10 sekund.
EDIT: …a možná poznamenat, že klíčová fáze vytvoření fantomového monitoru je specifický hack pro Windows.
12. 5. 2020, 12:42 editováno autorem komentáře
+1 za obsah a následný link, -1 za formu
Věřte mi, zkoušel jsem něco takového najít (byť k trochu jinému účelu) ne zrovna úspěšně. A vzhledem k různým potenciálním problémům (latence, kurzor, …) se ani nedivím dalším, že to vzdají.
Váš návod jsem zkusil, díky za něj. Bohužel to ale vypadá, že nelze použít na Linuxu vytvořit virtuální obrazovku není problém (akorát se to dělá trochu jinak), problém je ta volba sharedisplay je zřejmě jen pro Windows. Zkoušel jsem (Google i zdrojáky) a nevypadá to jako volba i pro Linux.
Samozřejmě pokud něco dělám blbě, rád se nechám poučit.
Rhinoxi diskuse by měla být kultivovaná. Nevím, co tě sere ale neměl bys vyjíždět takhle na lidi, kteří se tě na něco zeptají.
Buď nekomentuj vůbec a nebo to ber jako pomoc ostatním, kteří se občas zeptají na něco, co už jsi někde psal. Tohle je normální, já radím o některých věcech i 50* dokola a nemám s tím problém.
Bys měl trochu zlepšit sociální skily, z téhle tvé odpovědi mi je blbě, tedy z toho začátku.
Druhý odstavec vyzkouším a ty se příště uklidni a to že někomu něco poradíš a předáš vědomosti, by ti mělo udělat radost a ne, že ještě sjedeš někoho, že se ptá a negooglí, sorry, to tu ty diskuse můžeme rovnou zrušit, prohlásit se všichni za mistry světa, že každý všechno ví a nebo zakážeme se na cokoliv ptát.
Fakt takto někoho sjíždět za normální otázku není normální! Zapracuj na svých sociálních skillech a nebo když se necháš tak vytočit, tak prostě na to kašli a nekomentuj, protože tohle je hnus co tu předvádíš!
Tvé rady oceňuji a jsou zajímavé, ale tvůj postoj jak je dáváš je otřesný a hnusný, by mě zajímalo, jak kolaboruješ s kolegy, jestli nějaké máš, protože ti budou chudáci...
Přesně zapadáš do té škatulky, že zkušenosti máš, ale jednat se s tebou nedá.
Víš, tady lidé chodí nejen za poznáním, ale i odreagováním a fakt není normální tu nasírat jiné a "pořvávat" na ně přes písmenka.
Ondřej Caletka 12.5. 8:37
Jak takovou věc udělat?
pokud by na tom tabletu bezel Linux nebo Windows, tak
https://github.com/symless/synergy-core
lze urcit pozici kam se k server side umisti pro posun mysi, samozrejme nepujde mezi tim presouvat okna, pouze to ovladat primarni klavesnici a mysi...