WinApps: eseguire Microsoft Office e programmi Windows su Linux come se fossero nativi

WinApps punta a unire i mondi Linux e Windows, consentendo di aprire programmi come Word, Excel o Photoshop direttamente dal desktop del pinguino tramite virtualizzazione e RDP. La soluzione integra applicazioni, scorciatoie e MIME types, offrendo un’esperienza vicina a quella nativa, senza ricorrere a macchine virtuali pesanti.

Una delle barriere che più di frequente ostacolano l’adozione di GNU/Linux negli ambienti professionali, riguarda la disponibilità di software proprietario sviluppato esclusivamente per Windows. Microsoft Office, Adobe Creative Cloud e numerose applicazioni aziendali legacy rappresentano ancora un punto critico per molti utenti che, pur preferendo Linux per stabilità, sicurezza e libertà, sono costretti a mantenere il dual boot con Windows o a ricorrere a soluzioni di virtualizzazione tradizionali, spesso pesanti e poco integrate con il desktop.

WinApps nasce proprio per colmare questa lacuna, permettendo l’avvio di applicazioni Windows su Linux con un livello di integrazione così profondo da renderle praticamente indistinguibili da software nativo.

Immaginate di aprire Word, Excel o Photoshop direttamente dal menu delle applicazioni di Linux, senza finestre di macchine virtuali ingombranti né complicati workaround. Pensate di poter fare clic su un file .docx e vederlo aprirsi in Microsoft Word come se fosse immediatamente riconosciuto dal tuo sistema operativo, o di modificare un progetto in Adobe Illustrator senza dover mai lasciare l’ambiente GNOME, KDE o XFCE.

Eseguire programmi Windows su Linux con WinApps

Come funziona WinApps

La logica di funzionamento si basa su un’architettura composta da tre elementi principali:

  • Macchina virtuale Windows: può essere gestita con Docker, Podman o libvirt. Docker/Podman offrono automazione e semplicità nell’installazione; libvirt garantisce un controllo avanzato e una maggiore possibilità di personalizzazione della macchina virtuale.
  • FreeRDP: il protocollo RDP (Remote Desktop Protocol) è utilizzato per eseguire il rendering remoto delle finestre Windows direttamente sul desktop GNU/Linux. In questo modo, le applicazioni si aprono e si comportano come se fossero native, senza l’esperienza “contenuta” tipica delle virtual machine tradizionali.
  • Integrazione con il desktop: WinApps esamina automaticamente l’elenco delle applicazioni installate in Windows, genera le corrispondenti scorciatoie sul sistema Linux e associa le applicazioni ai corretti MIME types. Ad esempio, un file .docx aperto in Nautilus o Dolphin può essere avviato direttamente in Microsoft Word (all’interno della macchina virtuale) pur apparendo come un’app locale.

La directory ~ dell’utente Linux è resa disponibile in Windows tramite il mount \\tsclient\home, semplificando il lavoro su documenti condivisi. Inoltre, un widget attivo a livello di taskbar permette di gestire la macchina virtuale Windows (avvio, sospensione, riavvio) e lanciare le applicazioni installate.

È interessante notare che i collegamenti come ms-word:// sono riconosciuti e aperti automaticamente nella versione desktop di Office, aggirando le limitazioni delle Webapp Microsoft che discriminano gli utenti Linux.

Applicazioni supportate

L’elenco ufficiale, mantenuto dalla community, include:

  • Suite Microsoft 365/Office (Word, Excel, PowerPoint, Outlook, Access, OneNote, Publisher, Visio, Project).
  • Adobe Creative Cloud (Photoshop, Illustrator, InDesign, Lightroom, After Effects, Premiere Pro, Audition, ecc.).
  • Strumenti di sviluppo e amministrazione (Visual Studio, PowerShell, Explorer, Prompt dei comandi).

Oltre a queste, WinApps può intercettare qualsiasi eseguibile installato in Windows e renderlo disponibile come voce nel menu applicazioni di Linux.

Prestazioni e consumo di risorse

WinApps sfrutta KVM (Kernel-based Virtual Machine) come hypervisor, garantendo prestazioni notevolmente superiori rispetto a soluzioni più tradizionali come VirtualBox.

L’esperienza utente dipende naturalmente dall’hardware disponibile. Va tenuto presente, infatti, che la gestione di una macchina virtuale Windows richiede almeno 4–8 GB di RAM dedicati. Su sistemi con 8 GB fisici totali, l’impatto può essere significativo.

Per quanto riguarda la GPU, non è necessario il passthrough completo, ma una scheda grafica dedicata migliora la fluidità con le applicazioni grafiche.

Installazione e configurazione di WinApps

WinApps necessita di alcuni pacchetti base, tra cui FreeRDP 3 o superiore. I comandi da impartire variano sulla base della distribuzione Linux in uso. Ad esempio, nel caso di Ubuntu (o Debian e derivate):

sudo apt update
sudo apt install -y curl dialog freerdp3-x11 git iproute2 libnotify-bin netcat-openbsd

Successivamente, si può impostare una configurazione di riferimento, come spiegato nella guida ufficiale disponibile su GitHub:

  1. Docker/Podman (consigliati per semplicità e automazione).
  2. libvirt/KVM (per chi vuole massima personalizzazione).
  3. Manuale (per collegarsi a un Windows remoto già esistente via RDP).

Impostazione del file winapps.conf

È richiesta la creazione del file ~/.config/winapps/winapps.conf con le credenziali e i parametri della macchina virtuale. Nel file di configurazione di WinApps vanno impostati i parametri essenziali che consentono la connessione alla macchina Windows e il corretto avvio delle applicazioni.

Ad esempio RDP_USER permette di specificare l’utente Windows da usare per l’accesso alla macchina virtuale, RDP_PASS la password corrispondente, RDP_IP l’indirizzo IP della macchina virtuale Windows, M_NAME il nome della macchina virtuale (usato da WinApps per identificarla), WAFLAVOR il tipo di backend usato per la macchina virtuale:

  • docker per container Windows
  • libvirt per macchine virtuali KVM
  • manual per connessione diretta a un Windows esistente

Ancora, la direttiva RDP_SCALE permette di specificare la percentuale di scaling per gli schermi ad alta risoluzione; RDP_FLAGS di indicare opzioni aggiuntive per FreeRDP; DEBUG per controllare eventuali problemi di connessione.

Impostazione e avvio programmi Windows su Linux

Avvio dell’installazione di WinApps e utilizzo dei programmi Windows da Linux

Una volta controllato che la connessione RDP alla macchina virtuale è eseguita senza problemi, si può proseguire con il download e l’avvio dell’installer ufficiale di WinApps:

bash <(curl https://raw.githubusercontent.com/winapps-org/winapps/main/setup.sh)

Dopo l’installazione di WinApps, si possono trovare le icone delle applicazioni Windows integrate nel menu applicazioni. Risulta quindi possibile, per esempio, avviare Microsoft Word dal menu di GNOME/KDE/XFCE, aprire un file .docx con un clic destro, Apri con, Microsoft Word (WinApps).

Si può quindi provare a eseguire manualmente un programma ricorrendo al seguente comando:

winapps manual "C:\Percorso\programma.exe"

È davvero esecuzione nativa?

In breve, no. Non lo è. Nel senso che, come abbiamo spiegato in precedenza, applicazioni Windows proprietarie e in generale qualunque programma sviluppato per il sistema operativo Microsoft arriva sul pinguino, in questo caso, facendo leva sulla virtualizzazione.

Il bello di WinApps, tuttavia, è che permette di integrare programmi Windows tramite protocollo RDP (lo stesso usato per il Desktop remoto e per Windows App, che ad esempio permette di eseguire Windows 11 su Android…). Al termine dell’installazione e dopo una corretta configurazione di WinApps, i programmi Windows funzionano (quasi) come se fossero in esecuzione in modo nativo.

Non si usano immagini Docker di Windows bensì container che avviano QEMU con Windows virtualizzato. WinApps è abile nel presentare i programmi caricati tramite la macchina virtuale in modo molto più “trasparente” e user-friendly rispetto al solito.

Le prestazioni sono complessivamente convincenti: con hardware adeguato i lag sono generalmente minimi; nei casi peggiori potrebbero manifestarsi piccoli problemi in fase di scrolling e scaling.

Non ha più senso investire sulle tante alternative open source?

Le alternative provenienti dal mondo FOSS (Free and Open Source Software) sono praticamente infinite ma diversi professionisti spiegano che in molti casi non è realistico abbandonare Office o Adobe per motivi di compatibilità aziendale e workflow consolidati. Interi business poggiano su Excel e Outlook in modo imprescindibile, quindi WinApps colma un gap enorme per la migrazione a Linux.

WinApps è sostanzialmente una macchina virtuale Windows ben integrata su Linux tramite RDP. Non è magia, bensì un wrapper pratico e trasparente.

Nel complesso, accantonando in partenza le posizioni troppo rigide e intransigenti di chi su GNU/Linux non ammette compromessi, WinApps può configurarsi come una soluzione di grande valore. Soprattutto per coloro che al momento non possono rinunciare a Office o ai programmi della suite Adobe, permettendo una migrazione a Linux più indolore.

Le limitazioni esistono (screenshot impossibili, difficoltà con Wayland, risorse elevate, licenza Windows), ma la comunità considera WinApps una delle soluzioni più promettenti per superare i vincoli software nel mondo Linux.

Ti consigliamo anche

Link copiato negli appunti