Как показать все приложения при выборе приложения для открытия файла?

Я пытаюсь открыть файл неизвестного типа (Pokemon Gold.gbc). Я дважды щелкаю по нему и получаю сообщение «Не удалось отобразить» / home / josh / Downloads / Pokemon ROMS / Pokemon Gold.gbc '. Файл неизвестного типа. " Я нажимаю «Выбрать приложение», а затем «Показать другие приложения». Однако, не все мои приложения перечислены там, и ни одно из них мне не нужно (VBA-M [имя пакета vbam-gtk]). Как заставить все мои установленные приложения отображаться в этом меню, чтобы мне не нужно было открывать файл из нужной программы, я могу просто запустить его, дважды щелкнув файл в nautilus?

Обновить : Я обнаружил, что приложение может быть запущено из

/usr/bin/vbam

или из

/usr/share/applications/VBA-M

или из командной строки:

gvbam

Дополнительные сведения: я установил это пакет из файла .deb, который я получил из Sourceforge, а не из репозиториев (эмулятор GameBoy в репозиториях не является удовлетворительным).

Так есть ли хотя бы способ выбрать исполняемый файл для открытия неизвестного файла?

Обновление 2:

Я попробовал все в первом ответе ниже, чтобы нет помогло. В качестве временного исправления я изменил расширение файла с .gbc на .gb, и пока все работает нормально. Однако я не хочу оставаться таким, поскольку не знаю, вызовет ли это какие-либо проблемы.

4
задан 29 January 2013 в 06:16

1 ответ

Решение:

В терминале запустите gedit ~/.local/share/applications/mimeapps.list. В открывшемся текстовом документе добавьте строку application/octet-stream=gvbam.desktop; под «[Added Associates]», которая должна быть вверху. Это должно заставить файлы .gbc, которые Ubuntu распознает как потоки октетов, открываться с использованием VBA-M.

Вы также должны указать VBA-M загрузить ROM при запуске, выполнив следующие шаги:

  • В терминале запустите gksudo gedit /usr/share/applications/gvbam.desktop
  • В файле, который откройте, замените Exec=gvbam на Exec=gvbam %U

После этого вам нужно будет запустить sudo update-desktop-database в терминале, чтобы «применить» изменения.

Если вы щелкнете «Открыть с помощью другого приложения ...» в контекстном меню и нажмете «Показать другие приложения», VBA-M теперь должен появиться в списке, и игра должна открыться правильно.

Если файл не распознается как GameBoy Color Rom или не открывается, переименуйте расширение. Например, если расширение - «.gbc» (то есть GameBoy Color), переименование его в «.gb» (т.е. GameBoy) должно сделать его распознаваемым как GameBoy Rom.


Как я пришел к своему выводу

В терминале запустите gksudo gedit /usr/share/applications/gvbam.desktop. В строке «Exec = gvbam» добавьте %U впоследствии. Таким образом, в конце концов, должна быть целая строка Exec=gvbam %U.

В то время как этот действительно добавил VBA-M в список «Другие приложения» (и, следовательно, позволил мне установить VBA-M в качестве программы по умолчанию для .gbc), игра фактически не запускается; на самом деле окно VBA-M полностью не отображается нигде. Я думаю, что это из-за того, как в настоящее время работает VBA-M; в терминале я запустил gvbam "Pokemon Gold.gbc", и он выдал следующую ошибку:

The program 'gvbam' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
  (Details: serial 474 error_code 11 request_code 154 minor_code 3)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Для дальнейшего тестирования я загрузил другой диск и выбрал The Legend of Zelda: ссылка на Прошлое . Уже выполнив приведенные выше инструкции по добавлению VBA-M в список приложений, я выбрал его по умолчанию для игры Zelda, которая была файлом .gba; игра загружена нормально. В свойствах файлов я заметил, что тип .gbc был unknown (application/octet-stream), а тип .gba - Game Boy Advance ROM (application/x-gba-rom); очевидно, чего-то еще не хватало в ассоциации с GameBoy Color, чего не было и с игрой GameBoy Advance.

Я попытался добавить gbc как связанный тип файла с application/octet-stream, и это, похоже, решило проблему с открытием файла .gbc. Однако затем я удалил его и снова попытался открыть .gbc, и он все еще работал; Я не уверен, что я сделал, но теперь это работает.


Оригинальный ответ

Это вызвало недовольство, поэтому, поскольку кто-то решил, что это хорошо, я оставляю это здесь для всех, кому это нужно. При этом вышеизложенная информация, вероятно, больше относится к этому вопросу.

Для начала вы должны быть уверены, что тип MIME для вашего расширения файла еще не существует. Откройте терминал и введите:

  • grep 'gbc' /etc/mime.types

Если не было выходных данных или если данный вывод не включал ваше расширение, вы должны добавить тип MIME.

В терминале откройте файл mime.types, запустив gksudo gedit /etc/mime.types. В этом файле добавьте следующую строку в раздел «application»:

application / gbc gbc

Между двумя gbc должны быть дополнительные пробелы - просто сделайте обязательно выровняйте второй gbc с другими расширениями. Я бы показал, но я не уверен, как это сделать на Askubuntu.


Источники:

0
ответ дан 29 January 2013 в 06:16

Другие вопросы по тегам:

Похожие вопросы: