- na manipulaci se schránkou je wl-keyboard (příkazy wl-copy, wl-paste)
- on-screen klávesnice je zabudovaná v GNOME a zapíná se v nastavení "Accessibility", jakmile máte nějaké textové pole ve fokusu, objeví se na spodní části obrazovky.
- gnome-shell restart proč? Upřímně nepotřeboval jsem to roky. Je jasné, že ho není možné ho jen jednoduše zabít jako na X11, když spouští i Mutter.
Historicky fungovaly i nějaké workaroundy, kdy se to přes volání interních funkcí reloadovalo, ale to už relativně dlouho nefunguje.
Dává mi to smysl, než donekonečna jít po dvou cestách zároveň (s tím, jak bylo zmíněno, stejně se ani teď X11 session moc netestuje), chce to vyhlásit nějakou přechodovou dobu a pak konečně v nových verzích utnout.
Mně by to taky dávalo smysl, kdyby zachovali plnou funkcionalitu toho, co bylo na Xorg PLUS to vylepšili.
1. Např. ty zmíněné nástroje používám, pokud potřebuji nějaký delší řetězec, třeba URL, "přeťukat" přímo do VM (přes virt-manager). V některých případech, např. v menu GRUBu, to jinak rozumně nelze (snad jedině přes sériovou linku, ale řekněme, že to je pro mé potřeby ne úplně pohodlné). Je to asi trochu okrajová záležitost, ale určitě se najdou i jiní s podobnými potřebami trochu mimo hlavní proud, kteří pak s waylandem ostrouhají :-(.
2. Restart gnome-shellu prostě občas potřebuji, protože se chová divně nebo žere moc paměti nebo CPU. Můžou to mít na svědomí i nějaká rozšíření, která používám (gnome shell je celkem fajn, ale bez rozšíření bych ho používat nemohl, v základu je na můj vkus moc ořezaný), ale prostě sem tam je restart potřeba.
A sundat s tím všechny grafické aplikace je neskutečná otrava a den to rozhodně nezpříjemní - a proč taky, když s Xorg to funguje docela pěkně. Mimochodem, našel jsem kdysi na tohle bug a řešilo se tam, že by to nějak udělat šlo, ale teď se mi ho nepodařilo dohledat, abych zjistil, v jakém to je stavu a jestli se o tom ještě uvažuje.
Jen pro zajímavost, tady je ten bug na restart gnome-shellu při zachování relace stejně jako to jde s Xorg: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5634
Mně by to taky dávalo smysl, kdyby zachovali plnou funkcionalitu toho, co bylo na Xorg PLUS to vylepšili.
No jo, ale kdo rozhodne, kdy už je to ready i pro všechny mezní situace a okrajová použití (A taky jsem si přesně vzpomněl na XKCD 1172, co už tu zmiňoval Ondřej).
Hlavně spousty té funkcionality je přes další hromadu projektů (jako např. xclip, xvkbd), které jsou mimo GNOME, tzn. na co všechno čekat. Zvlášť v situaci kdy tam jsou issues, kdy třeba nějaká změna v souladu s vývojem pro Wayland boří nějaké zajeté chování v X11 session.
Další věc, že to má úplně jinou architekturu, není jen X11 specifikace a de-fakto jeden server (Xorg), ale několik běžně používaných kompozitorů a klientů, UI toolkitů. Ty se pak mezi sebou liší i implementací a podporou různých rozšíření Wayland protokolu. Takže pokud někdo něco udělá nějaké "udělátko" třeba pro kompozitor wlroots, tak to neznamená, že to bude chodit např. s Kwin nebo Mutterem z GNOME.
To může vycházet i z rozdílných priorit při implementování těch fíčur z protokolu. Dovedu si představit, že třeba GNOME/GTK a KDE/QT docela řeší i interoperabilitu mezi sebou, zohledňují také zabezpečení přes XDG portály, než tam něco pustí atp. Tzn. nemají tam třeba rovnou všechno, co ty "menší" projekty.
Tohle je pak fundamentální odlišnost oproti X světu, kdy někdo udělal nástroj (např. virtuální klávesnici), co chodil vůči Xorg serveru, a bylo to víceméně univerzálně použitelné. A to se kolikrát nebavíme o bezpečnostním aspektu celé věci (tady máš framebuffer, dělej si co chceš; tady máš XTEST rozšíření, dělej si co chceš s uživatelskými vstupy).
...
1. Např. ty zmíněné nástroje používám, pokud potřebuji nějaký delší řetězec, třeba URL, "přeťukat" přímo do VM (přes virt-manager). V některých případech, např. v menu GRUBu..
Jasné, chápu s virt-managerem dělám taky. Mně by se v tomhle nejvíc líbilo, kdyby virt-manager měl v tom menu, kde se posílají přednastavené zkratky (ctrl+alt+del..) ještě volbu "Custom string", otevřel by se pop-up s textovým vstupem, vložil bych string. Ten by se po potvrzení rozebral po znacích a poslal do VM jako jednotlivé keystroky. (muselo by se to implementovat jak v případě SPICE, tak VNC).
Jinak ještě zkuste mrknout na ydotool
https://github.com/ReimuNotMoe/ydotool
Tohle funguje trochu jinak, používá to /dev/uinput (uživatel tam musí mít práva), ale je to tudíž nezávislé na kompozitoru, toolkitu.
Pod userem ještě musíte spustit systemd službu, aby to fungovalo:
systemctl --user start ydotool.service
Teoreticky by se tam dalo udělat to, že se otevře terminál vedle, spustí skript s ydotool, který udělá dvě věci. Pošle keystroke alt+tab, což to přepne do poslední aplikace. A následně přes druhé zavolání pošle zadaný text (může být parametr skriptu). Ale nezkoušel jsem to, jen teď takový nápad.
Systémové řešení do budoucna pro tyhle záležitosti vypadá přes libei.
https://gitlab.freedesktop.org/libinput/libei
GNOME to podporuje myslím od 46ky, ale nesháněl jsem žádné aplikace, co to využívají.
2. Restart gnome-shellu prostě občas potřebuji, protože se chová divně nebo žere moc paměti nebo CPU. Můžou to mít na svědomí i nějaká rozšíření, která používám (gnome shell je celkem fajn, ale bez rozšíření bych ho používat nemohl, v základu je na můj vkus moc ořezaný), ale prostě sem tam je restart potřeba.
Chápu, ale fakt jsem na to posledních letech nepotřeboval a to dělám víceméně jen v GNOME a na různých strojích/verzích. Je ale pravda, že mám možná jedno, dvě rozšíření. Snažím se tomu vyhýbat (hlavně protože mám někde rolling distribuce a nechci řešit, že se mi něco dalšího rozbíjí po updatech shellu).
Každopádně se to, že nejde restart jen shellu, za mě nedá klasifikovat jako bug. Prostě to funguje odlišně od X11 sessionu, jak jsem zmiňoval.
I ten workaround s funkcí eval, co šel do verze 42, který umožňoval částečný reload shellu (ne celý, to by to s sebou vzalo i Mutter), to stejně mohl nechat v nějakém nedefinovaném stavu.
Aby tohle šlo nějak rozumně restartovat, a pokud možno zůstaly běžící aplikace, tak je evidentně potřeba vyřešit docela dost věcí. Aplikace jsou klienty toho kompozitoru, přistupují na jeho socket.. tzn. např. udělat nějaký wrapper, což má také své neduhy atp.
Asi se ideálně mrknout na diskuze okolo:
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5634
https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/283 (tam je zas odskok k tomu, jak k tomu přistoupili u KDE/QT)
Nz. teď jsem to ještě v rychlosti zkoušel s tím ydotool.
Funguje to i pro psaní do VM ve virt-manageru (pokud je jako poslední aplikace, aby zabralo alt+tab).
#!/bin/sh
ydotool key 56:1 15:1 15:0 56:0
ydotool type "$1"
Teď to je na první parametr skriptu, šlo by to i z clipboardu, když vyměníte $1 za $(wl-paste -n).
Samozřejmě musí být běžící démon ydotoold, resp. povolená systemd služba pod uživatelem (u mě byla v balíčku).
Jinak zkoušel jsem i ten "soft" restart shellu, tzn ten starý workaround.
V Looking Glass konzoli (alt+f2, napsat lg) jsem povolil unsafe mode a zkusil restart.
global.context.unsafe_mode = true
eval('Meta.restart("Restarting…", global.context)')
Podle očekávání to nedopadlo, graf. výstup se už nechytl a musel jsem stejně do konzole, kde jsem zjistil, že aplikace tak jako tak zhebly (defunct). Takže jsem stejně musel změnit target a nechat to znovu normálně naběhnout.
Mám tedy poslední 48.1, možná se to bude u vás chovat jinak. Ale obecně tohle není cesta, než se případně principiálně vyřeší, co jsem zmiňoval předtím.
Tak ono to spíš vypadá jako nutnost. Nikdo se nějak nemá k udržování X11 do budoucna, natož k portování nových featur. Takže tak jako tak dříve či později podpora z dister a DE postupně zmizí (ostatně RHEL 10 bude bez X11 totálně).
Minimálně u velkých dister tak celkem chápu Apple-like přístup, kdy drží nějaké přechodové období s podporou obou protokolů, pak postupně odstraní X11 ze základní instalace a nakonec jej budou postupně vyřazovat z DE, která jsou na to připravená.
Oni ale nejlip vedi co potrebjes, takze mas smulu ... Jako bys to neznal od MS, to je nemlich totez. Kazda novejsi verze produktu toho umi min a hur pripadne nefunguje vubec.
Ovsem v nekterych pripadech ... MS treba zavadi (nejspis nefunkcni ale) moznost widle nerestartovat, zatimci tuxi distra se cim dal castesj dozadujou restartu. Protoze proc by soudruzi meli umet vymenit knihovnu za novejsi zejo ...
Oni ale nejlip vedi co potrebjes, takze mas smulu
V open source vždy rozhodují ti, co odvádějí práci, takže projekty umí to, co si jejich přispěvatelé myslí, že je nejužitečnější. Opravdu neexistuje žádná povinnost implementovat každému uživateli, co ho zrovna napadne. A jediný spolehlivě fungují způsob, jak podobu softwaru změnit, je se do jeho vývoje zapojit.
Odvážné to je, to je prostě Fedora. Svého času se totéž říkalo, když nasazovala systemd, PA, Wayland jako výchozí, PW a cojávímcodalšího. Ono to pro 99,99% uživatelů linuxového desktopu nebude představovat žádnou změnu, a to je to podstatné. Lidé jako vy, kteří vyžadují nějaké specifické X11 nástroje a postupy mají tisíc možností, jak je klidně používat dalších 10-20-či víc let.
No, odvážné... RHEL 10, který za chvíli vyjde, už nebude mít Xorg jako samostatný displej server vůbec. A to je konzervativní enterprise-ready distro.
Jinak nemyslím si, že Xorg bude jako samostatný displej server použitelný dalších 10-20 let. Určitě ne v bezpečné formě. Brzo přestane upstream plně podporovat ten use case samostatného displej serveru, pak podporu zahodí nové verze grafických toolkitů: GTK 5, Qt 7/8 (?)... Viděl bych ten časový odhad spíš na 5, maximálně 10 let. Jako kompatibilní vrstva v rámci XWaylandu tu bude X11 samozřejmě podstatně déle. Máme zákazníky, kteří pořád mají kritické aplikace v Motifu, který je de facto mrtvý už skoro 20 let. Ta setrvačnost je obrovská.