MacOSでは、サフィックスを使用してフォルダ名を指定.app
し、内部フォルダ構造規則に従ってGUIからアプリケーションとして実行できます。
Linuxにそのようなものがありますか?
たとえば、ディレクトリを実行可能ディレクトリとして表示できますか?そのディレクトリ(CLIまたはGUIから)で実行しようとすると、Linuxは./main
実行を内部的に(または同様に)探します。
編集する:
これはほとんど好奇心が強いですが、動作の観点からLinuxに内部に格納されているバイナリのプロキシとして使用するように指示するいくつかのメタデータでフォルダにタグを付ける方法があるかどうかを知りたいです。次のようになります。
mkdir hello-world.app
# Create executable inside folder
echo "#!/bin/bash" > hello-world.app/bin/main
echo "echo Hello World" >> hello-world.app/bin/main
# Add some kind of meta-data to tell Linux what to do when executing folder
echo "execute=bin/main" > hello-world.app/app_manifest
# Mark as executable
chmod +x ./hello-world.app
# Run folder
./hello-world.app
# "Hello World"
私の考えは、これがアプリケーションとその依存関係、文書を配布し、構成のための便利なターゲットとして機能する便利で簡単な方法でした。
ソフトウェアにシステムにインストールされているものとは異なるダイナミックライブラリが必要な場合は、適切なダイナミックライブラリをダウンロードしてインストールすると、hello-world.app/lib
バイナリはシステムライブラリよりもローカルライブラリを優先します。
私はLinuxルールがソフトウェア/バイナリと設定を使用している/usr/local
ことを知っていますが、誰もがこれらのルールに従うわけではないので、従うのは少し難しいかもしれません。ソフトウェアはディストリビューションによって異なります。/opt
/var
Docker、Flatpak、AppImageなどを使用してアプリケーションをコンテナ化して、この問題を解決しようとしたことを知っており、すべて素晴らしいですが、本当に簡単なものを得たいと思います。
少なくとも表面的には、関連フォルダに設定を保存するフォルダ/apps
とアプリケーションがあることは良いことです。$HOME/apps
答え1
MacOSの説明はGUI抽象化(主にファインダー)であり、オペレーティングシステムの機能やディレクトリの実際の属性ではありません。
したがって、私が知っている限り、これはLinuxのグラフィックファイルマネージャ/シェルには存在しません。 Linuxのアプリケーションには一般的には適用されないいくつかの規則があり、これを実行不可能にします。