Il principale problema nell'adozione di una distribuzione Linux è la difficoltà che tutti gli utenti hanno nel rimpiazzare i software proprietari più avanzati con soluzioni equivalenti. Spesso, infatti, questi applicativi sono disponibili solo per i sistemi operativi commerciali, quali Windows o OS X. A ciò si aggiunge il fatto che le alternative sono spesso incomplete o non all'altezza dei concorrenti.
Per risolvere il problema dell’esecuzione di software per Windows su sistemi operativi Linux, molti utenti si affidano a Wine (acronimo ricorsivo che sta per Wine Is Not an Emulator), un programma in grado di emulare le API di Windows ed eseguire, su sistemi Linux, software compilati per Windows.
In questo articolo vedremo come utilizzarlo, e quali accorgimenti adottare per installare ed utilizzare su Linux Ubuntu un’applicazione complessa come Adobe Photoshop CS6, in modo da riassumere i principali problemi che l’installazione di un software di questo tipo può comportare.
Installazione ed utilizzo di Wine: un breve riepilogo
In un nostro precedente articolo, avevamo descritto come installare Wine su Linux, ed utilizzarlo per avviare programmi eseguibili compilati per Windows (generalmente contrassegnati dall’estensione .exe). Per riassumere brevemente, e con l’ipotesi di lavorare su Ubuntu 12.04, l’installazione di Wine mediante apt necessita di un semplice comando da terminale:
sudo apt-get install wine
L’installazione richiede un po’ di tempo, dal momento che Wine è composto da molti pacchetti. Per chi non utilizza Ubuntu o altre distribuzioni che si appoggiano ad apt, è generalmente sempre possibile fare riferimento ai repository associati al sistema su cui si opera, oppure affidarsi alla compilazione dei sorgenti, disponibili sul sito ufficiale di Wine.
Una volta installato, l’avvio di un programma tramite il terminale può essere effettuato con una semplice riga di comando. Supponendo, per esempio, di volere avviare un eseguibile che chiamiamo hello_html.exe, useremo da terminale:
wine hello_html.exe
Esistono diversi parametri che è possible specificare per avviare Wine, in modo, ad esempio, da eseguire un programma in modalità Windows XP piuttosto che Windows 7. Questo genere di preferenza può essere specificata all’avvio di ogni singola applicazione, con l’opzione --winver:
wine --winver winxp hello_html.exe
È anche possibile configurare Wine in maniera globale, per far sì che le impostazioni predefinite siano uguali per tutti i programmi avviati. Per farlo, già con l’installazione di Wine viene fornito un comando, winecfg, che consente di configurare le impostazioni globali di Wine mediante una semplice ed intuitiva interfaccia grafica.
Installare programmi “complessi”
Con la configurazione di default, in genere, Wine si presta bene ad eseguire programmi “semplici”, intendendo con ciò software che non richiedono particolari dipendenze per potere funzionare. Ma spesso, per potere utilizzare applicazioni di grosso calibro, quale può essere Adobe Photoshop CS6 o un qualsiasi gioco 3D relativamente recente, sono necessarie procedure di installazione aggiuntive. In genere esse consistono nell’utilizzo di versioni specifiche di Wine (eventualmente ancora in fase di Beta testing), nonchè di pacchetti addizionali che rappresentano le dipendenze richieste dalla specifica applicazione.
Ma come possiamo scoprire quali sono tutti gli accorgimenti da intraprendere per raggiungere il nostro obiettivo? In genere, faremo riferimento a due strumenti fondamentali per sfruttare al meglio le potenzialità di Wine: l’AppDB e Winetricks.
L’ Application DataBase di Wine (AppDB)
La prima cosa da fare per installare un programma come Adobe Photoshop CS6 è controllare se l’AppDB di Wine contiene informazione relative al software che intendiamo installare. Si tratta di un database, accessibile da internet, che contiene informazioni relative alla compatibilità con Wine di un buon numero di applicazioni commerciali per Windows. Maggiore è la “fama” dell’applicazione, maggiore è la possibilità che di essa si abbiano informazioni sull’installazione; e se queste informazioni esistono, quasi certamente sono registrate nell’AppDB.
Accedendo alla home page, possiamo cercare Adobe Photoshop CS6 mediante il form di ricerca in alto a destra, ed ottenere le informazioni di cui abbiamo bisogno.
Ogni applicazione, nell’AppDB, ha un suo rating, ovvero una valutazione del suo funzionamento con Wine in base ai test effettuati dagli utenti della comunità. Il rating può variare tra un valore massimo di Platinum (platino), ad un minimo di Garbage (spazzatura). Nel caso di Adobe Photoshop CS6, il rating su Ubuntu 12.04 è Silver (argento): non è il massimo, ma dovrebbe indicare un buon funzionamento.
Per installare il software (del quale possiamo scaricare una versione trial dal sito di Adobe), stando a quanto riportato sulla scheda, è necessario utilizzare Wine 1.5.10. La versione suggerita, spesso, non coincide con l’ultima versione stabile, e può variare da programma a programma. Generalmente, inoltre, può non essere presente nei repository ufficiali della distribuzione che adoperiamo. Perciò dobbiamo scaricarla dal sito ufficiale di Wine. Per farlo, abbiamo due possibilità:
- Seguire quanto specificato sulla sezione download del sito ufficiale, che in genere include diverse guide adatte alle maggiori distribuzioni;
- Cercare la versione desiderata tra quelle disponibili nella lista ufficiale dei codici sorgente, dando un’occhiata alla lista dei pacchetti consigliati per una corretta installazione.
In quest’ultimo caso, in genere, le ultime versioni includono alcuni file README molto chiari, che spiegano quali tool utilizzare per effettuare una installazione corretta. In genere, gli script inclusi negli archivi scaricati includono già script facili da avviare e chiari, che aiutano anche i meno esperti a rimediare alle dipendenze non soddisfatte.
Sfruttare Winetricks
Una volta installata la versione di Wine consigliata dall'AppDB, prima di avviare il processo di installazione, apriamo Winetricks. Si tratta di un componente che, da alcune versioni, viene installato insieme a Wine, e che semplifica notevolmente il processo di installazione di programmi “complessi” con Wine. Su Ubuntu, dopo l’installazione di Wine dai repository ufficiali, possiamo cerchiarlo tramite la dashboard; in generale, da terminale è sufficiente utilizzare il seguente comando:
winetricks
Si aprirà una schermata che ci chiederà cosa fare:
Con Winetricks possiamo aggiungere alcuni componenti aggiuntivi richiesti, cercando tra le varie categorie disponibili. Ciò è utile se non si sa bene quale può essere il problema, e si vuole tentare di risolverlo per tentativi. Nel caso di Adobe Photoshop CS6, però, la scheda dell’AppDB riporta, tra i commenti addizionali, la necessità di installare i seguenti componenti: atmlib, gdiplus, ie6, msxml3, msxml6 e vcrun2010. Per farlo, anziché cercare ognuno di questi pacchetti tra quelli elencati su Winetricks, possiamo procedere direttamente da riga di comando, passando tali componenti come parametri del comando winetricks:
winetricks atmlib gdiplus ie6 msxml3 msxml6 vcrun2010
Questo comando si occuperà di effettuare il download di ogni file di installazione relativo ai componenti aggiuntivi da installare o, se non potrà, fornirà all'utente tutte le indicazioni su come fare ad ottenere le dipendenze richieste. Oltre al download degli installer, inoltre, Winetricks installerà tutti i pacchetti necessari, eventualmente chiedendo tutte le conferme del caso in fase di installazione.
L’utilizzo di Winetricks, che originariamente non era incluso nell'installazione di default di Wine, si è rivelato talmente importante per l’installazione di software di una certa mole, che è diventato parte della suite di applicazioni installate di default insieme a Wine.
Avvio dell’installazione di Photoshop
Una volta installati i pacchetti richiesti, non resta che avviare il file di installazione di Adobe Photoshop CS6. Nel caso specifico di questa applicazione, come accennato nella scheda dell’AppDB, a causa di un bug ancora irrisolto, l’installazione di Photoshop sembrerà fallire. Tuttavia, se si avvia il file di Setup tramite il terminale, si può verificare che una serie di stringhe (inizianti tutte con fixme) vengono continuamente prodotte nonostante la finestra di installazione indichi che questa è fallita.
Ciò indica che l’installazione, in realtà, procede. A dimostrazione di ciò, quando il terminale sembra non proseguire più con la produzione di nuove stringhe, possiamo verificare che la directory di Photoshop è stata generata e riempita in modo adeguato. Supponendo che USER è il nome dell’utente che sta installando Photoshop, il seguente comando:
ls –r /home/USER/.wine/drive_c/Program Files/Adobe/Adobe Photoshop CS6
mostrerà tutti i file installati correttamente. L’immagine seguente, che può sembrare contraddittoria per via del messaggio di fallimento dell’installazione, mostra come l’operazione sia in effetti perfettamente riuscita.
Anche questo strano comportamento è descritto nella scheda dell’AppDB relativa ad Adobe Photoshop CS6.
Alla fine del processo descritto, non resta che eseguire il programma, avviandolo da terminale o (su Ubuntu) tramite doppio click sulla relativa icona. Il risultato non può che essere soddisfacente:
Conclusioni
L’installazione di Adobe Photoshop CS6 non è altro che un esempio significativo, che è bene tenere a mente se si vuole utilizzare un software di grosse dimensioni e potenzialità su un sistema Linux. In genere, infatti, Wine richiede sempre alcuni accorgimenti che riescano a rendere funzionanti tali applicazioni.
Vale la pena precisare, prima di concludere, che non tutte le applicazioni sono state sufficientemente testate, nè tutte quelle inserite nell’AppDB hanno un rating alto. In questi sfortunati casi non c’è altra soluzione che affidarsi ai tentativi, cercando qualcosa su Google e appoggiandosi a Winetricks.
In generale, però, l’AppDB e Winetricks si rivelano indispensabili, ed è bene che ogni utente che voglia rimanere indipendente da sistemi commerciali senza rinunciare a soluzioni software pressocchè insostituibili conosca questo tipo di prassi di installazione.