Sim, você pode adicionar um novo manipulador de protocolo no seu Ubuntu. O método a seguir mostrará como registrar o processo de abertura de um aplicativo como manipulador de protocolo app://[application_name]
no Ubuntu.
1. Criar script de iniciação de aplicativo
-
Em uma execução de terminal:
mkdir -p bin
Este comando criará um diretório
bin
na sua pastahome
se você ainda não o tiver. -
Após a execução:
gedit ~/bin/open_app.sh
Isso criará o novo arquivo
open_app.sh
in gedit. -
Copie e cole o seguinte script no novo arquivo criado:
#!/bin/bash if [[ "" != "app://" ]]; then app=${1#app://} nohup "$app" &>/dev/null & else nohup gnome-terminal &>/dev/null & fi
-
Salve o arquivo e feche-o.
-
Volte para o terminal e execute:
chmod +x ~/bin/open_app.sh
para conceder acesso de execução ao script.
2. Crie o arquivo .desktop para o lançador de aplicativos
Agora você deve criar um launcher .desktop para o script acima, e dizer ao Ubuntu para usar este launcher como app://
protocol handler. Crie o arquivo /usr/share/applications/appurl.desktop
usando o seguinte comando:
sudo -H gedit /usr/share/applications/appurl.desktop
e adicione o seguinte conteúdo:
[Desktop Entry]
Name=TerminalURL
Exec=/home/radu/bin/open_app.sh %u
Type=Application
NoDisplay=true
Categories=System;
MimeType=x-scheme-handler/app;
Salve o arquivo e feche-o.
3. Atualizar banco de dados de tipos mime
No arquivo acima, o manipulador de esquema de linha MimeType=x-scheme-handler/app;
register app://
, mas para fazê-lo funcionar devemos atualizar o cache de banco de dados de tipos MIME executando o comando:
sudo update-desktop-database
4. Teste do terminal
Agora tudo deve funcionar. Para testar se funciona do terminal, execute por exemplo este comando:
xdg-open 'app://gedit'
4. Teste do navegador usando HTML
Você pode testar a partir do navegador usando, por exemplo, a seguinte página da Web em HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Open some applications</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
<h3>Open some applications in Ubuntu from HTML</h3>
<p>Open terminal: <a title="Open" href="app://">app://</a>
(equivalent with: <a title="Open" href="app://gnome-terminal">app://gnome-terminal</a>)</p>
<p>Open Nautilus: <a title="Open" href="app://nautilus">app://nautilus</a></p>
<p>Open Chromium: <a title="Open" href="app://chromium-browser">app://chromium-browser</a></p>
<p>Open Ubuntu Software Center: <a title="Open" href="app://software-center">app://software-center</a>
(equivalent with: <a title="Open" href="apt://">apt://</a>)</p>
<p>...and so on</p>
</body>
</html>
O resultado: