Wymuś otwieranie pliku w określonej aplikacji (rozszerzenia, takie jak .exe, .jpg, .mp4…)

13

Przeczytałem już pytanie dotyczące tworzenia plików .desktop do użycia na karcie „Otwórz za pomocą innej aplikacji”, ale nie tego chcę, chcę móc kliknąć plik w Dash lub w Nautilusie i móc otworzyć z określoną aplikacją.

Na przykład mam teraz tę sprawę:

Po kliknięciu pliku EXE nie jest on uruchamiany przez Wine, zamiast tego otrzymuję:

wprowadź opis zdjęcia tutaj

Jeśli spróbuję poszukać Wine w opcji menu kontekstowego Otwórz za pomocą , jest tam. Mogę wykonać to od razu za pierwszym razem, ale potem następujące razy Wine nie pojawia się wybrane w głównym menu kontekstowym:

wprowadź opis zdjęcia tutaj

Następnie poszedłem do Właściwości do zakładki Otwórz za pomocą, aby poszukać Wine. Nie było go w aplikacjach domyślnych ani w zalecanych, kiedy kliknąłem i wyszukałem Pokaż inne aplikacje

wprowadź opis zdjęcia tutaj

Nie jest to ograniczone do rozszerzeń EXE. Stało się tak również z plikami MKV, MP4, JPG, PNG, MP3, a nawet SVG i CSS. Więc zamiast próbować znaleźć sposób rozwiązania tego problemu, chcę sposób, który można zrobić dla dowolnego rodzaju rozszerzenia, które może:

  • Ustaw aplikację jako domyślną dla tego rozszerzenia
  • Pojawiają się w menu kontekstowym w Nautilusie po kliknięciu pliku prawym przyciskiem myszy
  • Pojawia się na karcie „Otwórz za pomocą” w oknie właściwości pliku
  • Prawidłowo uruchamia określoną aplikację po kliknięciu pliku za pomocą Dash

Może to zabrzmieć, jakby aplikacja mogła uruchomić plik, ale nie zawsze tak działa. Więc w przypadkach, w których tak naprawdę nie działa, jak to naprawić. Zresetować rozszerzenie ?, Aktualizacja plików, które można otworzyć wspomniane rozszerzenie ?, dodanie aplikacji za pomocą wiersza polecenia lub narzędzia GUI?

Luis Alvarado
źródło
Spójrz na askubuntu.com/a/189284/41499 używa Ubuntu Tweak
Gerhard Burger
Daj mi chwilę na przetestowanie. Chociaż szukałem sposobu, w którym nie trzeba instalować PPA. Coś na przykład, co było już w Ubuntu.
Luis Alvarado,
Czy możesz dodać to jako odpowiedź, przynajmniej dopóki nie pojawi się opcja „Ubuntu-ish”. To zmienia aplikację dla rozszerzenia, ale mam przypadek, w którym nie ma internetu.
Luis Alvarado,
Czuję się źle, gdy go kopiuję, czy powinienem po prostu skopiować mój komentarz do odpowiedzi? Byłoby miło zobaczyć, co naprawdę robi Ubuntu Tweak, tworzy dodatkowe pliki na pulpicie, ale nie wiem, czy robi coś dodatkowego ...
Gerhard Burger
Znaleziono lepszą, bardziej „Ubuntu-ish”;)
Gerhard Burger

Odpowiedzi:

16

Możesz użyć polecenia mimeopen, w terminalu przejdź do folderu, w którym znajduje się plik .exe i wpisz

mimeopen -d filename.exe

Pojawi się wyskakujące menu, w którym można zobaczyć niektóre opcje, ale jest też opcja „Inne ...”, wybierz tę, a następnie wpisz polecenie, którego chcesz użyć, jeśli chcesz otworzyć plik w terminalu i zastąpić nazwa pliku z %f. Więc w tym przypadku napiszesz wine %f.

Teraz domyślne skojarzenie wszystkich plików exe powinno zostać zmienione na wine.

Alternatywnie, użycie Ubuntu-Tweak jak opisano w Zmiana wszystkich powiązań z gedit na inną aplikację zmieni również domyślną skojarzoną aplikację.

Gerhard Burger
źródło
1
Świetna odpowiedź. Użyłem tego samego podejścia do .mp4, aby zmienić odtwarzacz wideo.
Starszy Geek
Użycie mimeopen jest w porządku, jeśli chcesz użyć / utworzyć niestandardowe polecenie, ale jeśli chcesz ustawić aplikację jako domyślną dla typu mimetalnego, to r. kliknij> właściwości> otwórz za pomocą> wybierz aplikację> kliknij Set as defaultprzycisk lepiej.
doug
2
@doug masz rację, ale pytanie dotyczy tego, co zrobić, jeśli aplikacji nie ma na tej liście (co zdarza się często).
Gerhard Burger,
Jak zrobić ten proces w jednej linii? Mam skrypt i chcę ustawić .exe na wine %f, .vlc na vlc %f etc ... Czy można to zrobić w skrypcie bash? dzięki
Ugo Hed
Czytanie strony podręcznika ( man.cx/mimeopen ) Niestety nie mogę.
Gerhard Burger,