web-dev-qa-db-ja.com

ファイルを開くアプリケーションを選択するときに、すべてのアプリケーションをどのように表示しますか?

不明な種類のファイル(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

その他の詳細:リポジトリからではなく、Sourceforgeから取得した.debファイルからこのパッケージをインストールしました(リポジトリ内のGameBoyエミュレーターでは満足できません)。

少なくとも、実行可能ファイルを選択して未知のファイルを開く方法はありますか?

アップデート2:

以下の最初の回答のすべてを試してみましたが、役に立ちませんでした。一時的な修正として、ファイル拡張子を.gbcから.gbに変更しましたが、これまでのところすべてが正常に機能しているようです。ただし、これが問題を引き起こすかどうかはわかりませんので、このままにしておきたくありません。

4
Josh

解決:

ターミナルで、gedit ~/.local/share/applications/mimeapps.listを実行します。開いたテキストドキュメントで、「[Added Associates]」の下にapplication/octet-stream=gvbam.desktop;という行を追加します。これにより、Ubuntuがオクテットストリームとして認識する.gbcファイルをVBA-Mを使用して強制的に開く必要があります。

また、次の手順を使用して、起動時にROMをロードするようVBA-Mに指示する必要があります。

  • ターミナルで、gksudo gedit /usr/share/applications/gvbam.desktopを実行します
  • 開いたファイルで、Exec=gvbamExec=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になります。

このdidは、VBA-Mを「その他のアプリケーション」リストに追加します(したがって、.gbcのデフォルトプログラムとしてVBA-Mを設定できます) )ゲームは実際には実行されません。実際、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.)

これをさらにテストするために、別のromをダウンロードし、The Legend of Zelda:A Link to the Pastを選択しました。アプリケーションリストにVBA-Mを追加するために上記の手順を既に実行したので、Zeldaゲームのデフォルトとしてそれを選択しました。これは.gbaファイルでした。ゲームは正常にロードされました。ファイルのプロパティで、.gbcのタイプはunknown (application/octet-stream)でしたが、.gbaのタイプはGame Boy Advance ROM (application/x-gba-rom)でした。明らかに、GameBoy Color ROMの関連付けには何か他のものが欠落していましたが、GameBoy Advance ROMでは欠落していませんでした。

gbcapplication/octet-streamに関連付けられたファイルタイプとして追加しようとしましたが、.gbcファイルが開かない問題を修正したようです。ただし、それを削除し、.gbcを再度開いてみましたが、まだ機能していました。私は何をしたのかわかりませんが、今ではうまくいきます。


元の回答

これは賛成票を受け取ったので、誰かがこれが良いと思ったので、気にする人のためにここに置いておきます。とはいえ、上記の情報はおそらく質問に関連性があります。

最初に、ファイル拡張子のMIMEタイプがまだ存在していないことを確認する必要があります。ターミナルを開き、次を入力します。

  • grep 'gbc' /etc/mime.types

出力がなかった場合、または指定された出力に拡張子が含まれていない場合は、MIMEタイプを追加する必要があります。

ターミナルで、gksudo gedit /etc/mime.typesを実行してmime.typesファイルを開きます。このファイルで、「application」セクションに次の行を追加します。

application/gbc gbc

2つのgbcの間に追加のスペースが必要です-2番目のgbcを他の拡張子と並べてください。私は表示しますが、askubuntuでこれを行う方法がわかりません。


ソース:

2
DaimyoKirby