No Nautilus, você tem duas opções para executar um script ao clicar duas vezes nele:
1. Correr no Terminal
- Usando essa opção, seu script será executado corretamente (como você disse).
2. Executar
-
Usando essa opção, você tem que usar
pkexec(ougksuse você tiver instalado) em vez desudo. Isso porque você não pode executar comandos gráficos que usamsudosem usar um emulador de terminal X, mesmo se você definirsudopara não solicitar senha. -
Então, neste caso, seu script deve se parecer com:
#!/bin/bash check_process() { [ "" = "" ] && return 0 [ 'pgrep -n ' ] && return 1 || return 0 } check_process "motion" if [ $? -eq 0 ] then pkexec /etc/init.d/motion start firefox http://localhost:8081/ > /dev/null & else pkexec /etc/init.d/motion stop killall firefox > /dev/null & fi