Cambiar icono de la aplicación Wine en Unity Launcher

21

Frecuentemente ejecuto un programa de Windows con wine. Cuando abro este programa, aparece en el lanzador de la unidad como vino en lugar del programa abierto real.

He creado un iniciador de escritorio con el ícono correcto, pero al arrastrarlo al iniciador de la unidad, el ícono vuelve al ícono de la copa de vino. Al iniciar la aplicación, se denomina Wine Windows Program Loader en lugar de su nombre real.

Captura de pantalla:

ingrese la descripción de la imagen aquí

zorkerz
fuente

Respuestas:

26

Solución alternativa en Ubuntu 12.04 LTS y superior


Nota

Esta solución requiere un iniciador que funcione para su aplicación Wine. Aquí hay un tutorial sobre cómo crear uno . La solución también se aplica a las aplicaciones instaladas con scripts de PlayOnLinux. Las versiones más recientes de PlayOnLinux agregan automáticamente la StartupWMClasslínea a su lanzador.

Instrucciones

Abra su .desktoplanzador en su editor de texto favorito y agregue esta línea al archivo:

StartupWMClass=application.exe

donde application.exeestá el nombre base del ejecutable que desea iniciar en Wine.

No use la ruta completa, solo el nombre base. Y asegúrese de que no esté citado (una regla general que debe seguir con los archivos de escritorio).

Resultado

Los íconos y las descripciones de las aplicaciones ahora deben mostrarse bien:

ingrese la descripción de la imagen aquí


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

Glutanimato
fuente
Puedo confirmar que esto también funciona con las aplicaciones PlayOnLinux en Ubuntu 12.04
TIIUNDER
3
Debo aclarar que debe ser solo el nombre del ejecutable , no la ruta completa, sin comillas ni nada extra de ese tipo.
Jonás
1
Puedo confirmar que esto funcionó con Ubuntu 13.10. @Jonah ¿Puedes editar tu respuesta y agregar ese pequeño detalle porque es realmente importante :)
thelinuxer
1
@thelinuxer Me alegra que la respuesta te haya ayudado. Edité la parte que Jonah señaló.
Glutanimate
3
Aquí está mi variación, funciona para 14.04: si está disponible, seleccione "crear acceso directo de escritorio" en el instalador de la aplicación. Luego mueva este acceso directo a / usr / share / aplicaciones, y agregue la línea StartupWMClass = XXX.exe (por ejemplo, usando gksudo gedit XXX.desktop)
Dominic Comtois
7
  1. Aquí es donde encontrará sus iconos o colocará sus iconos personalizados aquí:

    $ 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. Vaya al siguiente directorio:

    $ 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. Editar archivos .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. ¡Estás listo!

Deepak
fuente
¿Tiene alguna idea de por qué puedo usar el ícono existente de Word en la Iconcarpeta, pero no algo que puse en esa carpeta para usar en mi archivo .desktop?
Heisenberg
No importa. Parece que el icono debe ser .png en lugar de jpg?
Heisenberg
2

Hay varios errores registrados en este problema.

En uno de los errores (post 3) , alguien ha informado de una posible solución. Sin embargo, otras dos publicaciones más abajo indican que no siempre funciona.

fossfreedom
fuente
1

No estoy usando Unity, así que realmente no sé si funcionará.

Su problema podría deberse al iniciador del programa. Supongo que su archivo .desktop contiene Exec=wine '/home/user/.wine/dosdevices/c:/Program...'y así sucesivamente. Intenta hacer un binario bash que contenga algo como esto:

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

Póngale un nombre, por ejemplo, warcraft2y muévalo a /usr/bin(o cualquier variable PATH, que puede conocer escribiendo echo $PATHen la Terminal)

Luego en su archivo .desktop en lugar de Exec=wine '...'usar Exec=warcraft2. Creo que Unity asumirá que este no es un programa de vinos y usará su ícono, pero es solo una conjetura.

Espero que funcione ;)

Por defecto, sus aplicaciones Wine .desktopsse colocan en/home/user/.local/share/applications/wine

En lugar de modificar un .desktoparchivo existente , puede crear uno nuevo y colocarlo /home/user/.local/share/applications. Debería ser algo como esto:

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

Consejo: Si coloca su icono en /home/user/.icons/(es decir, app-icon.png) solo tendrá que colocarlo Icon=app-icon.

Alfredo Hernández
fuente
No estoy seguro de cómo encontrar el archivo .desktop para intentarlo.
zorkerz
Debería estar en /home/user/.local/share/applications/wine
Alfredo Hernández
0

He escrito un script para solucionar este y otros problemas con MSO en Unity. https://ubuntulogia.wordpress.com/2015/01/25/fix_mso_unity/ Funciona para mí, pero cualquier sugerencia es bienvenida. Si alguien lo prueba y encuentra alguna mejora, compártamela. Para ejecutar el script, debe copiar el código en un archivo de texto (usando gedit, por ejemplo) y guardarlo. Luego, debes ejecutarlo usando "sh". Por ejemplo, si guarda el archivo en su carpeta de inicio como "fixmso.sh", el comando para ejecutar el script es: sh fixmso.sh

Goghard
fuente
0

Puede hacerlo realmente simplemente a través de la GUI con un programa llamado alacratz. Aquí hay un tutorial bastante simple. El capítulo inferior es lo que estás buscando http://develop.alpdesigns.ch/pages/linux/add_exe_program_to_linux.html

John
fuente
Simplemente publicar un enlace no es tan útil como resumir los pasos incluidos en el enlace. Nos gusta que nuestros usuarios puedan resolver problemas sin tener que hacer clic.
-1

Use Alacarte (el antiguo editor de menús, puede que necesite instalarlo) para crear una entrada de menú de estilo antiguo con un icono y un archivo ejecutable que inicie su programa. Luego busque esto a través de alt + F2 y fíjelo al lanzador.

cenar
fuente
-1

Puede cambiar fácilmente cualquier programa instalado en su Ubuntu usando "Menú principal" (el nombre del paquete es "alacarte"). Puede descargarlo desde el Centro de software escribiendo "Menú principal" y luego:

ingrese la descripción de la imagen aquí

  1. Ejecute el programa "Menú principal".
  2. Desde el panel derecho llamado "Menús", encuentre su programa (en este caso está en el nodo "Vino") y selecciónelo en el panel "Elementos".
  3. Haga clic en el botón de propiedades.
  4. Desde el diálogo mostrado, seleccione el botón de icono que se encuentra en la esquina superior izquierda.
  5. Finalmente, busque la ubicación de su nuevo icono en su sistema de archivos.

Después de realizar los pasos anteriores, verá su nuevo icono en el lanzador y el panel de Unity.

Pasar un buen rato.

Saeed Zarinfam
fuente
Saeed, no creo que realmente entiendas la pregunta. Claro que es posible cambiar el ícono de cualquier programa como lo ha descrito, pero el punto es que Wine es una envoltura para varios programas diferentes , por lo que uno debe cambiar el ícono dependiendo del programa real que se esté ejecutando. Describe una forma de cambiar el ícono de Wine, no el programa subyacente.
Sin embargo, Alacarte se puede usar solo para eso (solo necesita poner wine your_program en el campo ejecutable).
Sup
-1

Tuve el mismo problema, y ​​descubrí que era porque puse los archivos de acceso directo (que PlayOnLinux coloca en el Escritorio) en una carpeta separada. Los saqué de la carpeta y los puse en el escritorio y funciona bien (se muestra el icono). ¡Espero que esto ayude!

usuario2420837
fuente