Fakt potřeba to není asi nikde, ale mě to připadá velmi praktické, používám to sice jen příležitostně, ale jsem na to zvyklý. Předevčírem jsem si třeba otevíral grafickou aplikaci pro správu Gitu, protože jsem se v tom v terminálu nemohl už vyznat; kdysi jsem zase takhle spouštěl Firefox na univerzitním počítači, ze kterého byl přístup na vědecké články. Největší výhodu vidím v tom, že člověku stačí mít někam ssh přístup, a může tam vzdáleně dělat cokoliv, i když třeba VNC není ve firewallu povolené...
Mně to připadá naopak velmi nepraktické, aspoň v té podobě, jak je to implementováno:
1. IIRC je problém s bezpečností – tímto si fakticky oba počítače důvěřují, že nedojde k zneužití.
2. Umí to být velmi pomalé, resp. náchylné na latenci.
Firefox vzdáleně – mnohem praktičtější mi přijde pro tyto účely použít ssh -D port a nastavit si v lokálním Firefoxu SOCKS proxy.
Obecně za to nějaká forma náhrady asi bude – nejspíš už teď půjde spustit na serveru nový kompozitor s VNC backendem a spojení protáhnout přes SSH. Možná k tomu (třeba časem) bude i nějaký nástroj, který to udělá podobně jednoduše jako SSH -X. Případně nějaké bezešvé řešení jako Xpra.
Že to umí být pomalé je irelevantní. Připojení k internetu také umí být pomalé a přesto ho používám. Tam, kde pomalé není a to není většinou. Bezpečnost je v tomto ohledu daná lokálním strojem a mou soukromou VPN.
A řešit SOCKS proxy kvůli takovéhle věci? To by mi ještě chybělo. Právě to je na KISS hezké, že nemusím řešit kraviny
Bezpečnost – VPN to nevyřeší, problém není v transportu (ten tu řeší SSH), ale v tom, že dáváte serveru určitá privilegia ke svému strojiz byť se to SSH snaží omezovat. Tady je mírně detailnější popis: https://security.stackexchange.com/a/14817/65904
V neposlední řadě, i kdyby SSH mělo řešit všechny tyto problémy X11, stejně bych tomu nevěřil, dokud to neprojde důkladným review. X11 prostě nebylo navrženo s důrazem na bezpečnost, a něco tam může snadno uniknout. S ohledem na komplikovanost X11 a nástup Waylandu bych ale věřil, že mnohem dříve X11 bude nahrazeno Waylandem a budeme mít řešení pro Wayland (ať už Xpra dostane Wayland backend, nebo tu bude něco úplně jiného), které bude bezpečnější a rychlejší. A s XWaylandem půjde použít i na aplikace pro X11.
Zní mi to, že jste si vytvořil nesprávné návyky a používáte rovnáky na ohejbáky. Třeba git- chápu, že někomu vyhovuje víc rozkreslení v grafice, ale ten vznikl od toho, aby nebylo potřeba se připojovat na vzdálená PC, kde mám nejspíš poslední verzi kódu. Je o tom, že jste ten kód naposledy než jste odešel od PC commitnnul a pushnul, teď si to stačí na jiném PC vyclonovat.
Firefox- nesmysl, k tomu slouží proxy, proč by někdo protahoval připojením panelák, když se chce podívat jen na jeden stoleček v jednom pokoji?
Ad. Firefox:
Proxy je praktičtější, ale není to jednoduché okamžité řešení.
Zrovna já jsem za tohle byl rád, když jsem se potřeboval dostat do webové administrace routeru doma. Ten neumožňoval administraci zvenku, ale měl jsem na něm nastavený port forwarding pro SSH přístup zvenku na PC. Nejdřív jsem chvíli luštil jak správně nastavit remote port forwarding přes ssh, a když jsem zjistil, že na webové rozhraní routeru se sice tak dostanu, ale je nepoužitelně rozbité (z nějakého důvodu byl bez css a skriptů), tak jsem vzdychl a napsal něco jako
ssh velkepc -Y -x "firefox --noremote", což ihned fungovalo (no dobře, bylo to bolestivě pomalé).
Ad. zbytek:
Zrovna webový prohlížeč je extrém, ale dostkrát jsem to použil pro drobné úkony v programech, které z nějakého důvodu musely běžet na velkém počítači, ale neměly nastavené remote přístupy. Namátkou třeba torrentový klient nebo handbrake. Určitě většina toho jsou věci, pro které se dá najít příjemnější řešení, než je bolestivě pomalá grafika přes ssh, ale X-forwarding je snadný a univerzální.
Proxy mi přijde jako celkem jednoduché řešení. U SSH je složitost prakticky stejná, pak jen nastavím SOCKS proxy v prohlížeči.
Ano, rozumím, že to není tak univerzální řešení jako X11 forwarding, ale ty nevýhody tohoto univerzálního řešení (rychlost a bezpečnost) mi přijdou tak silné, že jsem posledních 10 let snad vždy dal přednost jinému řešení. Když už bych chtěl něco podobně univerzálního, asi bych dal přednost třeba Xpra (seamless) nebo tradičnímu VNC.
Toto vam momentalne nijako nepomoze (asi). Ale je to velmi zaujimavy napad a koncept v stadiu 'vyskumu'. Napriek tomu mne to trochu otocilo hlavu naopak a pozeral som co vsetko sa da 'cez' wayland urobit.
https://github.com/udevbe/greenfield
https://www.greenfield.app/
5. 7. 2022, 19:57 editováno autorem komentáře
tak to si asi netusil ze GTk4/GTk4 aplikace slo/jde i s X11 provozovat podobne, tedy zpristupnit aplikaci/e vzdalene v WWW prohizeci ;-)
https://docs.gtk.org/gtk4/broadway.html
EDIT: minimalne to ale ma omezeni v nemoznosti copy&paste, ktere greenfield zminuje ze podporuje
5. 7. 2022, 22:33 editováno autorem komentáře
Např. mám lokální Xserver (např. na Macu) a chci spustit vzdálenou okenní aplikaci na Linuxu přes pomalou linku. Vzhledem k tomu, že se posílají jenom metadata pro tvorbu oken a ne video stream (jako v případě remote desktopu), tak se jedná o několik řádů méně dat. Dá se tak pracovat (tj. není to super, ale aspoň to funguje) třeba i na špatném mobilním spojení.
GTK/Qt/Electron/cokoliv jinýho co nepamatuje berlínskou zeď jsou všechno bitmapy, všechno se kreslí client-side (tj. tam, kde ta aplikace fyzicky běží) a do X se už jen pošle stack obdélníčků s bitmapama. Pozadí okna, nad tím tlačítka, nad tím text... mnoho překrývajících se bitmap místo jedné, jako by to bylo v případě VNC.
Běžně tak používám třeba baobab, když mi někde začne docházet místo. Jo, s ls, rm a cp asi mohu udělat cokoliv na světě, ale použít ssh - Y a pustit si to graficky je primitivní, nemusím nikde nic řešit a účel to plní právě tak, jak potřebuji. A kolikrát jsem takhle spoustěl i další software, co jsem z nějakého důvodu v tu chvíli lokálně prostě mít k dispozici nemohl. Je to mimořádně praktická věc.
Když to tak vezmu, tak třeba u toho baobabu by to vedlo k tomu, že bych zůstal navždy u staré verze. To je tedy dokonce příklad nástroje, který by mi byl bez téhle funkcionality v podstatě k ničemu.
no zrovna baobab nevidim jako vhodnej priklad, kdyz pres ssh pouzivam na to same konzolove ncdu ;-)
ncdu je dobrý nástroj, ale má (a to doslova) poloviční užitnou hodnotu. Grafická reprezentace do hloubky pěti úrovní je grafická reprezentace do hloubky pěti úrovní. Nepotřebuju řešit adresáře, kde je padesát podadresářů a deset giga dat, ale podadresáře, kde je mnoho milionů souborů ve stovkách tisících podadresářů a dat několik terabajtů. Což samo o sobě není zase tolik, ale mezi ncdu a du -hxd 1 pak už zase takový rozdíl není; v obou vidím stejně málo.
s du tezko mas moznost vlest do toho serazeneho nejvetsiho, v nem znovu atd a promazat primo to co chces smazat ;-)
misto grafickeho znazorneni hloubky 5 urovni si proste 5x odentruju ty urovne, informace ma uz nactene takze to i s tema milionama bude nejspis hned...
pripadne je tu gdu
martinpoljak
VNC a RDP je všechno, jen ne alternativa. Minimálně ne v současné podobě. Zbytek neznám a rozhodně to není nic široce používaného a dostupného kdekoliv.
Broadway mas dostupne v tom stroji co ma Baobab ;-) protoze Broadway je soucast GTK a Baobab je postavane nad GTK ;-)
na serveru pustis...
broadwayd
GDK_BACKEND=broadway baobab
na klientu:
http://ip_adresa_serveru:8080
pripadne pokud chces baobab pres sudo, tak
sudo broadwayd
sudo GDK_BACKEND=broadway baobab
tech (GTK) aplikaci muzes pustit vice a vsechny uvidis v tom okne prohlizece, nebo muzes pustit dalsi instanci broadway demona:
broadway :1
GDK_BACKEND=broadway BROADWAY_DISPLAY=:1 baobab
v prohlizeci pak port 8081, resp 8080+cislo_broadwayd
Mělo by to fungovat pomocí Waypipe: https://gitlab.freedesktop.org/mstoeckl/waypipe . Vyzkoušené to nemám, ale pamatuju si to právě jako náhradu "network transparency" Xek.