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
(ougksu
se você tiver instalado) em vez desudo
. Isso porque você não pode executar comandos gráficos que usamsudo
sem usar um emulador de terminal X, mesmo se você definirsudo
para 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