Als ich diese Frage stellte , dachte ich: Gibt es tragbare Apps für Linux? Ich weiß, dass viele einfache Tools eigenständig ausgeführt werden können, aber werde ich bei gängigen Linux-Distributionen auf Sicherheitsbeschränkungen stoßen?
Gibt es angesichts der Verfügbarkeit von Tools usw. auf den meisten Standard-Linux-Systemen überhaupt einen Bedarf dafür?
BEARBEITEN: Zur Verdeutlichung suche ich nach Apps, die ich auf einem vorhandenen Linux-System ausführen kann. Ich möchte nicht das gesamte Betriebssystem mit mir herumtragen, wenn ich nicht muss.
Der
./configure
Trick funktioniert für einige Anwendungen. Viele Anwendungen codieren das Präfix jedoch in sich selbst und verwenden es dann zur Laufzeit, um unterstützende Dateien zu finden. Sie müssen auch die Möglichkeit haben, ihre gemeinsam genutzten Bibliotheksdateien zu laden (obwohl dieLD_LIBRARY_PATH
Umgebungsvariable so eingestellt werden kann, dass sie dabei hilft). Dies hat jedoch zur Folge, dass die tragbaren Anwendungen wahrscheinlich nicht sehr portabel sind - sie hängen davon ab, ob sie das angegebene Präfix haben. Dies wird wahrscheinlich an vielen Orten funktionieren (die meisten modernen Distributionen laden Medien ein/media/DISKNAME
), verhindert jedoch, dass die Anwendung wirklich portabel und ortsunabhängig ist.Die Nettoantwort lautet daher, dass das Erstellen portabler Linux-Anwendungen zwar nicht unmöglich, aber voller Feinheiten ist. Ich vermute, dass dies ein wesentlicher Faktor dafür ist, warum es nicht so häufig gemacht wird wie unter Windows. Darüber hinaus wird in öffentlichen Computereinrichtungen (in denen der Großteil des Nutzens für tragbare Anwendungen anfällt) normalerweise kein Linux ausgeführt. Eine bemerkenswerte Ausnahme sind Universitätslabors, aber Sie können dort normalerweise zusätzliche Software in Ihrem Home-Verzeichnis installieren.
quelle
Linux for Travelers verfolgt dieses Thema und bietet verschiedene Tricks, um die Tatsache zu umgehen, dass (noch?) Keine tragbaren Apps für Linux installiert sind - wahrscheinlich aus dem von Ihnen genannten Grund: Wenn Sie bereits über Installationsrechte verfügen, ist das Hinzufügen neuer Anwendungen einfach genug Sie müssen Ihre tragbaren Geräte nicht verwenden.
quelle
HackToLive.org (Betreuer der Super OS-Version von Ubuntu) verwaltet einige tragbare Apps für Linux:
http://hacktolive.org/wiki/Portable_Applications_(Linux)
quelle
Sie können Portable Linux Apps überprüfen . Laden Sie einfach tragbare Binärdateien herunter und machen Sie sie ausführbar. Alle erforderlichen Abhängigkeiten sind in der Binärdatei enthalten.
quelle
Um eine App portabel zu machen, können Sie möglicherweise Symlinks erstellen, die Sie beim Anmelden in den Home-Ordner legen. Die App speichert die Einstellungen über den Symlink zu dem Ort, an den sie führt, beispielsweise zum Flash-Laufwerk. Ich habe dies für tragbare Minecraft-Speicher verwendet.
quelle
Das Problem beim Ausführen von Apps auf vorhandenen Linux-Systemen besteht darin, dass Apps häufig für die Verwendung gemeinsam genutzter Bibliotheken kompiliert werden. Es gibt viele Linux-Distributionen und viele Versionen von Basisbibliotheken. Wenn Sie Glück haben, hat das vorhandene Linux-System dieselben Versionen und Ihre App wird mit der richtigen Version der Bibliotheken verknüpft. Wenn nicht, wird es nicht funktionieren. Eine Problemumgehung wäre das Kompilieren der benötigten Apps mit statisch verknüpften Bibliotheken. Dies führt jedoch zu viel größeren Programmgrößen.
quelle
Eine andere Sichtweise auf Ihre Frage ist der Begriff der heutigen Startups, die häufig einmal clientseitigen Code schreiben und dann Frameworks nutzen, um die Synthese von Clients für iOS, Android und das Web zu vereinfachen. Hier ist die Geschäftslogik portabel, wird jedoch von diesem Tool automatisch portiert. Es gibt viele solcher Frameworks, Meteor ist eines.
Auf diese Weise hat ein erheblicher Teil aller in App Stores gefundenen Apps dieses tragbare Erbe.
Um diese Idee weiter zu verwischen, haben wir jetzt WebAssembly, mit der Sie Ihren Browsercode (der per Definition Javascript ist) in einer wachsenden Anzahl statisch kompilierter, traditionell serverseitiger Sprachen schreiben können, die analysiert werden, um Javascript für den Client zu synthetisieren.
Sie fragen nach Linux-Apps, aber mit Tools wie Electron, bei denen es sich effektiv um eine grafische Benutzeroberfläche oder eine Befehlszeile handelt, die um NodeJS gewickelt ist, erlebt die Idee von tragbaren Linux-Apps eine Explosion von Auswahlmöglichkeiten
quelle
Es gibt einen neuen Spieler auf dem Spielfeld, AppImage . Anwendungen werden als einzelne Datei gepackt, wobei alle Abhängigkeiten enthalten sind, sodass sie unabhängig von der zugrunde liegenden Verteilung ausgeführt werden können.
Bei AppImageHub gibt es ein Repository mit App-Bildern .
quelle