На этот вопрос уже есть ответ здесь:
Я использую Ubuntu 14.04 LTS. Я использую программу под названием ApE (редактор плазмид), которую мне нужно запускать непосредственно из Терминала, используя следующую команду:
tclsh8.5 /home/justin/ApE/AppMain.tcl
Для удобства я хотел бы иметь возможность открывать эту программу непосредственно как исполняемый значок, встроенный в Launcher. . Я ожидаю, что должен быть простой сценарий bash, который я мог бы написать для вызова tclsh8.5, чтобы напрямую открыть файл .tcl, но я полный новичок и понятия не имею, как действовать в этом направлении. Любая помощь будет принята с благодарностью.
Вот полный процесс того, что я закончил тем, что делал;
$ sudo apt-get install gksu
$ cd /usr/share/applications
$ gksudo gedit ApE.desktop
Затем я сделал следующий .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
Оттуда, я должен был изменить .tcl файл путем добавления следующей хижины к тому сценарию;
#!/usr/bin/tclsh
Затем я сделал .tcl исполняемый файл сценария;
$ cd /home/justin/ApE
$ chmod +x AppMain.tcl
Затем я проверил и установил .desktop со следующими командами;
$ cd /usr/share/applications
$ desktop-file-validate ApE.desktop
$ desktop-file-install ApE.desktop
Команда установки файла на рабочем столе добавила следующую строку к .desktop файлу;
X-Desktop-File-Install-Version=0.22
Затем я должен был сделать простое перетаскивание значка ApE в/usr/share/applications каталоге к Средству запуска Единицы, и там это было.
Однако, в то время как это поместило значок ApE в средство запуска, каждый раз, когда я нажал значок ApE, это создало значок вопросительного знака в средстве запуска для представления открытого окна. Для облегчения этого я должен был сделать значения StartupWMClass в соглашении. Таким образом, назад в терминале, я выполнил следующую команду;
$ xprop WM_CLASS
и затем нажатый открытое окно ApE, которое возвратило следующий вывод;
WM_CLASS(STRING) = "dna_window18", "Toplevel"
Таким образом, я возвратился в файл ApE.desktop;
$ cd /usr/share/applications
$ gksudo gedit ApE.desktop
и измененный StartupWMClass оценивают Верхнему уровню, давая заключительный файл ApE.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=Toplevel
StartupNotify=true
X-Desktop-File-Install-Version=0.22
И это зафиксировало его полностью.