¿Aplicaciones portátiles para Linux?

11

Hacer esta pregunta me hizo pensar: ¿hay aplicaciones portátiles disponibles para Linux? Sé que se pueden ejecutar muchas herramientas simples de forma independiente, pero ¿tendré limitaciones de seguridad con las distribuciones comunes de Linux?

Teniendo en cuenta la disponibilidad de herramientas, etc., en la mayoría de los sistemas Linux predeterminados, ¿hay alguna necesidad de esto?

EDITAR: para aclarar, estoy buscando aplicaciones que pueda ejecutar en un sistema Linux existente; no quiero transportar todo el sistema operativo, si no es necesario.

Andy Mikula
fuente

Respuestas:

6

La mayoría de las aplicaciones que usan la cadena de herramientas GNU se pueden construir a partir de una fuente como esta:

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

y luego se mudó a una computadora diferente con bibliotecas compatibles.

Linux no tiene registro, muchas aplicaciones generalmente no necesitan ser 'instaladas', sino que se pueden construir desde la fuente, por lo que hacer "Mis aplicaciones especialmente portátiles © para Linux" es absolutamente inútil, así que creo que a nadie le importa esto.

Solo mire la respuesta más importante para esta pregunta y comprenderá ese estúpido concepto de hacer que las aplicaciones sean 'portátiles' 'útiles' solo en el mundo del registro y las aplicaciones propietarias con administración de licencias.

Alex Bolotov
fuente
¡Gracias! No estaba seguro de que fuera estúpido antes, pero realmente manejaste ese punto a casa;)
Andy Mikula el
4

El ./configuretruco funcionará para algunas aplicaciones. Sin embargo, muchas aplicaciones codifican el prefijo en sí mismas y luego lo usan en tiempo de ejecución para encontrar archivos de soporte. También necesitan la capacidad de cargar sus archivos de biblioteca compartida (aunque la LD_LIBRARY_PATHvariable de entorno se puede configurar para ayudar con eso). Sin embargo, el resultado de esto es que las aplicaciones portátiles probablemente no serán muy portátiles, sino que dependerán del prefijo especificado. Esto probablemente funcionará en muchos lugares (la mayoría de las distribuciones modernas montan medios en /media/DISKNAME), pero evita que la aplicación sea verdaderamente portátil e independiente de la ubicación.

La respuesta neta, por lo tanto, es que hacer aplicaciones portátiles de Linux, aunque no es imposible, está plagado de sutilezas. Sospecho que este es un factor importante que contribuye a por qué no se hace tanto como en Windows. Además, las instalaciones de computación públicas (donde surge la mayor parte del beneficio de la aplicación portátil) generalmente no ejecutan Linux. Una excepción notable son los laboratorios universitarios, pero generalmente puede instalar algún software adicional en su directorio de inicio allí.

Michael Ekstrand
fuente
1

Linux for Travelers sigue este tema y tiene varios trucos para sortear el hecho de que no hay (¿todavía?) Instalaciones de aplicaciones portátiles destinadas a Linux, probablemente por la razón que mencionó: si tiene privilegios de instalación, ya es bastante fácil agregar nuevas aplicaciones. para no necesitar usar tus portátiles.

  • Instale WINE y ejecute las aplicaciones desde PortableApps.com o desde otro lugar. Esto parece excesivo, pero le permite usar una instalación de aplicaciones portátiles que ya tiene.
  • Ejecute Damn Small Linux dentro de su instalación de Linux existente (por ejemplo, en Ubuntu ). Este es útil si aún no tiene privilegios de instalación en un sistema Linux dado.
cuarc
fuente
1

Para que cualquier aplicación sea portátil, puede crear enlaces simbólicos que coloque en la carpeta de inicio cuando inicie sesión; la aplicación guardará las preferencias a través del enlace simbólico a donde sea que conduzca, por ejemplo, la unidad flash. He usado esto para guardar Minecraft portátiles.

Andrew Wonnacott
fuente
1

El problema con la ejecución de aplicaciones en sistemas Linux existentes es que a menudo las aplicaciones se compilan para usar bibliotecas compartidas. Hay muchas distribuciones de Linux y muchas versiones de bibliotecas base. Si tiene suerte, el sistema Linux existente tendrá las mismas versiones y su aplicación se vinculará con la versión correcta de las bibliotecas. Si no, no funcionará. Una solución alternativa sería compilar las aplicaciones que necesita con bibliotecas enlazadas estáticamente, pero esto lleva a tamaños de programa mucho más grandes.

vtest
fuente
1

Otro punto de vista sobre su pregunta es la noción de las startups de hoy que a menudo escriben código del lado del cliente una vez y luego aprovechan los marcos para hacer el trabajo pesado de sintetizar clientes para iOS, Android y la web. Aquí la lógica de negocios es portátil, pero esta herramienta la transfiere automáticamente. Hay muchos de esos marcos, Meteor es uno.

Tomado de esta manera, una proporción significativa de cualquier aplicación encontrada en tiendas de aplicaciones tiene esta herencia portátil.

Para desdibujar aún más esta idea, ahora tenemos WebAssembly que le permite escribir el código de su navegador (que por definición es javascript) en un número creciente de lenguajes del lado del servidor tradicionalmente compilados estáticamente que se analiza para sintetizar javascript para apuntar al cliente.

Sin embargo, está preguntando acerca de las aplicaciones de Linux con herramientas como Electron, que efectivamente es una GUI o línea de comando envuelta alrededor de nodejs. La idea de las aplicaciones portátiles de Linux está experimentando una explosión de opciones

Scott Stensland
fuente
0

Hay un nuevo jugador en el campo, AppImage . Las aplicaciones se empaquetan como un solo archivo, con todas las dependencias incluidas, por lo que se pueden ejecutar independientemente de la distribución subyacente.

Hay un repositorio de imágenes de aplicaciones en AppImageHub .

DevSolar
fuente