Launcher에서 .tcl 파일을 직접 실행 가능하게 만드는 방법

Launcher에서 .tcl 파일을 직접 실행 가능하게 만드는 방법

저는 우분투 14.04 LTS를 실행하고 있습니다. 나는 다음 명령을 사용하여 터미널에서 직접 실행해야 하는 ApE(플라스미드 편집기)라는 프로그램을 사용합니다.

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

편의상 이 프로그램을 런처에 포함된 실행 가능한 아이콘으로 직접 열 수 있었으면 좋겠습니다. 내 기대는 tclsh8.5를 호출하여 .tcl 파일을 직접 열 수 있도록 작성할 수 있는 간단한 bash 스크립트가 있어야 한다는 것입니다. 그러나 저는 완전한 초보자이고 이 목적을 향해 어떻게 진행해야 할지 전혀 모릅니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

내가 하게 된 전체 과정은 다음과 같습니다.

$ 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

거기에서 해당 스크립트에 다음 shebang을 추가하여 .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-file-install 명령은 .desktop 파일에 다음 줄을 추가했습니다.

X-Desktop-File-Install-Version=0.22

그런 다음 /usr/share/applications 디렉터리에 있는 ApE 아이콘을 Unity Launcher로 간단히 드래그 앤 드롭하면 됩니다.

그러나 이렇게 하면 ApE 아이콘이 런처에 배치되지만 ApE 아이콘을 클릭할 때마다 런처에 열린 창을 나타내는 물음표 아이콘이 생성됩니다. 이 문제를 완화하려면 StartupWMClass 값을 일치시켜야 했습니다. 그래서 터미널로 돌아가서 다음 명령을 실행했습니다.

$ xprop WM_CLASS

그런 다음 열린 ApE 창을 클릭하면 다음 출력이 반환됩니다.

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

그래서 ApE.desktop 파일로 돌아갔습니다.

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

StartupWMClass 값을 Toplevel로 변경하여 최종 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

그리고 그것은 완전히 해결되었습니다.

관련 정보