Cambia icona dell'applicazione Wine in Unity Launcher


21

Spesso eseguo un programma Windows con Wine. Quando apro questo programma, viene visualizzato nel programma di avvio unità come vino anziché il programma aperto effettivo.

Ho creato un programma di avvio desktop con l'icona giusta, ma trascinandolo nell'unità di avvio l'unità ripristina l'icona del bicchiere di vino. Quando si avvia l'applicazione, viene denominata Caricatore programmi di Windows Wine anziché il nome effettivo.

Immagine dello schermo:

inserisci qui la descrizione dell'immagine

Risposte:


26

Soluzione alternativa su Ubuntu 12.04 LTS e versioni successive


Nota

Questa soluzione alternativa richiede un programma di avvio funzionante per l'applicazione Wine. Ecco un tutorial su come crearne uno . La soluzione alternativa si applica anche alle applicazioni installate con gli script PlayOnLinux. Le versioni più recenti di PlayOnLinux aggiungono automaticamente la StartupWMClasslinea al loro launcher.

Istruzioni

Apri il tuo programma di .desktopavvio nel tuo editor di testo preferito e aggiungi questa riga al file:

StartupWMClass=application.exe

dove si application.exetrova il nome base dell'eseguibile che si desidera avviare in Wine.

Non utilizzare il percorso completo, ma solo il nome di base. E assicurati che non sia stato votato (una regola generale che dovresti seguire con i file desktop).

Risultato

Le icone e le descrizioni delle applicazioni dovrebbero ora essere visualizzate correttamente:

inserisci qui la descrizione dell'immagine


Fonte: https://bugs.launchpad.net/unity-2d/+bug/702452


Posso confermare che questo funziona anche con le applicazioni PlayOnLinux su Ubuntu 12.04
TIIUNDER,

3
Dovrei chiarire che dovrebbe essere solo il nome dell'eseguibile , non il percorso completo, nessuna citazione o qualcosa in più di quel tipo.
Giona,

1
Posso confermare che ha funzionato con Ubuntu 13.10. @Jonah Puoi per favore modificare la tua risposta e aggiungere quel piccolo dettaglio perché è davvero importante :)
Linux Linux

1
@thelinuxer Sono contento che la risposta ti abbia aiutato. Ho modificato la parte indicata da Giona.
Glutanimate,

3
Ecco la mia variante, funziona per 14.04: se è disponibile, seleziona "crea collegamento sul desktop" nel programma di installazione dell'app. Quindi sposta questo collegamento in / usr / share / applicazioni e aggiungi la riga StartupWMClass = XXX.exe (ad esempio utilizzando gksudo gedit XXX.desktop)
Dominic Comtois,

7
  1. Qui puoi trovare le tue icone o posizionare qui le tue icone personalizzate:

    $ cd ~/.local/share/icons/hicolor/256x256/apps/
    $ ls
    1DF1_PicasaPhotoViewer.0.png
    .
    .
    .
    29F5_WINWORD.0.png
    850A_EXCEL.0.png
    AA79_POWERPNT.0.png
    
  2. Vai alla seguente directory:

    $ cd ~/.local/share/applications/wine/Programs/Microsoft\ Office
    $ ls
    Microsoft Excel 2010.desktop\
    Microsoft Office 2010 Tools\
    Microsoft PowerPoint 2010.desktop\
    Microsoft Word 2010.desktop\
    
  3. Modifica i file .desktop:

    $ sudo nano Microsoft\ Word\ 2010.desktop
    [Desktop Entry]
    Name=Microsoft Word 2010
    .
    .
    .
    Icon=29F5_WINWORD.0.png (or name of icon as in above folder)
    
  4. Hai fatto!


Hai idea del perché sono in grado di utilizzare l'icona esistente di Word nella Iconcartella, ma non qualcosa che ho inserito in quella cartella, da utilizzare nel mio file .desktop?
Heisenberg il

Non importa. Sembra che l'icona debba essere .png invece di jpg?
Heisenberg il

2

Esistono diversi bug registrati su questo problema.

In uno dei bug (post 3) , qualcuno ha segnalato una possibile soluzione alternativa. Tuttavia, altri due post sotto quella nota che non sempre funziona.


1

Non sto usando Unity, quindi non so davvero se funzionerà.

Il problema potrebbe essere dovuto al programma di avvio. Presumo che il tuo file .desktop contenga Exec=wine '/home/user/.wine/dosdevices/c:/Program...'e così via. Prova a creare un binario bash che contiene qualcosa del genere:

#!/bin/bash
cd '/home/aldomann/.wine/dosdevices/c:/Archivos de programa/Warcraft II BNE'
wine 'Warcraft II BNE.exe'

Denominalo per esempio warcraft2e spostalo su /usr/bin(o su qualsiasi variabile PATH, che puoi sapere digitando echo $PATHsul Terminale)

Quindi nel tuo file .desktop invece di Exec=wine '...'usarlo Exec=warcraft2. Penso che Unity supporrà che questo non sia un programma sul vino e userà la tua icona, ma è solo una congettura.

Spero funzioni ;)

Per impostazione predefinita, le tue app Wine .desktopssono inserite/home/user/.local/share/applications/wine

Invece di modificare un .desktopfile esistente è possibile crearne uno nuovo e posizionarlo /home/user/.local/share/applications. Dovrebbe essere qualcosa del genere:

[Desktop Entry]
Name=Application
Comment=Comment
Exec=app-binary
Icon=app-icon
Type=Application
Terminal=false
StartupNotify=true
Categories=GTK;Utility

Suggerimento: se posizioni l'icona /home/user/.icons/(ad es. App-icon.png) dovrai solo metterlo Icon=app-icon.


Non sono sicuro di come trovare il file .desktop per provare.
zorkerz,

Dovrebbe essere su /home/user/.local/share/applications/wine
Alfredo Hernández,

0

Ho scritto uno script per risolvere questo e altri problemi con MSO in Unity. https://ubuntulogia.wordpress.com/2015/01/25/fix_mso_unity/ Funziona per me, ma qualsiasi suggerimento è il benvenuto. Se qualcuno lo prova e ha riscontrato dei miglioramenti, per favore condividilo con me. Per eseguire lo script, è necessario copiare il codice in un file di testo (usando gedit, ad esempio) e salvarlo. Quindi, è necessario eseguirlo utilizzando "sh". Ad esempio, se si salva il file nella cartella Home come "fixmso.sh", il comando per eseguire lo script è: sh fixmso.sh


0

Puoi farlo semplicemente sulla GUI con un programma chiamato alacratz. Ecco una procedura piuttosto semplice. Il capitolo in basso è ciò che stai cercando http://develop.alpdesigns.ch/pages/linux/add_exe_program_to_linux.html


La semplice pubblicazione di un collegamento non è utile quanto il riepilogo dei passaggi inclusi nel collegamento. Ci piace che i nostri utenti siano in grado di risolvere i problemi senza dover fare clic.

-1

Utilizzare Alacarte (il vecchio editor di menu, potrebbe essere necessario installarlo) per creare una voce di menu vecchio stile con un'icona e un eseguibile che avvia il programma. Quindi cerca questo tramite alt + F2 e appuntalo al launcher.


-1

Puoi facilmente cambiare qualsiasi programma installato nel tuo Ubuntu usando "Menu principale" (il nome del pacchetto è "alacarte"). Puoi scaricarlo da Software Center digitando "Menu principale" e quindi:

inserisci qui la descrizione dell'immagine

  1. Esegui il programma "Menu principale".
  2. Dal pannello di destra chiamato "Menu" trova il tuo programma (in questo caso si trova nel nodo "Vino") e selezionalo nel pannello "Articoli".
  3. Fai clic sul pulsante Proprietà.
  4. Dalla finestra di dialogo mostrata selezionare il pulsante icona che si trova in alto a sinistra.
  5. Infine, sfoglia la posizione della tua nuova icona nel tuo file system.

Dopo aver eseguito i passaggi precedenti, vedrai la tua nuova icona nel pannello di avvio e nel pannello Unity.

Divertiti.


Saeed Non penso che tu capisca davvero la domanda. Certo, potrebbe essere possibile cambiare l'icona di qualsiasi programma come hai descritto, ma il punto è che Wine è un wrapper per un numero di programmi diversi , quindi è necessario cambiare l'icona a seconda del programma reale in esecuzione. Descrivi un modo per cambiare l'icona di Wine, non il programma sottostante.

Tuttavia, Alacarte può essere utilizzato proprio per questo (devi solo inserire wine your_program nel campo eseguibile).
sup

-1

Ho avuto lo stesso problema, e ho scoperto che era perché ho messo i file di collegamento (che PlayOnLinux posiziona sul desktop) in una cartella separata. Li ho estratti dalla cartella e li ho messi sul desktop e funziona benissimo (l'icona viene visualizzata). Spero che sia di aiuto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.