터미널(또는 dmenu)에서 ".desktop" 파일을 실행하는 방법

터미널(또는 dmenu)에서 ".desktop" 파일을 실행하는 방법

.desktop터미널과 dmenu에서 파일을 실행하고 싶습니다 . 이상적으로는 ./app.desktop이것을 터미널에서 사용 하거나 실행 /path/to/app.desktop하고 디렉토리 app.desktop에 넣어야 합니다 $PATH. 차라리 같은 것을 사용할 필요가 없습니다 gtk-launch app.desktop.

gtk-launch또한 Launch Application을 사용하는 것이 항상 작동하는 것은 아니며 , 작동하더라도 맨 위에 놓으면 gtk-launch app.desktop실행 파일로 실행할 때 오류가 반환된다는 것을 발견했습니다 .#!/path/to/gtk-launch.desktopgtk-launch: no such application ./app.desktop./app.desktop

저는 bspwm을 사용하고 일반적으로 터미널이나 터미널에서 실행하는 것을 선호하므로 파일을 클릭하여 실행할 수 있는 데스크톱이 dmenu_run없습니다 ..desktop

.desktop파일을 실행 가능하게 만드는 방법은 무엇입니까 ?

답변1

답변2

실행 가능한 경우( chmod u+x /path/to/app.desktop) 상단에 다음 shebang을 추가할 수 있습니다.

#!/usr/bin/env xdg-open

그때부터 다음을 사용하여 애플리케이션을 호출할 수 있습니다.

/path/to/app.desktop

예를 들어, 이 .desktop 파일은 xeyes.

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Xeyes
Exec=xeyes
Terminal=false
Type=Application

답변3

파일을 구문 분석하고 Exec=행에서 수행해야 하는 작업을 수행할 수 있습니다. 이렇게 하면 트릭을 수행할 수 있습니다.

$(awk '/^Exec=/{sub(/^Exec=/, ""); print}' file.desktop)

그 안에 있는 것이 무엇이든 file.desktop활성화됩니다.

file.desktop이를 확장하여 APP 매개변수를 허용하고 "Name=APP"이 포함된 파일에서 명령을 실행하는 스크립트를 생성할 수도 있습니다 .

답변4

이미 설치되어 있으면 다음을 gtk-launch실행할 수 있습니다.

gtk-launch example.desktop

관련 정보