
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.