Cómo hacer que el archivo .tcl sea directamente ejecutable desde el Lanzador

Cómo hacer que el archivo .tcl sea directamente ejecutable desde el Lanzador

Estoy ejecutando Ubuntu 14.04 LTS. Utilizo un programa llamado ApE (Un editor de plásmidos) que tengo que ejecutar directamente desde la Terminal usando el siguiente comando;

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

Para mayor comodidad, me gustaría poder abrir este programa directamente como un ícono ejecutable incrustado en el Iniciador. Mi expectativa es que debería haber un script bash simple que pueda escribir para llamar a tclsh8.5 y abrir el archivo .tcl directamente, pero soy un completo novato y no tengo idea de cómo proceder para lograr este fin. Cualquier ayuda sería muy apreciada.

Respuesta1

Aquí está el proceso completo de lo que terminé haciendo;

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

Luego hice el siguiente archivo .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 de ahí, necesitaba modificar el archivo .tcl agregando el siguiente shebang a ese script;

#!/usr/bin/tclsh

Luego hice ejecutable el script .tcl;

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

Luego validé e instalé el .desktop con los siguientes comandos;

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

El comando desktop-file-install agregó la siguiente línea al archivo .desktop;

X-Desktop-File-Install-Version=0.22

Luego tuve que hacer un simple arrastrar y soltar el icono de ApE en el directorio /usr/share/applications en Unity Launcher, y ahí estaba.

Sin embargo, si bien esto colocaba el ícono de ApE en el iniciador, cada vez que hacía clic en el ícono de ApE, creaba un ícono de signo de interrogación en el iniciador para representar la ventana abierta. Para aliviar esto, necesitaba que los valores de StartupWMClass coincidieran. De vuelta en la terminal, ejecuté el siguiente comando;

$ xprop WM_CLASS

y luego hizo clic en la ventana abierta de ApE, que arrojó el siguiente resultado;

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

Así que volví al archivo ApE.desktop;

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

y cambió el valor de StartupWMClass a Toplevel, dando un archivo 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

Y eso lo solucionó por completo.

información relacionada