
Ich verwende Ubuntu 14.04 LTS. Ich verwende ein Programm namens ApE (A Plasmid Editor), das ich mit dem folgenden Befehl direkt vom Terminal aus ausführen muss:
tclsh8.5 /home/justin/ApE/AppMain.tcl
Der Einfachheit halber würde ich dieses Programm gerne direkt als ausführbares Symbol öffnen können, das in den Launcher eingebettet ist. Ich gehe davon aus, dass es ein einfaches Bash-Skript geben sollte, das ich schreiben könnte, um tclsh8.5 aufzurufen und die .tcl-Datei direkt zu öffnen, aber ich bin ein völliger Neuling und habe keine Ahnung, wie ich das erreichen soll. Für jede Hilfe wäre ich sehr dankbar.
Antwort1
Hier ist der vollständige Ablauf, den ich letztendlich durchgeführt habe:
$ sudo apt-get install gksu
$ cd /usr/share/applications
$ gksudo gedit ApE.desktop
Dann habe ich die folgende .desktop-Datei erstellt
[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
Von dort aus musste ich die .tcl-Datei ändern, indem ich dem Skript den folgenden Shebang hinzufügte;
#!/usr/bin/tclsh
Dann habe ich das .tcl-Skript ausführbar gemacht;
$ cd /home/justin/ApE
$ chmod +x AppMain.tcl
Dann habe ich die Desktop-Datei mit den folgenden Befehlen validiert und installiert:
$ cd /usr/share/applications
$ desktop-file-validate ApE.desktop
$ desktop-file-install ApE.desktop
Der Befehl „desktop-file-install“ hat der Datei .desktop die folgende Zeile hinzugefügt:
X-Desktop-File-Install-Version=0.22
Dann musste ich das ApE-Symbol im Verzeichnis /usr/share/applications einfach per Drag & Drop in den Unity Launcher ziehen, und schon war es da.
Dadurch wurde das ApE-Symbol zwar im Launcher platziert, aber jedes Mal, wenn ich auf das ApE-Symbol klickte, wurde im Launcher ein Fragezeichen-Symbol erstellt, das das geöffnete Fenster darstellte. Um dies zu beheben, musste ich die StartupWMClass-Werte in Übereinstimmung bringen. Also führte ich im Terminal den folgenden Befehl aus:
$ xprop WM_CLASS
und klickte dann auf das geöffnete ApE-Fenster, das die folgende Ausgabe zurückgab;
WM_CLASS(STRING) = "dna_window18", "Toplevel"
Also ging ich zurück in die Datei ApE.desktop;
$ cd /usr/share/applications
$ gksudo gedit ApE.desktop
und änderte den Wert von StartupWMClass auf Toplevel, was eine endgültige ApE.desktop-Datei von
[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
Und damit wurde das Problem vollständig behoben.