Ubuntu 16.04 Unity 데스크탑 파일에서 간헐적인 두 번 클릭 동작을 수정하는 방법

Ubuntu 16.04 Unity 데스크탑 파일에서 간헐적인 두 번 클릭 동작을 수정하는 방법

나는 시도하고 테스트했다..desktop(@terdon 제작)어제 제출했습니다. 여기있어:

"더 깔끔한 접근 방식은 .desktop 파일을 작성하여 스크립트를 시작한 다음 파일을 두 번 클릭하는 것입니다. 예를 들면 다음과 같습니다.

[Desktop Entry]
 Exec=/home/user/yourscript.sh
 Terminal=true
 Type=Application

이 파일을 폴더 foo.desktop에 저장하세요 ~/Desktop. 이제 아이콘으로 표시됩니다. 아이콘을 두 번 클릭하면 스크립트가 터미널에서 실행됩니다. 분명히 /home/user/yourscript.sh스크립트의 실제 경로로 변경해야 합니다 .

@terdon이 제안한 단계를 따를 때 Ubuntu 16.04 Unity 데스크탑에서 파일을 두 번 클릭하는 동작이 간헐적으로 발생합니다. 성공할 때도 있고 데스크톱 항목의 실행 라인에 지정된 bash 스크립트를 실행하지 못하는 경우도 있습니다.

왜 이런 일이 발생하며 어떻게 해결합니까?

이건 /home/venker/.local/share/applications/fsu.desktop실패야

[Desktop Entry]
Exec=/home/venker/Debug/My_NVR_Recorder.exe.cfg
Terminal=true
Type=Application

이것은 /home/venker/Debug/My_NVR_Recorder.exe.cfg작동합니다:

#!/bin/bash
/home/venker/Debug/Generic.cfg -start /home/venker/Debug/My_NVR_Recorder.exe "Recorder Manage"

이것은 /home/venker/Debug/Generic.cfg작동합니다:

#!/bin/bash
if [ $1 == "-start" ]; then 
   exec /usr/lib/mono/4.5/mono-service.exe $2 & >& /dev/null
else 
   pkill "$3"
   mystring="/tmp/${2}.lock"
   rm "$mystring"
fi

위 3개 파일은 rwxr_xr_x로 보호됩니다.

다음은 유효한 스크립트 파일 /home/venker/Debug/My_NVR_Recorder.exe.cfg의 예입니다.

   #!/bin/bash
    exec /usr/lib/mono/4.5/mono-service.exe /home/venker/Debug/My_NVR_Recorder.exe &

답변1

fsu.desktop을 두 번 클릭하는 간헐적인 동작을 제거하는 방법은 다음과 같습니다.

fsu.desktop입니다.

[Desktop Entry]
Name=FSU79
Exec=/usr/bin/gnome-terminal  -e  "bash  -c   /home/wendy/Debug/My_HDR_Recorder.exe.cfg"
Terminal=false
Type=Application

이것은 /home/wendy/Debug/Generic.cfg입니다.

#!/bin/bash

if [ $1 == "-start" ]; then 
    cd /home/wendy/Debug
    exec /usr/lib/mono/4.5/mono-service.exe $2 & >& /dev/null 
else 
   pkill "$3"
   exe=$(echo $2 | grep -oE "[^/]+$")
   mystring="/tmp/${exe}.lock"
   rm "$mystring"
fi

이것은 /home/wendy/Debug/My_HDR_Recorder.exe.cfg입니다.

#!/bin/bash
nohup /home/wendy/Debug/Generic.cfg -start /home/wendy/Debug/My_HDR_Recorder.exe "Recorder Manage"

[2016년 6월 2일 오후 9시 35분 편집] fsu.desktop을 두 번 클릭하는 간헐적인 동작을 완전히 제거하는 원인을 우리 설계자나 나에게 알려줄 수 있습니까? 미리 감사드립니다. ]

관련 정보