ワンクリックで実行できるファイルをLinuxで生成する方法は?

ワンクリックで実行できるファイルをLinuxで生成する方法は?

開発者としてLinuxユーザーにソフトウェアを簡単にパッケージ化して提供するにはどうすればよいですか?

~に関連付けられる

  1. コンピュータ(デスクトップ)
  2. 違法強制専門店と勇敢な代替点
  3. 放棄されたソースコードをコンパイルすると、あなたは自分のユーザーであり、これは製品ではありません。

リリースされた製品に関連しています。

するいいえ関連がある

A)コマンドライン

b) ファイル生成

c) ビルドスクリプト

d) ソース

e) オンラインまたはオフラインプロジェクト

主要なLinuxオペレーティングシステムのディストリビューションが、以前にすべてのオペレーティングシステムで利用可能な機能を実装できるかどうかを知りたいです。

例:

I.実行ファイルをダウンロードし、クリックして実行します。

2. 圧縮パッケージをダウンロードし、フォルダに解凍し、ファイルのいずれかをクリックしてソフトウェアを実行します。

三。これ以上の例はありません。ここに問題があります。

指定されたターゲットプラットフォーム:

1.1 オペレーティングシステムプラットフォームの目標

1.2 GUI(OSプラットフォームターゲットに含まれていない場合)

1.3 1.1または1.2で提供されたフレームワーク。

簡単に言うと:真剣な開発者を想像してみてください。 Linuxでソフトウェア製品を提供する方法は?ダウンロードリンクをクリックして実行します。

(私は企業環境から来たため、このフォーラムではまだ「配信可能」タグの作成に関する評判を得ていません。)

ご注意ください、ここでは、結果について疑問を提起しません。例はとても簡単です。

A. メインディスプレイに長方形を描きます。

B. ウィンドウを開いて他の操作をしないでください。

C. 標準ファイル出力でファイルを開き、文字を書いてから閉じます。

答え1

コメントの説明に基づいて質問を再表現しました。

Linuxでバイナリ実行可能ファイルとは何ですか?

これは非常に低い周波数ファイルと実装するビット設定。バイナリコードと共有ライブラリへの参照はファイルに保存されるため、オペレーティングシステムが実行可能ファイルを起動すると最終接続が行われます(Mac OSのフレームワークまたはWindowsのDLLに似ています)。依存関係を導入する最後のステップが心配な場合は、以下を見てください。悪いプロジェクトこのため、静的接続を促進します。

バイナリ実行可能ファイルを作成するには?

'Nixの伝統では、Cでプログラムを作成しcc(「コンパイルC」または「Cコンパイラ」のどちらでも有効です)、コマンドを使用します。これにより、Cコードがコンパイルされリンクされ、実行中のアーキテクチャのバイナリコードを含むELFファイルが生成されます。複数のソースファイルで作業するときは、コマンドラインからmakeGUI IDEまでこのプロセスを管理するためのさまざまなツールがあります。コンパイラとインタプリタは、さまざまなプログラミング言語で使用できるため、C に限定されません。

真剣な開発者を想像してみてください。 Linuxでソフトウェア製品を提供する方法は?ダウンロードリンクをクリックして実行します。

Linuxはさまざまなプロセッサアーキテクチャで動作し、誰もサポートしていないからです。「FAT」バイナリ標準、それは不可能です。 CPU用の実行可能ファイルをダウンロードした後、ユーザーは実行ビットを手動で設定する必要があります(コマンドラインを介して簡単に実行できますが、GUIを介して実行するのは難しいです)。エンドユーザーのシステムの内容は、ディストリビューション、インストール中に使用されるインストールオプション、ユーザーがインストールした後にインストールされたパッケージによって異なります。ほとんどのディストリビューションではパッケージマネージャ依存関係の解決中に追加のソフトウェアをインストールします。 Mac OSとWindowsにはそれぞれ1つずつありますが、デスクトップ環境、GNU / Linuxにはいくつかあります(またはインストールしていない可能性があります)。外観の変更に加えて、それぞれは異なるインターフェイス標準(たとえば、Windowsのショートカットキーエミュレーション)に準拠することができ、それぞれはさまざまなレベルでコマンドに依存します。

つまり、Canonicalなどのプロジェクトに興味がある可能性があります。スナップショットストアは、Ubuntu自体と同様に、「製品消費者」カテゴリに属する​​ユーザーとより技術的な人々にアピールしようとしているようです。

あなたの質問に関するいくつかのことを明確にすることができます。

「デスクトップ」コンピュータに関心を集中させることでラップトップを排除するのではなく、Linuxが一般的に興味を持っているサーバーや組み込みシステムではなく、「パーソナルコンピュータ」または「ワークステーション」に興味があるとします。

「違法強制独占」または「勇敢な代替」ショップが何を意味するのかわからないが、あなたの懸念が法的性質に関するものであれば、Stack Exchange法律ウェブサイト

私の解釈は、あなたの質問のほとんどが他の問題を紹介するのではなく、バイナリ形式でソフトウェアを提供することに焦点を当てているということです。

声明主要なLinuxオペレーティングシステムのディストリビューションが、以前にすべてのオペレーティングシステムで利用可能な機能を実装できるかどうかを知りたいです。わかりません。長年にわたり、さまざまなオペレーティングシステムの機能が大きく異なりました。

「企業環境」から来たからといって、このサイトの評判スコアに影響を与えてはいけません。これは、ユーザーを識別し、スコアに影響を与える可能性のある措置を取るために使用できますが、これについての証拠を見たことがなく、これが起こっていることを暗示することさえ認識しません。

質問の最後にあるリストに含まれる各機能は、ソフトウェアによってバイナリ形式で提供できます。ただし、ユーザーが互換性のある環境を実行しない可能性があることに注意してください。たとえば、ソフトウェアがウィンドウを開けない場合があります。インストールされている場合にのみコンソールにあります。

答え2

すべてを無視する政治的あなたの意見のいくつかと一緒に質問のこの部分について検討/話し合いをしましょう。


開発者としてLinuxユーザーにソフトウェアを簡単にパッケージ化して提供するにはどうすればよいですか?

デプロイメント開発者に連絡して、リポジトリにソフトウェアを含めるように説得します。
なぜ?ほとんどのLinuxユーザーは、ディストリビューションでサポートされているパッケージマネージャ以外のソフトウェアをインストールしないためです。

期間!

以下の追加コメント:

もちろん、Linuxは未解決の外部参照を残すことなく実行可能なコードを実行できます。
つまり、Cコードで以下を使用する場合印刷機能またはどの関数の場合は、printfまたはすべての関数のコードをコードの一部として提供するか、これらの関数のコードを提供するライブラリに静的にリンクする必要があります。

あなたが言及した1980年代と変わったことはありません。

かなり簡単にデザインできます。 (私は可能なライセンスについてすべて知らないので、配布については何も言わないでしょう。)とにかく独立libc、libm、libcurses を使用した一部の半グラフィックアプリケーションの静的リンク。

もちろん、アプリケーションが独立して動作できない場合、大きな問題が発生します。この時点で、アプリケーションがすべてのサーバーのクライアントになることを望みます。

窓を開けると言ったのに…? (他のすべてのWindowsユーザーが開いたものを尊重することを願っています。)必要なのはXサーバーの助けではなく、現在のユーザーシステムで実行されているXサーバーの助けです。

もちろん、リンクされたクライアントライブラリを静的にリンクすることもできます。しかし、ユーザーがどのサーバーでどのバージョンを実行するかを決定できますか?

それ以外の場合...すべてのX / database / ...サーバー用のすべての可能なクライアントライブラリ(すべての可能なサポートバージョン)を静的にリンクする必要があります...

普通のユーザーなら、明らかにメモリの浪費について文句を言うでしょう。これは、適切なクライアントライブラリがすでに共有ライブラリとしてメモリにロードされているためです。

だからではない!状況は最初から変わらなかった。除いて…おそらく…あなたの期待。 :-血

関連情報