Como tornar o arquivo .tcl diretamente executável do Launcher [duplicate]

1

Estou executando o Ubuntu 14.04 LTS. Eu uso um programa chamado ApE (A plasmid Editor) que eu tenho que 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 Iniciador. Minha expectativa é que deve haver um script bash simples que eu poderia escrever para chamar tclsh8.5 para abrir o arquivo .tcl diretamente, mas eu sou um novato completo e não tenho idéia de como proceder nesse sentido. Qualquer ajuda seria muito apreciada.

    
por KurtKlystron 02.10.2015 / 22:23

1 resposta

0

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.

    
por KurtKlystron 03.10.2015 / 23:59