O envio de um processo para o segundo plano funciona de maneira diferente do que você supõe especialmente em combinação com sudo
. Por essas razões, recomendo uma abordagem totalmente diferente:
-
Crie um script de shell
tksuite
em algum diretório que esteja em$PATH
, e. g./usr/bin/tksuite
:#!/bin/sh exec /bin/sh /usr/local/tksuite_client/run_client.sh "$@"
-
Torne-o executável:
sudo chmod +x /usr/bin/tksuite
-
Agora você pode iniciar o script com privilégios de superusuário em segundo plano com
gksudo tksuite & disown
Como alternativa, tudo isso pode ser feito em uma função shell
tksuite() {
gksudo -- sh /usr/local/tksuite_client/run_client.sh "$@" &
disown
}
invocável com tksuite
como você pretendia.