Alterar ícone do aplicativo Wine no Unity Launcher

21

Eu frequentemente corro um programa do Windows com vinho. Quando abro este programa, ele aparece no lançador da unidade como vinho, em vez do programa aberto real.

Eu criei um iniciador de área de trabalho com o ícone certo, mas arrastá-lo para o iniciador de unidade reverte o ícone novamente para o ícone do copo de vinho. Ao iniciar o aplicativo, ele é denominado como Wine Windows Program Loader, em vez de seu nome real.

Captura de tela:

insira a descrição da imagem aqui

zorkerz
fonte

Respostas:

26

Solução alternativa no Ubuntu 12.04 LTS e superior


Nota

Esta solução alternativa requer um iniciador funcional para seu aplicativo Wine. Aqui está um tutorial sobre como criar um . A solução alternativa também se aplica a aplicativos instalados com scripts do PlayOnLinux. Versões mais recentes do PlayOnLinux adicionam automaticamente a StartupWMClasslinha ao seu iniciador.

Instruções

Abra seu .desktopiniciador no seu editor de texto favorito e acrescente esta linha ao arquivo:

StartupWMClass=application.exe

onde application.exeé o nome base do executável que você deseja iniciar no Wine.

Não use o caminho completo, apenas o nome da base. E certifique-se de que não esteja entre aspas (uma regra geral que você deve seguir com os arquivos da área de trabalho).

Resultado

Os ícones e descrições de aplicativos devem ser renderizados corretamente agora:

insira a descrição da imagem aqui


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

Glutanimado
fonte
Posso confirmar que isso também funciona com os aplicativos PlayOnLinux no Ubuntu 12.04
TIIUNDER 02/02
3
Devo esclarecer que deve ser apenas o nome do executável , não o caminho completo, nenhuma citação ou qualquer coisa extra desse tipo.
Jonah
11
Posso confirmar que isso funcionou com o Ubuntu 13.10. @Jonah por favor você pode editar sua resposta e adicionar esse pequeno detalhe porque é realmente importante :)
thelinuxer
11
@thelinuxer Fico feliz que a resposta tenha ajudado. Eu editei a parte que Jonah apontou.
Glutanimate
3
Aqui está minha variação, funciona para 14.04: se estiver disponível, selecione "criar atalho na área de trabalho" no instalador do aplicativo. Em seguida, passar este atalho para / usr / share / applications, e adicione a linha StartupWMClass = xxx.exe a ele (por exemplo, usando gksudo gedit XXX.desktop)
Dominic Comtois
7
  1. É aqui que você encontra seus ícones ou coloca seus ícones personalizados aqui:

    $ 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. Vá para o seguinte diretório:

    $ 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. Edite arquivos .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. Você terminou!

Deepak
fonte
Você tem alguma idéia de por que posso usar o ícone existente do Word na Iconpasta, mas não algo que eu mesmo coloquei nessa pasta, para usar no meu arquivo .desktop?
precisa
Deixa pra lá. Parece que o ícone deve ser .png em vez de jpg?
precisa
2

Existem vários erros registrados sobre esse problema.

Em um dos erros (pós 3) , alguém relatou uma possível solução alternativa. No entanto, mais dois posts abaixo dessa nota que nem sempre funcionam.

liberdade de expressão
fonte
1

Não estou usando o Unity, então realmente não sei se funcionará.

Seu problema pode ser devido ao iniciador do programa. Presumo que seu arquivo .desktop contenha Exec=wine '/home/user/.wine/dosdevices/c:/Program...'e assim por diante. Tente criar um binário bash que contenha algo como isto:

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

Nomeie-o, por exemplo, warcraft2e mova-o para /usr/bin(ou qualquer variável PATH, que você possa saber digitando echo $PATHno Terminal)

Em seguida, no seu arquivo .desktop, em vez de Exec=wine '...'usar Exec=warcraft2. Acho que o Unity assumirá que este não é um programa de vinhos e usará seu ícone, mas é apenas uma conjectura.

Espero que funcione ;)

Por padrão, seus aplicativos Wine .desktopssão colocados em/home/user/.local/share/applications/wine

Em vez de modificar um .desktoparquivo existente, você pode criar um novo e colocá-lo /home/user/.local/share/applications. Deve ser algo como isto:

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

Dica: Se você colocar seu ícone em /home/user/.icons/(por exemplo, app-icon.png), precisará apenas colocar Icon=app-icon.

Alfredo Hernández
fonte
Não sei como encontrar o arquivo .desktop para testar isso.
Zorkerz
Ele deve estar em /home/user/.local/share/applications/wine
Alfredo Hernández
0

Eu escrevi um script para corrigir esse e outros problemas com o MSO no Unity. https://ubuntulogia.wordpress.com/2015/01/25/fix_mso_unity/ Funciona para mim, mas todas as sugestões são bem-vindas. Se alguém testá-lo e encontrou melhorias, compartilhe-o comigo. Para executar o script, você deve copiar o código em um arquivo de texto (usando o gedit, por exemplo) e salvá-lo. Em seguida, você deve executá-lo usando "sh". Por exemplo, se você salvar o arquivo na sua pasta Home como "fixmso.sh", o comando para executar o script é: sh fixmso.sh

Goghard
fonte
0

Você pode fazer isso simplesmente na GUI com um programa chamado alacratz. Aqui está um tutorial bem simples. Capítulo inferior é o que você está procurando http://develop.alpdesigns.ch/pages/linux/add_exe_program_to_linux.html

John
fonte
A simples publicação de um link não é tão útil quanto resumir as etapas incluídas no link. Nós gostamos de nossos usuários para ser capaz de resolver os problemas sem ter que clicar fora.
-1

Use o Alacarte (o antigo editor de menus, talvez seja necessário instalá-lo) para criar uma entrada de menu no estilo antigo com um ícone e um executável que inicie o seu programa. Em seguida, pesquise por alt + F2 e fixe-o no iniciador.

sup
fonte
-1

Você pode alterar facilmente qualquer programa instalado no seu Ubuntu usando o "Menu Principal" (o nome do pacote é "alacarte"). Você pode baixá-lo no Software Center, digitando "Menu Principal" e depois:

insira a descrição da imagem aqui

  1. Execute o programa "Main Menu".
  2. No painel direito, chamado "Menus", encontre seu programa (nesse caso, ele está no nó "Wine") e selecione-o no painel "Items".
  3. Clique no botão de propriedades.
  4. Na caixa de diálogo exibida, selecione o botão do ícone localizado no canto superior esquerdo.
  5. Por fim, procure a localização do seu novo ícone no seu sistema de arquivos.

Depois de executar as etapas acima, você verá seu novo ícone no iniciador e no painel do Unity.

Divirta-se.

Saeed Zarinfam
fonte
Saeed: Não acho que você realmente entenda a pergunta. Claro que pode ser possível alterar o ícone de qualquer programa, como você descreveu, mas o ponto é que o Wine é um invólucro para vários programas diferentes - portanto, é necessário alterar o ícone, dependendo do programa em execução. Você descreve uma maneira de alterar o ícone do Wine - não o programa subjacente.
No entanto, o Alacarte pode ser usado justamente para isso (você só precisa colocar o vinho your_program no campo executável).
sup
-1

Eu tive o mesmo problema e descobri que foi porque coloquei os arquivos de atalho (que o PlayOnLinux coloca na área de trabalho) em uma pasta separada. Tirei-os da pasta e os coloquei na área de trabalho e ele funciona bem (o ícone é exibido). Espero que isto ajude!

user2420837
fonte