Zmień ikonę aplikacji Wine w Unity Launcher

21

Często uruchamiam program Windows z winem. Kiedy otwieram ten program, pojawia się on w programie uruchamiającym Unity jako wino zamiast faktycznie otwartego programu.

Zrobiłem program uruchamiający na pulpicie z odpowiednią ikoną, ale przeciągnięcie go do programu uruchamiającego Unity przywraca ikonę z powrotem do ikony kieliszka do wina. Podczas uruchamiania aplikacji jest on nazywany programem ładującym program Windows dla wina zamiast faktycznej nazwy.

Zrzut ekranu:

wprowadź opis zdjęcia tutaj

zorkerz
źródło

Odpowiedzi:

26

Obejście problemu w systemie Ubuntu 12.04 LTS i nowszych


Uwaga

To obejście wymaga działającego programu uruchamiającego dla aplikacji Wine. Oto samouczek, jak go utworzyć . Obejście to dotyczy również aplikacji zainstalowanych ze skryptami PlayOnLinux. Nowsze wersje PlayOnLinux automatycznie dodają StartupWMClasslinię do swojego programu uruchamiającego.

Instrukcje

Otwórz program .desktopuruchamiający w swoim ulubionym edytorze tekstu i dołącz tę linię do pliku:

StartupWMClass=application.exe

gdzie application.exejest podstawową nazwą pliku wykonywalnego, który chcesz uruchomić w Wine.

Nie używaj pełnej ścieżki, tylko nazwę podstawową. I upewnij się, że nie jest cytowany (ogólna zasada, której należy przestrzegać w przypadku plików na pulpicie).

Wynik

Ikony i opisy aplikacji powinny być teraz dobrze renderowane:

wprowadź opis zdjęcia tutaj


Źródło: https://bugs.launchpad.net/unity-2d/+bug/702452

Glutanimate
źródło
Mogę potwierdzić, że działa to również z aplikacjami PlayOnLinux na Ubuntu 12.04
TIIUNDER
3
Powinienem wyjaśnić, że powinna to być tylko nazwa pliku wykonywalnego , a nie pełna ścieżka, bez cudzysłowu lub cokolwiek innego tego rodzaju.
Jonah
1
Mogę potwierdzić, że działało to z Ubuntu 13.10. @Jonah Czy możesz edytować swoją odpowiedź i dodać ten drobny szczegół, ponieważ jest to naprawdę ważne :)
thelinuxer,
1
@thelinuxer Cieszę się, że odpowiedź pomogła ci. Zredagowałem tę część, na którą zwrócił uwagę Jonasz.
Glutanimate,
3
Oto moja odmiana, działa dla 14.04: jeśli jest dostępna, wybierz „utwórz skrót na pulpicie” w instalatorze aplikacji. Następnie przenieś ten skrót do / usr / share / applications i dodaj do niego wiersz StartupWMClass = XXX.exe (na przykład używając gksudo gedit XXX.desktop)
Dominic Comtois
7
  1. Tutaj znajdziesz swoje ikony lub umieścisz tutaj własne ikony:

    $ 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. Przejdź do następującego katalogu:

    $ 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. Edytuj pliki .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. Gotowe!

Deepak
źródło
Czy masz pojęcie, dlaczego mogę użyć istniejącej ikony programu Word w Iconfolderze, ale nie czegoś, co sam umieściłem w tym folderze, do użycia w moim pliku .desktop?
Heisenberg,
Nieważne. Wygląda na to, że ikona musi być w formacie .png zamiast jpg?
Heisenberg
2

Istnieje kilka zarejestrowanych błędów dotyczących tego problemu.

W jednym z błędów (po 3) ktoś zgłosił możliwe obejście problemu. Jednak dwa kolejne posty poniżej tej notatki, że nie zawsze działa.

fossfreedom
źródło
1

Nie używam Unity, więc naprawdę nie wiem, czy to zadziała.

Problem może wynikać z uruchamiania programu. Zakładam, że plik .desktop zawiera Exec=wine '/home/user/.wine/dosdevices/c:/Program...'i tak dalej. Spróbuj utworzyć binarną wersję bash, która zawiera coś takiego:

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

Nazwij go na przykład warcraft2i przenieś do /usr/bin(lub dowolnej zmiennej PATH, którą możesz poznać, pisząc echo $PATHna terminalu)

Następnie w pliku .desktop zamiast Exec=wine '...'używać Exec=warcraft2. Myślę, że Unity przyjmie, że to nie jest program do wina i użyje twojej ikony, ale to tylko przypuszczenie.

Mam nadzieję, że to działa;)

Domyślnie twoje aplikacje Wine .desktops są umieszczone/home/user/.local/share/applications/wine

Zamiast modyfikować istniejący .desktopplik, możesz utworzyć nowy i umieścić go na /home/user/.local/share/applications. Powinno to być coś takiego:

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

Wskazówka: jeśli /home/user/.icons/umieścisz swoją ikonę na (tj. App-icon.png), będziesz musiał tylko umieścić Icon=app-icon.

Alfredo Hernández
źródło
Nie jestem pewien, jak znaleźć plik .desktop, aby spróbować.
zorkerz
Powinno być na /home/user/.local/share/applications/wine
Alfredo Hernández
0

Napisałem skrypt, aby rozwiązać ten i inne problemy z MSO w Unity. https://ubuntulogia.wordpress.com/2015/01/25/fix_mso_unity/ To działa dla mnie, ale wszelkie sugestie są mile widziane. Jeśli ktoś go przetestuje i znajdzie jakieś ulepszenia, proszę podziel się nim ze mną. Aby uruchomić skrypt, musisz skopiować kod do pliku tekstowego (na przykład za pomocą gedit) i zapisać go. Następnie musisz uruchomić go za pomocą „sh”. Na przykład, jeśli zapiszesz plik w folderze domowym jako „fixmso.sh”, polecenie uruchomienia skryptu to: sh fixmso.sh

Goghard
źródło
0

Możesz to zrobić naprawdę za pomocą GUI za pomocą programu o nazwie alacratz. Oto dość prosta instrukcja. Dolny rozdział jest tym, czego szukasz http://develop.alpdesigns.ch/pages/linux/add_exe_program_to_linux.html

Jan
źródło
Zwykłe opublikowanie linku nie jest tak pomocne jak podsumowanie kroków zawartych w linku. Lubimy, aby nasi użytkownicy mogli rozwiązywać problemy bez konieczności klikania.
-1

Użyj Alacarte (stary edytor menu, być może trzeba go zainstalować), aby utworzyć pozycję menu w starym stylu z ikoną i plikiem wykonywalnym, który uruchamia program. Następnie wyszukaj to za pomocą alt + F2 i przypnij do programu uruchamiającego.

łyk
źródło
-1

Możesz łatwo zmienić dowolny zainstalowany program w Ubuntu za pomocą „Menu głównego” (nazwa pakietu to „alacarte”). Możesz pobrać go z Centrum oprogramowania, wpisując „Menu główne”, a następnie:

wprowadź opis zdjęcia tutaj

  1. Uruchom program „Menu główne”.
  2. W prawym panelu o nazwie „Menu” znajdź swój program (w tym przypadku jest on w węźle „Wino”) i wybierz go w panelu „Elementy”.
  3. Kliknij przycisk właściwości.
  4. Z wyświetlonego okna dialogowego wybierz ikonę przycisku znajdującego się w lewym górnym rogu.
  5. Na koniec przejrzyj lokalizację swojej nowej ikony w systemie plików.

Po wykonaniu powyższych kroków zobaczysz nową ikonę w programie uruchamiającym i panelu Unity.

Baw się dobrze.

Saeed Zarinfam
źródło
Saeed Nie sądzę, że naprawdę rozumiesz pytanie. Na pewno można zmienić ikonę dowolnego programu zgodnie z opisem, ale chodzi o to, że Wine jest opakowaniem dla wielu różnych programów - więc należy zmienić ikonę w zależności od uruchomionego programu. Opisujesz sposób zmiany ikony Wine - nie program leżący u jej podstaw.
Jednak do tego można użyć Alacarte (wystarczy wstawić wine your_program w polu wykonywalnym).
sup
-1

Miałem ten sam problem i dowiedziałem się, że dlatego, że umieściłem pliki skrótów (które PlayOnLinux umieszcza na pulpicie) w osobnym folderze. Wyjąłem je z folderu i położyłem na pulpicie i działa dobrze (ikona jest wyświetlana). Mam nadzieję że to pomoże!

użytkownik2420837
źródło