我创建了一个小脚本来挂载 encfs 文件系统。像这样:
#!/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
当以普通用户或 root 身份从终端运行时,它工作正常。然后我在 KDE 桌面上创建快捷方式来运行该脚本。我必须在快捷方式定义中使用选项“在终端中运行”,因为在其他情况下“encfs”由于密码错误而不会挂载 filesys。但密码输入正确。我做错了什么,所以脚本只能从 KDE 中的“konsole”终端启动才能正常工作?
答案1
注释 /etc/sudoers 中的行,包含
#Defaults requiretty
解决了问题!