Aqui está o processo completo do que acabei fazendo;
$ sudo apt-get install gksu
$ cd /usr/share/applications
$ gksudo gedit ApE.desktop
Então eu fiz 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
De lá, eu precisei modificar o arquivo .tcl adicionando a seguinte shebang a esse script;
#!/usr/bin/tclsh
Então eu fiz o script .tcl executável;
$ cd /home/justin/ApE
$ chmod +x AppMain.tcl
Depois 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 precisava fazer um simples arrastar e soltar do ícone ApE no diretório / usr / share / applications para o Unity Launcher, e lá estava ele.
No entanto, enquanto isso colocava o ícone ApE no lançador, sempre que eu clicava no ícone do ApE, ele criava um ícone de ponto de interrogação no inicializador para representar a janela aberta. Para aliviar isso, eu precisava fazer os valores StartupWMClass de acordo. Então, de volta ao terminal, eu corri o seguinte comando:
$ xprop WM_CLASS
e, em seguida, clicou na janela aberta do ApE, que retornou a seguinte saída;
WM_CLASS(STRING) = "dna_window18", "Toplevel"
Então eu voltei para o arquivo ApE.desktop;
$ cd /usr/share/applications
$ gksudo gedit ApE.desktop
e alterou o valor de 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 corrigiu completamente.