Delucidazioni generiche su porting con wine

4 risposte [Ultimo contenuto]
Ritratto di Anonimo
Anonimo
()

Ciao a tutti!

Seguendo il Wiki ho installato wine:

sudo dpkg --add-architecture i386 && sudo apt update
 
sudo apt install \
      wine \
      wine32 \
      wine64 \
      libwine \
      libwine:i386 \
      fonts-wine
 
sudo apt install \
      wine-development \
      wine32-development \
      wine64-development \
      libwine-development \
      libwine-development:i386 \
      fonts-wine

Adesso ho due tipologie di programmi:
1) programma in cui il .exe va eseguito ogni singola volta.
2) programma in cui il file .exe serve solo per l'installazione.

Nel primo caso mi sono limitato a creare un file .desktop con l'istruzione:

Exec=wine /path/applicazione.exe

Il .exe però devo mantenerlo, c'è un posto sensato dove metterlo? Magari dove sono i file di altri programmi? E' corretto quello che sto facendo?

Nel secondo caso, se l'applicazione prevede un'installazione, devo comunque creare manualmente un file .desktop? In generale ci sono altri accorgimenti che dovrei avere per fare dei porting correttamente?

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Io metterei i programmi del primo gruppo da qualche parte sotto /usr/local o sotto /opt, ma è una scelta molto soggettiva. Per tradizione, la gerarchia /opt è organizzata per applicazione. Ad esempio, se hai un programma che si chiama Paint, dovresti creare una directory /opt/paint e mettere lì dentro l'eseguibile, le eventuali librerie, la documentazione, gli esempi, ecc. Questo è molto diverso dal resto della gerarchia UNIX in cui gli eseguibili vanno tutti insieme /usr/bin, le librerie in /usr/lib, la documentazione in /usr/share/doc, ecc.

I programmi del secondo gruppo vanno eseguiti una sola volta. Puoi farlo da riga di comando senza file .desktop.

Ritratto di Anonimo
Ack (non verificato)
()

#!/bin/bash
wget https://download2.mikrotik.com/routeros/winbox/3.11/winbox.exe
mkdir /opt/winbox
cp winbox.exe /opt/winbox/
wine /opt/winbox/winbox.exe
rm winbox.exe
wget https://4.bp.blogspot.com/-dlB09HQrfck/VjbXk6rqXjI/AAAAAAAAAlI/lVtm6ybaDcA/s300/winbox.png
cp winbox.png /opt/winbox/
rm winbox.png
echo "[Desktop Entry]
Name=Winbox
Exec=wine /opt/winbox/winbox.exe
Icon=/opt/winbox/winbox.png
Type=Application" > /usr/share/applications/winbox.desktop

Grazie ai tuoi consigli sono riuscito a fare questo script, i programmi di questo tipo li installerò tutti con questo pattern ed alla fine ho scelto di metterli sotto /opt/nomeprogramma.

Per quanto riguarda i programmi del secondo gruppo non ho capito come dovrei fare ad eseguirli da riga di comando senza creare il .desktop, nel manuale di wine non ho trovato niente, sai indicarmi qualcosa?

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Ack ha scritto:

Per quanto riguarda i programmi del secondo gruppo non ho capito come dovrei fare ad eseguirli da riga di comando senza creare il .desktop, nel manuale di wine non ho trovato niente, sai indicarmi qualcosa?

Se hai scaricato il file pippo.exe che devi far girare una sola volta, ti basta dare il comando
wine pippo.exe

Ritratto di Anonimo
Ack (non verificato)
()

Hai ragione, non avevo notato che nel caso di questi file il .desktop veniva creato automaticamente. Grazie Smile