Linux. VINO. Caso d'uso interessante. Guarda caso, stavo giocando con WINE, cercando di installare del software Windows. Si scopre che il particolare programma è disponibile in modo nativo, quindi nessun problema, ma occasionalmente sto provando questo framework per vedere se ha fatto progressi nel diventare più semplice e facile.
In questo particolare giorno di pioggia, non stavo avendo successo con Mono, o dotNET se vuoi. L'applicazione non poteva essere eseguita, perché sul mio box Linux mancava Mono, ma configurarlo correttamente era tutt'altro che banale. Da qui questo tutorial. Qualcuno da qualche parte là fuori potrebbe avere un caso d'uso oscuro e questa piccola guida tornerà utile un giorno. O no. Dopo di me.
Errore che è
Per farla breve, quando esegui il "programma" del vino, ottieni questo:
003a:err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono non è installato
Evidente, no? Bene, la soluzione è installare il framework Mono completo, che viene fatto specificando il metapacchetto mono-completo. L'ho testato su un sistema basato su Ubuntu, quindi non odiarmi se la convenzione di denominazione è diversa nella tua distribuzione:
sudo apt-get install mono-complete
Purtroppo, questo non ha aiutato.
Soluzione 1:programma di installazione Mono ufficiale
Puoi prendere il pacchetto dal sito Web ufficiale di WINE e quindi installarlo utilizzando la funzionalità Aggiungi/Rimuovi tramite il programma di disinstallazione di wine come ti ho mostrato alcune settimane fa. Seleziona Aggiungi, seleziona il pacchetto MSI Mono e dovrebbe essere tutto.
Nel mio caso, ho fatto progressi, ma non abbastanza. Un nuovo messaggio di errore:
002f:err:mscoree:LoadLibraryShim errore durante la lettura della chiave di registro per installroot
Soluzione 2:trucchi del vino
Ho deciso di andare alla vecchia scuola e tornare a questo piccolo e accurato script wrapper, che puoi usare per installare tonnellate di applicazioni, librerie e utilità Windows comuni e, si spera, non dover affrontare errori fantasiosi. Ho installato lo script dai repository e quindi ho installato dotNET 4.5 utilizzandolo.
sudo apt-get install winetricks
winetricks dotnet45
L'interfaccia utente è stata avviata e ho iniziato a fare clic sui pulsanti. Sono stati compiuti progressi. Si sono verificati errori, ma la procedura guidata non si è arrestata in modo anomalo. Gli errori sono tutt'altro che utili e, a meno che non blocchino l'installazione, non dovrebbero essere mostrati.
È stato un po' lungo e sono comparsi diversi maghi Microsoft, chiedendomi di accettare EULA e simili. Ma alla fine, avevo installato correttamente dotNET e, cosa più importante, l'applicazione Windows è stata in grado di rilevare il framework e sono stato in grado di completare l'installazione di WINE.
Se te lo stai chiedendo, il mio programma di test era KeePass, disponibile anche tramite i repository. Ma come succede, le versioni di Windows vengono fornite con un'icona più bella e una migliore integrazione dell'area di sistema, almeno in Plasma, ma l'interfaccia utente stessa è visivamente più gradevole in modo nativo, probabilmente a causa dei DPI dei caratteri e quant'altro. Quindi, nel complesso, sono stato piuttosto felice, come al solito, ho avuto poca fortuna con i tentativi di WINE in passato.
Conclusione
Eccoci qui. Successo! Ora, questo non significa che siamo ora nell'età d'oro della compatibilità Windows-Linux. Affatto. Ma ogni piccolo progresso che facciamo è positivo e utile, soprattutto se aiuta le persone a ottenere più libertà nella scelta del software. Le soluzioni native sono sempre l'opzione migliore, ma se non ce ne sono puoi dilettarti con WINE.
Il grosso problema con questo framework è che non esiste una formula d'oro. Non puoi semplicemente dire, esegui questi quattro passaggi e tutte le tue applicazioni verranno installate e funzioneranno bene. No. C'è una discreta quantità di possibilità e fortuna, e alcune delle configurazioni possono essere piuttosto contorte. Immagino che questo sia a metà strada su quella scala. Ma abbiamo portato a termine il nostro compito. Volevi Mono, hai Mono. Felice Linux. Intendo Windux.