Como corrigir o comportamento de clique duplo intermitente dos meus arquivos de desktop do Ubuntu 16.04 Unity

1

Eu testei e testei o arquivo @ terdon's .desktop ontem. Aqui está:

"A cleaner way would be to write a .desktop file that launches your script and then double click that. Something like:

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

Save that file as foo.desktop in your ~/Desktop folder. That will now appear as an icon there and double clicking it will cause your script to be run in a terminal. Obviously, you need to change /home/user/yourscript.sh to the actual path of your script

Quando sigo os passos sugeridos pelo @terdon, o comportamento de clique duplo dos meus arquivos de desktop do Ubuntu 16.04 Unity é intermitente. Às vezes, é bem-sucedida, outras vezes falha ao lançar o script bash apontado na linha exec do Desktop Entry.

Por que isso pode ocorrer e como eu corrijo esse problema?

Aqui está o /home/venker/.local/share/applications/fsu.desktop que falha

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

Aqui está o /home/venker/Debug/My_NVR_Recorder.exe.cfg que funciona:

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

Aqui está o /home/venker/Debug/Generic.cfg que funciona:

#!/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

Os 3 arquivos acima são protegidos por rwxr_xr_x.

Aqui está um exemplo de um arquivo de script, /home/venker/Debug/My_NVR_Recorder.exe.cfg, que funciona:

   #!/bin/bash
    exec /usr/lib/mono/4.5/mono-service.exe /home/venker/Debug/My_NVR_Recorder.exe &
    
por Frank 01.06.2016 / 10:48

1 resposta

1

Veja como eliminei o comportamento intermitente de clicar duas vezes no fsu.desktop.

Isso é 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

Isso é /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

Isso é /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"

[EDIT 2 de junho de 2016 21h35 Alguém poderia deixar nosso arquiteto ou eu saber a razão pela qual isso elimina totalmente o comportamento intermitente de clicar duas vezes no fsu.desktop? Obrigado antecipadamente.]

    
por 02.06.2016 / 03:44