Blog del Podcast
podcast      GitHub      Twitter   Telegram

Abrir aplicaciones de Ubuntu desde una web html

Tiempo estimado de lectura: 4 minutos. 452 palabras. ubuntu

No es necesario utilizar Heimdall o Homer para crear una página web de inicio. En este hilo de Reddit llamado startpages encontrarás montoner de webs html donde montando un Servidor Web o como es mi caso, utilizando el propio servidor WebDAV, podrás tener un punto de partida a todos tus servicios favoritos.

Pero… ¿Que hay de Typora, Sleek,….? Me gustaría poder lanzar estas aplicaciones desde la Web. ¿Es posible hacerlo?

La respuesta es Si.

Para hacerlo tenemos que hacer un script para que Ubuntu reconoca cuando queremos lanzar una aplicación desde la terminal.

Vamos a ello:

Creando el Script

Vamos a crear el script para que la terminal lance las aplicaciones que añadamos en un archivo html.

Crearemos el directorio launch dentro del directorio .config.

mkdir -p ~/.config/open_app/

Voy a utilizar nano para crear el archivo open_app.sh

nano ~/.config/open_app/open_app.sh

Pegamos el siguiente script:

#!/bin/bash

if [[ "$1" != "app://" ]]; then
app=${1#app://}
nohup "$app" &>/dev/null &
else
nohup gnome-terminal &>/dev/null &
fi

gnome-terminal es la terminal desde donde lanzaremos la aplicación. Si tu sistema opertivo no tiene gnome-terminal, especifica el nombre de la terminal que utilices.

Ahora le daremos permisos de ejecución:

chmod +x ~/.config/open_app/open_app.sh

Crear archivo .desktop para el iniciador de aplicaciones

Ahora crearemos el lanzador .desktop para el script y así decirle a Ubuntu que utilice este script cuando utilicemos app://

Crearemos el archivo /usr/share/applications/appurl.desktop:

sudo -H nano /usr/share/applications/appurl.desktop

Vamos a agregar el siguiente contenido:

Sustituye angel por tu usuario

[Desktop Entry]
Name=TerminalURL
Exec=/home/angel/.config/open_app/open_app.sh %u
Type=Application
NoDisplay=true
Categories=System;
MimeType=x-scheme-handler/app;

Ahora actualizaremos la base de datos del escritorio:

sudo update-desktop-database

Probando que todo funciona

Ahora todo debería funcionar bién. Vamos probar abrir nautilus:

xdg-open 'app://nautilus'

Creando web html

Crearemos un archivo index.html:

nano index.htmls

Añade el siguiente contenido:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>Abre aplicaciones en Ubuntu desde HTML</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>

<body>
<h3>Abre aplicaciones en Ubuntu desde HTML</h3>
<p>Abrir terminal: <a title="Open" href="app://">app://</a>
(equivalente con: <a title="Open" href="app://gnome-terminal">app://gnome-terminal</a>)</p>
<p>Abrir Nautilus: <a title="Open" href="app://nautilus">app://nautilus</a></p>
</body>
</html>

AppImage

Me encanta abrir mis aplicaciones AppImage. Todos los AppImage los tengo en un directorio. Especifica la ruta completa para abrirlos:

<a title="Open" href="app:///home/angel/appimage/sleek.AppImage">Sleek</a></p>

Publicado por Angel el lunes 06 diciembre del 2021



También te puede interesar:




Powered by org-bash-blog

Writing in orgmode whith emacs

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.