Linux用のポータブルアプリ?


11

尋ねるこの質問を、私は考えるようになった-そこにLinux用のポータブルアプリをしていますか?多くのシンプルなツールをスタンドアロンで実行できることは知っていますが、一般的なLinuxディストリビューションではセキュリティの制限に直面しますか?

とにかくほとんどのデフォルトLinuxシステムでのツールなどの可用性を考慮すると、この必要性さえありますか?

編集:明確にするために、私は既存のLinuxシステムで実行できるアプリを探しています-必要がなければOS全体を持ち歩きたいとは思いません。

回答:


6

GNUツールチェーンを使用するほとんどのアプリケーションは、次のようなソースから構築できます。

./configure --prefix=[directory which will contain your 'portable' application]
make
make install

互換性のあるライブラリを備えた別のコンピューターに移動しました。

Linuxにはレジストリがありません。通常、多くのアプリケーションは「インストール」する必要がなく、代わりにソースからビルドすることができます。

この質問の一番上の答えを見ると、ライセンス管理を備えたレジストリおよびプロプライエタリアプリケーションの世界で、アプリケーションを「ポータブル」「有用」にするという愚かな概念を理解できます。


ありがとう!私はそれが前に愚かであったと確信していなかった、しかしあなたは本当にそのポイントを家に運転した;)
アンディ・ミクラ

4

この./configureトリックは一部のアプリケーションで機能します。ただし、多くのアプリケーションはプレフィックスをそれ自体にエンコードし、実行時にそれを使用してサポートファイルを見つけます。また、共有ライブラリファイルを読み込む機能も必要です(ただし、LD_LIBRARY_PATH環境変数を設定して、それを支援することもできます)。ただし、この結果、ポータブルアプリケーションはあまりポータブルではない可能性が高くなります。つまり、指定されたプレフィックスに依存することになります。これはおそらく多くの場所で動作します(ほとんどの最新のディストリビューションはにメディアをマウントします/media/DISKNAME)が、アプリケーションが真にポータブルで場所に依存しないようにします。

したがって、最終的な答えは、移植可能なLinuxアプリケーションを作成することは不可能ではありませんが、微妙な点に満ちているということです。これは、Windowsの場合ほど近く行われない理由の主な要因であると思われます。さらに、パブリックコンピューティング施設(ポータブルアプリケーションの利点の大部分が発生する場所)では、通常Linuxは実行されません。注目すべき例外は大学の研究室ですが、通常はホームディレクトリに追加のソフトウェアをインストールできます。


1

Linux for Travellersはこのトピックを追跡しており、Linux向けの(まだ?)ポータブルアプリのインストールがないという事実を回避するためのいくつかのトリックがあります。ポータブルなものを使用する必要はありません。

  • WINEをインストールし、PortableApps.comなどからアプリを実行します。これはやり過ぎのように見えますが、既に持っているポータブルアプリインストールを使用できます。
  • 既存のLinuxインストール内でDamn Small Linuxを 実行します(Ubuntuなど)。これは、特定のLinuxシステムにまだインストール権限がない場合に便利です。


1

Portable Linux Appsを確認できます。ポータブルバイナリをダウンロードして実行可能にするだけです。必要な依存関係はすべてバイナリに含まれています。


1

アプリを移植可能にするために、ログイン時にホームフォルダーに配置するシンボリックリンクを作成できる場合があります。アプリは、シンボリックリンクを介して、フラッシュドライブなどのどこにでも設定を保存します。これをポータブルMinecraftの保存に使用しました。


1

既存のLinuxシステムでアプリを実行する場合の問題は、多くの場合、アプリが共有ライブラリを使用するようにコンパイルされることです。多くのLinuxディストリビューションとベースライブラリの多くのバージョンがあります。運がよければ、既存のLinuxシステムには同じバージョンがあり、アプリは正しいバージョンのライブラリにリンクされます。そうでない場合、動作しません。回避策は、静的にリンクされたライブラリを使用して必要なアプリをコンパイルすることですが、これによりプログラムのサイズが非常に大きくなります。


1

あなたの質問に対する別の見解は、クライアント側のコードを一度書いてから、フレームワークを活用してiOS、Android、およびWeb用のクライアントを合成する重労働を行う今日のスタートアップの概念です。ここでは、ビジネスロジックは移植可能ですが、そのツールによって自動的に移植されます。そのようなフレームワークは数多くありますが、Meteorはその1つです。

このように考えると、アプリストアで見つかったアプリのかなりの部分にこのポータブルな遺産があります。

この考えをさらに曖昧にするために、WebAssemblyを使用して、ブラウザコード(定義によりjavascript)を、静的にコンパイルされた従来のサーバー側言語で記述し、クライアントを対象とするJavaScriptを合成するために解析します。

Linuxアプリについて質問しているが、nodejsをラップしたGUIまたはコマンドラインであるElectronのようなツールを使用すると、ポータブルLinuxアプリの選択肢が爆発的に増加します。


0

フィールドにはAppImageという新しいプレーヤーがあります。アプリケーションは単一のファイルとしてパッケージ化され、すべての依存関係が含まれているため、基盤となるディストリビューションに関係なく実行できます。

AppImageHubにはアプリイメージのリポジトリがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.