Como alguém mostra todos os aplicativos ao escolher um aplicativo para abrir um arquivo?

4

Estou tentando abrir um arquivo de um tipo desconhecido (Pokemon Gold.gbc). Eu duplo clique nele e recebo a mensagem "Não foi possível exibir '/ home / josh / Downloads / Pokemon ROMS / Pokemon Gold.gbc'. O arquivo é de um tipo desconhecido." Clico em "Selecionar aplicativo" e depois "Mostrar outros aplicativos". No entanto, nem todos os meus aplicativos estão listados lá, e nenhum deles é o que eu quero (VBA-M [nome do pacote vbam-gtk]). Como posso obter todos os meus aplicativos instalados para mostrar neste menu para que eu não precise abrir o arquivo do programa desejado, posso apenas iniciá-lo clicando duas vezes no arquivo no nautilus?

Atualização: descobri que o aplicativo pode ser iniciado de

/usr/bin/vbam

ou de

/usr/share/applications/VBA-M

ou linha de comando:

gvbam

Detalhes adicionais: Instalei este pacote a partir de um arquivo .deb que obtive do Sourceforge, não dos repositórios (o emulador GameBoy nos repositórios não é satisfatório).

Então, há pelo menos uma maneira que eu possa selecionar o arquivo executável para abrir o arquivo desconhecido com?

Atualização 2:

Eu tentei de tudo na primeira resposta abaixo sem sucesso. Como uma correção temporária, mudei a extensão do arquivo de .gbc para .gb e até agora tudo parece estar funcionando bem. No entanto, não quero ficar assim, pois não sei se isso causará algum problema.

    
por Josh 07.01.2013 / 03:58

1 resposta

2

Solução:

No terminal, execute gedit ~/.local/share/applications/mimeapps.list . No documento de texto aberto, adicione a linha application/octet-stream=gvbam.desktop; por baixo de "[Associados adicionados]", que deve estar no topo. Isso deve forçar os arquivos .gbc, que o Ubuntu reconhece como octetos-córregos, a serem abertos usando o VBA-M.

Você também terá que dizer ao VBA-M para carregar uma rom ao iniciar usando as seguintes etapas:

  • No terminal, execute gksudo gedit /usr/share/applications/gvbam.desktop
  • No arquivo que é aberto, substitua Exec=gvbam por Exec=gvbam %U

Depois disso, você precisará executar sudo update-desktop-database no terminal para "aplicar" as edições.

Quando você clica em "Abrir com outro aplicativo ..." no menu do botão direito e clica em "Mostrar outros aplicativos", o VBA-M deve agora estar na lista e o jogo deve abrir corretamente.

Se o arquivo não for reconhecido como um GameBoy Color Rom ou não estiver abrindo, renomeie a extensão. Por exemplo, se a extensão for ".gbc" (ou seja, GameBoy Color), renomeá-la como ".gb" (ou seja, GameBoy) deve torná-la reconhecida como um GameBoy Rom.

Como cheguei a minha conclusão

No terminal, execute gksudo gedit /usr/share/applications/gvbam.desktop . Na linha "Exec = gvbam", adicione %U depois. Então, no final, a linha inteira deve ser Exec=gvbam %U .

Enquanto isso fez adicionar o VBA-M à lista "Other Applications", (e assim permitir que eu configure o VBA-M como o programa padrão para .gbc's) o jogo não roda ; na verdade, a janela do VBA-M falha completamente em aparecer em qualquer lugar. Eu acho que isso é por causa de como o VBA-M atualmente funciona; em um terminal, eu corri gvbam "Pokemon Gold.gbc" , e ele jogou o seguinte erro:

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.)

Para testar isso, baixei outra rom e escolhi The Legend of Zelda: um link para o passado . Tendo já feito as instruções acima para adicionar o VBA-M à lista de aplicativos, escolhi-o como padrão para o jogo Zelda, que era um arquivo .gba; o jogo carregado bem. Notei que nas propriedades dos arquivos, o tipo .gbc era unknown (application/octet-stream) , enquanto o tipo .gba era Game Boy Advance ROM (application/x-gba-rom) ; obviamente, algo mais estava faltando na associação de roms GameBoy Color, que não estava faltando com roms GameBoy Advance.

Eu tentei adicionar gbc como um tipo de arquivo associado com application/octet-stream , e isso pareceu corrigir o problema de o arquivo .gbc não abrir. No entanto, eu o removi e tentei abrir o .gbc novamente, e ele ainda funcionava; Não tenho certeza do que fiz, mas agora funciona.

Resposta Original

Isto tem um upvote, então desde que alguém pensou que isso era bom, eu estou deixando aqui para qualquer outra pessoa que se importe. Dito isto, a informação acima é provavelmente mais relevante para a questão.

Para começar, você deve ter certeza de que o tipo MIME para sua extensão de arquivo ainda não existe. Abra um terminal e digite:

  • grep 'gbc' /etc/mime.types

Se não houver saída, ou a saída fornecida não incluir sua extensão, você deverá adicionar um tipo MIME.

Em um terminal, abra o arquivo mime.types executando gksudo gedit /etc/mime.types . Nesse arquivo, adicione a seguinte linha à seção "aplicativo":

  

application / gbc gbc

Deveria haver espaços adicionais entre os dois gbc's - apenas certifique-se de alinhar o segundo gbc com as outras extensões. Eu mostraria, mas não sei como fazer isso no askubuntu.

Fontes:

por DaimyoKirby 09.01.2013 / 01:45