Jak zabránit automatické změně velikosti okna s VMware?

Řeším problém s virtualizovanými WinXP hostovanými v Ubuntu.

XPčka jsou ve VMware Playeru a aktuálně řeším problém s tím, že když se uvnitř okna spustí program, který změní rozlišení, tak se velikost okna virtuálu změní a po skončení programu se nevrátí rozlišení, ani velikost okna zpět.

Možná by pomohlo, kdyby okno s virtuálem mělo pevnou šířku výšku a neměnilo se podle rozlišení, které si přepne program uvnitř něj.

Je nějaký způsob, jak ve správci oken (aktuálně Xfce) zafixovat velikost okna?
Nebo jiný způsob jak to řešit?

----- Pozadí toho co řeším. --------------

Správcuji kompy pro školy se staršími kompíky, na kterých běhají rozumně jen WinXP (Pod tím si představte něco jako 1,8 GHz CPU 1x Core, 1GB RAM, integrovaná grafika která má skoro podporu OpenGL 2.) Nepředstavujte si nějaké výchozí krabicové nastavení XPček, jsou to hodně vytuněná XPčka.
Je to odladěné, fungující, v rámci možností zabezpečené, ale problém je s prohlížeči, které už XP hodily přes palubu a KMeleon to asi nezachrání.
Na serveru je Linux se Sambou.

V těch XPčkách běhá cca 250 výukových programů, 350 vybraných her, cca 100 ks dalších programů typu GIMP, Inkcape, LibreOffice, editorů, a dalšího SW vybavení.

Nedávno se ke mě dostaly "novější" kompíky se 4GB RAM a já hledám cestu jak to "obrovské množství" RAM a výkonu využít k vybudování systému, na kterém to všechno poběží stabilně třeba dalších 10 a více let.

Plácnout tam Win10 nejde, protože v nich neběhá významná část výukových programů a něco jako spouštění v režimu kompatibility má pozitivní efekt tak u < 10% z těch co nefungují.

Zkoušel jsem i Win98 virtualizované přes virtualbox, ve kterých běhalo cca 80% výukových programů a stačilo by jim nepoměrně méně HW zdrojů, ale tam jsem narazil na to, že Win98 nejsou u Virtualboxu moc dobře podporované. Především oblast podpory 3D grafiky je bídná.

Takže prošlapávám cestu mít tam Linux a provozovat ty odladěná XPčka, ve kterých všechny ty programy fungují, virtualizované.
Pomocí nástroje "VMware vCenter Converter" se mi to po menším zápase podařilo zvirtualizovat a rozběhat v nich i 20let staré, SW náročné programy, takže je to asi schůdná cesta.
Aktuálně mi dělá problém ta změna rolzlišení okna po vypnutí starých programů, které třeba jedou v 640x480.

Zkoušel jsem ty výukové programy rozběhnou ve Wine / PlayOnLinux, ale úspěšnost je víc než bídná.
Paradoxně ty nejstarší, dělané pro dos běhají v DOSBoxu převážně pohodově.

Opravdu se nechci na ty staré programy vykašlat a hodit je přes palubu. Učitelé je znají a ví, co z nich kde použít a za některé dodnes není adekvátní náhrada.
Za případné postřehy a tipy budu rád.


Re:Jak zabránit automatické změně velikosti okna s VMware?
« Odpověď #1 kdy: 12. 12. 2020, 12:20:22 »
Ve VMWare Workstation je možné u displeje virtuálního stroje nastavit různé věci v Display scaling. Nejsem si úplně jistý, co všechno tím lze pokrýt, ale podařilo se mi nastavit, že se rozlišení VM přizpůsobuje velikosti okna, ne naopak.

Možná by alo bylo lepší prostě po ukončení "problémového" SW prostě změnit rozlišení na původní hodnotu pomocí nějakého programu (prostě udělat batch script).

Re:Jak zabránit automatické změně velikosti okna s VMware?
« Odpověď #2 kdy: 12. 12. 2020, 12:53:49 »
Díky za tip.

Můžu zkusit obalit spuštění programu scriptem, který bude nahazovat rozlišení zpět. Ale nepokrylo by to případy, kdy se někdo přepne alt+tab do jiného okna, nebo situace, kdy ten program bude potřeba násilně ukončit.

Také by to bylo třeba řešit u všech programů, které mění rozlišení a v některých programech si to rozlišení mohou určit uživatelé. Lepší varianta by byla to mít nastaveno fixně na jednom místě.
V podstatě to tak většinou funguje. V systému je nastaveno jedno rozlišení a po ukončení nebo přepnutí programu ho systém vrací zpět.
Akorát u toho VMware playeru je asi nějaký super duper ovladač grafiky, který si myslí, že je cool měnit velikost okna podle rozlišení a zpátky to nevracet.

Jestli na to má workstation nějaké udělátko, možná to bude umět i:
https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html

workstation player, který je pro nekomerční účely zdarma a nad by to mohl umět.

_Jenda

  • *****
  • 1 599
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Jak zabránit automatické změně velikosti okna s VMware?
« Odpověď #3 kdy: 12. 12. 2020, 18:20:47 »
Tak jako na Linuxu velikost okna změníš pomocí programu wmctrl, ale ty bys potřeboval umět nastavit pevnou. Na to jsem kdysi viděl čudlík v KWinu, jestli to Xfwm nebo jiné WM podporují alespoň přes nějaké API netuším. V nejhorším si to můžeš opatchovat, není to tak strašné (apt-source xfwm4; poeditovat; debuild) a tipuju že nahardcodovat „virtualizační okno musí mít velikost XxY“ budou tři řádky někam. Spíš je otázka, co se stane tomu virtualizátoru, pokud mu vnutíš okno - jestli automaticky zapne scaling.

Další, možná lepší možnost, je patchnout virtualizátor (což samozřejmě neuděláš u vmware, ale tak použiješ virtualbox, že jo) - zakomentovat v kódu změnění velikosti okna v reakci na změnu velikosti WM a natvrdo zapnout scaling.

Re:Jak zabránit automatické změně velikosti okna s VMware?
« Odpověď #4 kdy: 12. 12. 2020, 18:36:25 »
Citace
Jestli na to má workstation
Bohužel nevím, zda toto podporují ty Player edice (nikdy jsem je nepoužíval, jen plnou Workstation).

Ve Workstation je to prostě jedno z nastavení u Display v seznamu hardware VM.


Re:Jak zabránit automatické změně velikosti okna s VMware?
« Odpověď #5 kdy: 13. 12. 2020, 05:06:16 »
Re: wmctrl zkusím, aby ve smyčce hlídal parametry okna
ještě jsem našel že by to měl umět https://linux.die.net/man/1/devilspie

Re: Virtualbox jsem zkoušel jako první, už s tím image Win98, kde tedy pohořel. Z dřívějška mám zkušenost, že virtualizuje Windoze hůř než ten VMware, ale třeba mu dám ještě šanci.

Re: KWin nebo jiný správce oken, připadá v úvahu, pokud by byl dostatečně nenáročný a běhalo v něm vše co je třeba.

Re: Workstation
Zkusím tu Workstation player a dám vědět.

Díky za tipy.






_Jenda

  • *****
  • 1 599
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Jak zabránit automatické změně velikosti okna s VMware?
« Odpověď #6 kdy: 13. 12. 2020, 05:31:33 »
Já používám VirtualBox a v něm XPčka a žádného problému jsem si nevšiml.

Re:Jak zabránit automatické změně velikosti okna s VMware?
« Odpověď #7 kdy: 13. 12. 2020, 09:47:43 »
Problém nejsou XPčka ve Virtualboxu, problémem je, aby v těch XPčkách běhalo cca 600 programů, místy naprogramovaných dost zběsilým způsobem.
Cca 250 výukových programů vzniklých v průběhu posledních 30 let, cca 250 vybraných her a další prográmky.

Třeba takové "Hejbejte se kosti moje" od BSP multimedia, které si instaluje QuickTime 4.
Nebo starší programy od Silcom Multimedia, zvyklé na prostředí Win95/98, které si bezohledně přepisují svými obskurními .dll knihovnami novější a svoje konfiguráky .ini vyžadují ve složce Windows. A další plejáda šťavnatých technologií jako souběh různých verzí .NET, Silverlight, Java, Flash,...


_Jenda

  • *****
  • 1 599
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Jak zabránit automatické změně velikosti okna s VMware?
« Odpověď #8 kdy: 13. 12. 2020, 14:52:12 »
No to já chápu, ale pokud už se ti povedlo přenést existující funkční image do virtuálu, tak by tomu mělo být jedno, v čem to běží, ne? Akcelerovanou grafiku takhle staré věci nejspíš nepoužívají a jiné rozdíly ve virtualizovaném HW snad nejsou, ne?