私が書いたものではない、約1600 SLOCの古いCプログラム(2003)があります。フラグなしでgcc
でコンパイルします。
問題は、Files
プログラムが実行可能ファイルの代わりにテキストファイルのアイコンを表示し、Ubuntuはそれが実行可能ファイルであるとはまったく思わないことです。 chmod +x
、chmod 777
、およびFiles
(おそらくchmodを使用している可能性があります)でファイルのプロパティの権限タブを試しましたが、何も変わりませんでした。
ファイルをダブルクリックすると、「「共有ライブラリ」ファイル用のアプリケーションがインストールされていません」というメッセージが表示されます。
./
を使用してコンソールから実行でき、正常に動作します。
また、実際には、このプログラムを実行するのではなく、このプログラムを使用する別のアプリケーションに渡したいです。このアプリケーションは標準の(見たところ)Ubuntuの「ファイルを選択」ウィンドウを使用し、ファイル形式が「実行可能ファイル」に設定されているため、プログラムを表示できません。
私はそれを見ることができれば、両方のプログラムが正しく一緒に実行されると信じています。
Nautilusがデフォルトで実行可能ファイルを処理する方法が変更されました。以前は、いずれかをダブルクリックするとどうするかを尋ねられました。現在、アプリケーションを使用してファイルを開こうとします。
ファイルを実行し、Nautilusを開き、Edit → Preferences → Behavior
に移動し、Executable Text Files
をAsk each time
に切り替えるオプションが与えられたダイアログを取得します。これは以前はデフォルトでした。しかし、現在は「開いているときに実行可能なテキストファイルを表示する」ということです。つまり、Nautilusは、ダブルクリックするとそのファイルを開くアプリケーションを検索しますが、そのファイルタイプのファイルは見つかりません。
誤ってファイルを実行しないように、Run executable text files when they are opened
に切り替えることはお勧めしません。