Właściwie chcę zadać dwa pytania:
Gdzie mogę znaleźć więcej informacji o dostępnych skrótach argumentów / parametrów dla wpisu Exec w plikach pulpitu (takich jak% U,% u,% f ...)
Główne pytanie, jak przekazać plik jako argument w programie uruchamiającym .desktop dla aplikacji Wine?
Znalazłem szukanie tutaj tej sugestii: z:%f
co mi się nie przydaje, tak jakbym po prostu uruchomił plik .desktop bez przekazywania pliku, zakłada, że argument jest, z:
i rozpoczyna skanowanie z:
„dysku”
Przykład:
[Desktop Entry]
Name=Some Windows program
Exec=wine "program.exe" z:%f
Type=Application
Terminal=false
MimeType=application/docbook+xml
Chcę upuścić plik XML na moim niestandardowym programie uruchamiającym .desktop dla tej aplikacji do wina i mogę to zrobić w ten sposób. Problem polega na tym, że jeśli kliknę ikonę programu uruchamiającego, aby wywołać ten program, argument z:
jest zawsze przekazywany i jest to nie do przyjęcia
z:%f
obejście nie jest dobre, ponieważ za każdym razem, gdy uruchamiam ten argumentz:
dotyczący wina, przekazywany jest na niego argument i chcę tego uniknąćapplication.exe
Że chcesz przekazać do niego aktualnie wybrany plik w nautilus, tj.file.txt
?exec
linii, który sprawdza%f
, czy istnieje, uruchom aplikację na pliku, jeśli nie, po prostu uruchom aplikację. Zależy ci na tym, czy to nie jest opcja?Odpowiedzi:
To jest najlepsze, co do tej pory (przykład Notatnika)
Oczekuję lepszych odpowiedzi, biorąc pod uwagę, że jestem początkujący
źródło
W przypadku pierwszego pytania możesz zapoznać się ze specyfikacją wpisu na pulpicie -
Exec
kluczźródło
Poprawa odpowiedzi Zetah. Działa to w przypadku przekazywania wielu plików do programu. % F jest zmieniany na% F (wielkie litery), aby przekazać wszystkie upuszczone pliki, zastępując ^ (na początku wiersza) wystarczającą liczbą ścieżek, aby bardziej prawdopodobne, że będzie unikalny, na końcu „g” polecenia sed, aby spowodować powtórzenie zamiany dla wszystkich przekazanych plików i wreszcie $ zamiast /, aby znaki ucieczki \ nie były konieczne.
Przeniosłem również program do uruchomienia na ścieżkę, w której nazwa ścieżki nie ma spacji, więc przeniosłem mój edytor bokserów z:
do:
źródło
W tym wątku było wiele hackerskich rozwiązań. Oto znacznie lepsze rozwiązanie dotyczące wielu plików i spacji w nazwach plików.
Utwórz plik .desktop jak zwykle i po prostu użyj tego wiersza Exec:
Edycja : Jeśli Twoja aplikacja obsługuje wiele plików w jednym wystąpieniu (na przykład przeglądarkę PDF z wieloma kartami) i chcesz, aby bieżące wystąpienie było automatycznie ustawiane automatycznie za każdym razem, gdy uruchamiasz nowy plik, musisz wykonać następujące czynności:
Dodaj tę linię do pliku .desktop:
StartupWMClass=app.exe
Użyj tego polecenia Exec:
źródło
Linia Exec z potokiem winepath do xargs, używana z odpowiednim cytowaniem i ich opcjami -0, działa bezbłędnie w Ubuntu 14.04 do otwierania pojedynczych i wielu plików.
źródło
Tak właśnie działało dla mnie RHEL 6.3 po kilku próbach i błędach oraz po przeczytaniu specyfikacji wpisu na pulpicie. Nie jest specyficzne dla wina z argumentami, ale powinno działać z czymś takim
Exec=wine \"filename.exe\"
.Mam nadzieję, że to pomaga komuś, ponieważ zajęło mi trochę poszukiwań, aby go uruchomić.
Myślę, że musisz użyć podwójnych cudzysłowów i uciec od nich, a także znaków specjalnych za pomocą odwrotnego ukośnika.
źródło
Właśnie napisałem mały skrypt Pythona, który konwertuje ścieżki w stylu uniksowym na format ścieżki Wine.
Pobierz zip , rozpakuj wine-launcher.py do swojego folderu domowego i edytuj plik .desktop w następujący sposób:
źródło