파일 관리자에서 sudo 명령을 호출할 때 실패했습니다.

파일 관리자에서 sudo 명령을 호출할 때 실패했습니다.

Fedora 20 설치에서 다음 스크립트를 실행하려고 합니다.

#!/bin/bash
password={password}
echo "$password" | sudo -Sk /bin/bash -c '[[ $EUID -eq 0 ]]'
[[ $? -ne 0 ]] && zenity --error --text failed. || zenity --error --text success.

터미널 에뮬레이터에서 실행하려고 하면 성공이 보고되지만 파일 관리자(이 경우 Thunar)에서 스크립트를 두 번 클릭하면 실패가 보고됩니다.

일부 다른 배포판(예: Debian Wheezy)에서는 일관된 동작을 보입니다.

왜 이런 일이 발생합니까? 이 문제를 해결하려면 어떻게 해야 합니까?

답변1

/etc/sudoers 파일(visudo를 사용하여 액세스 가능)에서 다음을 수행 requiretty하여 프로그램에 대해 이 기능을 끌 수 있습니다.

Defaults!/path/to/program !requiretty

귀하의 경우에는 bash를 사용하고 있으므로 이 경로는 에서 얻는 모든 것이 됩니다 which bash.

답변2

/etc/sudoerssudo가 파일에 tty를 요구하지 않는지 확인해야 합니다 ( requiretty설정하면 안 됨).

관련 정보