Eu imagino que o sudo está preservando seu ambiente do usuário root e, portanto, pode não ter caminhos ou outras variáveis de ambiente que o usuário martin
definiu. Pode ser também que você precise executar jack
via sudo de um shell com a opção -s /path/to/shell
.
No entanto, como root, você tem os direitos para su
(usuário substituto) sem ser solicitada uma senha (e não requer configuração do sudo para conseguir isso, o sudo é especificamente destinado a usuários não-root).
su - martin -c /usr/bin/jackd ...
-c
diz ao su qual comando executar, e a opção -
(que também pode ser feita via -l
) tentará configurar o ambiente semelhante ao do usuário que está sendo executado como (em neste caso martin
).