Como tornar o arquivo .tcl diretamente executável no Launcher

Como tornar o arquivo .tcl diretamente executável no Launcher

Estou executando o Ubuntu 14.04 LTS. Eu uso um programa chamado ApE (A plasmid Editor) que devo executar diretamente do Terminal usando o seguinte comando;

tclsh8.5 /home/justin/ApE/AppMain.tcl 

Por conveniência, gostaria de poder abrir este programa diretamente como um ícone executável incorporado no Launcher. Minha expectativa é que haja um script bash simples que eu possa escrever para chamar tclsh8.5 para abrir o arquivo .tcl diretamente, mas sou um novato completo e não tenho ideia de como proceder para esse fim. Qualquer ajuda seria muito apreciada.

Responder1

Aqui está o processo completo do que acabei fazendo;

$ sudo apt-get install gksu
$ cd /usr/share/applications
$ gksudo gedit ApE.desktop

Então criei o seguinte arquivo .desktop

[Desktop Entry]
Type=Application
Name=ApE
Icon=/home/justin/ApE/ApE.png
Exec=/home/justin/ApE/AppMain.tcl %f
Version=1.0
Comment=A Plasmid Editor
GenericName=Plamid Editor
Terminal=false
X-MultipleArgs=false
Categories=Utility;
StartupWMClass=ApE
StartupNotify=true

A partir daí, precisei modificar o arquivo .tcl adicionando o seguinte shebang a esse script;

#!/usr/bin/tclsh

Então tornei o script .tcl executável;

$ cd /home/justin/ApE
$ chmod +x AppMain.tcl

Então validei e instalei o .desktop com os seguintes comandos;

$ cd /usr/share/applications
$ desktop-file-validate ApE.desktop
$ desktop-file-install ApE.desktop

O comando desktop-file-install adicionou a seguinte linha ao arquivo .desktop;

X-Desktop-File-Install-Version=0.22

Então eu precisei arrastar e soltar o ícone do ApE no diretório /usr/share/applications para o Unity Launcher, e lá estava ele.

No entanto, embora isso colocasse o ícone do ApE no inicializador, sempre que eu clicasse no ícone do ApE, ele criava um ícone de ponto de interrogação no inicializador para representar a janela aberta. Para amenizar isso, precisei fazer com que os valores do StartupWMClass estivessem de acordo. Então, de volta ao terminal, executei o seguinte comando;

$ xprop WM_CLASS

e então clicou na janela aberta do ApE, que retornou a seguinte saída;

WM_CLASS(STRING) = "dna_window18", "Toplevel"

Então voltei ao arquivo ApE.desktop;

$ cd /usr/share/applications
$ gksudo gedit ApE.desktop

e alterei o valor StartupWMClass para Toplevel, fornecendo um arquivo ApE.desktop final de

[Desktop Entry]
Type=Application
Name=ApE
Icon=/home/justin/ApE/ApE.png
Exec=/home/justin/ApE/AppMain.tcl %f
Version=1.0
Comment=A Plasmid Editor
GenericName=Plamid Editor
Terminal=false
X-MultipleArgs=false
Categories=Utility;
StartupWMClass=Toplevel
StartupNotify=true
X-Desktop-File-Install-Version=0.22

E isso resolveu completamente.

informação relacionada