programmatūra · 6 min · 26.07.2026

Firefox 154 jau atjauno logu novietojumu Wayland, GNOME 51 to vēl nespēs

Firefox 154 zarā ir ieviests xdg-session-management-v1 atbalsts, tāpēc pārlūka logi Wayland sesijā var atgriezties tajā pašā vietā, monitorā un darbvirsmā, kur tie bija pirms izrakstīšanās. Mozilla kļūdas ziņojumā 2044701 izstrādātājs Martin Stránský pārcēla kodu no vecā xx-session-management-v1 uz standartizēto versiju un pievienoja iestatījumu widget.wayland.session-management.enabled, ar ko funkciju var izslēgt.

Uz KDE Plasma tas strādā jau tagad. Uz GNOME nē. Red Hat darbvirsmas komandas izstrādātājs Adrian Vovk GUADEC 2026 konferencē pastāstīja, ka sesijas saglabāšana un atjaunošana GNOME 51 laidienā 16. septembrī vēl neparādīsies kā lietotājam pieejama funkcija.

Protokols tapa sešus gadus

Wayland lietotne nevar pati izvēlēties, kur novietot savu logu. To dara kompozitors. Tāpēc programma, kas grib atvērties tajā pašā stūrī, kur bija vakar, to nespēj izdarīt bez kompozitora līdzdalības. Sarunas par risinājumu sākās 2020. gada februārī. Protokola apraksts atsaucas uz Enlightenment pieeju ar nosaukumu “session recovery”, kas tur bija strādājusi jau apmēram divus gadus.

Rezultāts ir sesijas pārvaldības protokols, kas beidzot iekļauts wayland-protocols krātuvē. Lietotne izveido xdg_session_v1 objektu, saņem sesijas identifikatoru un ar to reģistrē katru savu logu ar nosaukumu. Kompozitors šo nosaukumu atceras līdz nākamajai palaišanai. Sešus gadus prasīja vienošanās par to, kurš glabā stāvokli: kompozitors, lietotne vai sesijas pārvaldnieks.

Mutter protokolu ieguva jau 2024. gadā

GNOME kompozitors Mutter XDG sesijas pārvaldības atbalstu saņēma 2024. gada 14. septembrī, īsi pirms GNOME 47 laidiena. Phoronix tolaik rakstīja, ka logu stāvoklis tiek glabāts Gvdb formāta failā mapē ~/.local/share, taču pēc noklusējuma protokols paliek izslēgts. Kopš GNOME 50 Mutter iekšpusē darbojas privāta saskarne, kas šo krātuvi apkalpo.

Tas nozīmē, ka zemākais slānis GNOME jau ir. Logu ģeometriju, monitoru, virtuālo darbvirsmu, kārtību pa slāņiem un “vienmēr virspusē” iestatījumu Mutter spēj pierakstīt un atlikt atpakaļ. Trūkst visa pārējā.

Ko sistēma atceras un ko nē

Kompozitors pieraksta loga izmēru, pozīciju, monitoru, darbvirsmu un to, vai logs bija maksimizēts. Viss pārējais ir lietotnes ziņā. Pārlūkam tas nozīmē atvērtās cilnes, teksta redaktoram failus un kursora vietu tajos, terminālim darba mapi. Neviena no šīm lietām protokolā neietilpst. Katra programma savu stāvokli glabā pati un pēc atjaunošanas signāla to ieliek atpakaļ.

Grūtākā daļa ir GTK un lietotņu puse

Vovk iniciatīvu izsludināja 2025. gada 18. decembrī. Plānā GTK pārņem logu ģeometrijas saglabāšanu no katras atsevišķas programmas un piedāvā vienu kopīgu mehānismu. Palaišanas laikā lietotne par katru saglabāto logu saņem signālu restore-window. Programmām, kurām mēdz būt vairāki vienlaikus atvērti eksemplāri, pievienots eksemplāra identifikators.

DBus saskarne līdzi padod arī iemeslu, kāpēc sesija tiek atjaunota. Iemesli ir četri: NORMAL, RECOVER, RESTORE un PRISTINE. RECOVER nozīmē, ka avarējusi visa sesija vai atsevišķa programma. RESTORE ir parasta izrakstīšanās ar ieslēgtu atjaunošanu. Lietotne pēc šā iemesla var izlemt, cik daudz stāvokļa atlikt atpakaļ. Pēc avārijas ir vērts atgriezt visu, pēc parastas izrakstīšanās varbūt tikai logus.

Sistēma nevar atjaunot lietotni, kas par to nezina. Katrai programmai jāapstrādā atjaunošanas signāls līdzās parastajiem ieejas punktiem un pašai jāsaglabā savs iekšējais stāvoklis, kas ir krietni vairāk par loga izmēru.

Tāpēc GNOME funkciju negrasās likt iestatījumos, kamēr to neatbalsta pamatlietotnes. GTK saskarne vēl nav gatava. Šā gada februāra GTK hakatonā apspriesta asinhronā izslēgšanās: programmai vajag laiku pierakstīt savu stāvokli, pirms sesija beidzas, bet lietotājs negaida piecas sekundes pēc “Izslēgt” nospiešanas. Vovk raksta, ka krasas API izmaiņas vairs nav gaidāmas. Diskusijā par GTK pusi iesaistīts arī GTK uzturētājs Emmanuele Bassi.

Sesijas pārvaldnieks vairs nepildīs komandrindas

Vecais X11 laika sesijas pārvaldnieks saglabāja lietotnes komandrindu un izpildīja to nākamajā pieteikšanās reizē. Jaunajā shēmā to dara xdg-desktop-portal: tas atceras lietotnes identifikatoru un palaiž programmu caur tās .desktop failu. Sesijas pārvaldnieks vairs neizpilda patvaļīgas komandas, tāpēc pārrakstīts sesijas fails vairs nav veids, kā palaist svešu kodu uzreiz pēc pieteikšanās.

Linuxiac ziņo, ka portāla galvenās idejas akceptējuši KDE un Firefox izstrādātāji, taču pati portāla daļa vēl nav pabeigta. Tā ir vieta, kur GNOME plāns visvairāk atšķiras no tā, kas šodien strādā uz Plasma. KDE logu vietas atjauno bez portāla, tikai ar Wayland protokolu, tāpēc lietotnes tur atgriežas savā vietā tikai tad, ja lietotājs tās palaiž pats.

Ko var izmēģināt jau tagad

Uz KDE Plasma 6.4 vai jaunākas versijas ar Firefox 154 logu vietas atjaunošana strādā bez papildu darbībām. Ja tā traucē, iestatījumu widget.wayland.session-management.enabled var pārslēgt uz false lapā about:config. Chromium un Qt protokolu ieviesa agrāk par Firefox, tāpēc uz Plasma savā vietā atgriežas arī Qt programmas.

Uz GNOME 51 redzamu izmaiņu nebūs. Mutter puse tur būs, GTK puse un portāls vēl nē, tāpēc nekas neatjaunosies. Konkrētu laidienu, kurā funkcija ieslēgsies, Vovk nav nosaucis. Mozilla kļūdu reģistrā jau atvērts ziņojums 2050687 par regresiju, ko sesijas pārvaldība radīja pārlūka rīkjoslas redzamībai uz KDE Wayland.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie