Script usando sudo funciona de um terminal, mas não de um atalho na área de trabalho

1

Eu crio um pequeno script para montar o sistema de arquivos encfs. assim:

#!/bin/bash
kdialog --password "Wprowadź hasło do SSH lub ENTER żeby rozłączyć:" >  /home/maciek/Pobrane/pass-1
sudo encfs -S --public /home/maciek/dir/.dir_c /home/maciek/dir_v < /home/maciek/Pobrane/pass-1
status=$?
if test $status -eq 0
then
cat /dev/null > /home/maciek/Pobrane/pass-1
<command_A>
kdialog --passivepopup "Zamontowano SSH" 5
exit
else
cat /dev/null > /home/maciek/Pobrane/pass-1
<command_B>
kdialog --passivepopup "Rozłączono SSH lub błędne hasło" 5
fi

Funciona bem, quando executado a partir do terminal como usuário comum ou como root. Do que eu crio um atalho na minha área de trabalho do KDE para executar esse script. E eu tenho que usar a opção "Run in terminal" na definição de atalho, porque em outro caso "encfs" não monta filesys, por causa da senha errada. Mas a senha foi digitada corretamente. O que estou fazendo errado, então o script funciona corretamente apenas a partir do terminal "konsole" no KDE?

    
por mackowiakp 22.03.2015 / 09:17

2 respostas

1

Comentando a linha em / etc / sudoers, contendo

#Defaults requiretty

resolveu o problema!

    
por 22.03.2015 / 18:08
0

para executar comandos que solicitam entrada e se recusam a ler de STDIN eu executo o comando na tela , aguarde um segundo, então introduza o feed .

    
por 22.03.2015 / 11:03