터미널을 열지 않고 데스크탑 바로가기를 통해 명령에 인수를 전달하려면 어떻게 해야 합니까?

터미널을 열지 않고 데스크탑 바로가기를 통해 명령에 인수를 전달하려면 어떻게 해야 합니까?

LXDE 데스크탑을 사용하고 있습니다.

파일을 전달한 다음 GUI에서 해당 파일을 열 수 있는 Python 프로그램에 대한 바로 가기를 데스크탑에 만들었습니다.

내 말은 파일(파일의 절대 경로)을 바탕 화면의 바로 가기에 끌어서 놓아 파일(파일의 절대 경로)을 명령에 전달하는 것입니다.

실제로 이것은 이미 작동하지만 데스크탑 항목에서 Terminal=true를 설정한 경우에만 가능합니다. 그러면 분명히 터미널이 열립니다. 터미널을 열지 않고 명령에 인수를 전달하는 방법이 있는지 궁금합니다.

다음과 같은 바로가기를 만들고 있습니다.

[Desktop Entry]
Name=TBOPlayer
Comment=UI for omxplayer
Exec=python /path/to/tboplayer/tboplayer.py "%F"
Icon=/usr/share/pixmaps/python.xpm
Terminal=true
Type=Application

이를 수행할 수 있는 방법이 있습니까?

답변1

.desktop 실행 프로그램에 항상 특정 옵션이 있기를 원하십니까, 아니면 필요할 때 옵션을 입력할 수 있도록 일종의 대화 상자가 나타나기를 원하십니까?

나는 그것이 전자라고 가정하고 있습니다. 이 경우 Exec라인에 옵션을 추가하십시오.

Exec=python /path/to/tboplayer/tboplayer.py --foo "%F"

답변2

기록을 위해.

이렇게 하려면 해당 스크립트를 올바르게 빌드해야 합니다.

#!/usr/bin/python

import os, sys

if __name__ == '__main__':
    input_file = sys.argv[1]
    # do your stuff

및 .desktop 파일

[Desktop Entry]
Comment=description
Exec=python /path/to/script.py "%F"
Icon=/usr/share/pixmaps/xterm.xpm
Name=script name

StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application

가장 중요한 것은 Terminal=false터미널이 실행되지 않도록 하는 것입니다. 이름에서 알 수 있듯이 시작 알림을 끄고 싶을 수도 있습니다 StartupNotify=false. 시작 알림이 꺼지고 대기 아이콘이 표시되거나 이와 유사한 것이 나타납니다.

관련 정보