sudo /usr/bin/ddcutil -d 1 setvcp 60 0xF
암호를 요구하지 않고 실행하여 모니터 입력을 변경하는 바탕화면 바로가기를 만들려고 합니다 . 에 항목을 입력했습니다.sudoers.d디렉토리에 있고 명령이 터미널에서 실행되면 예상대로 비밀번호가 필요하지 않지만 바로 가기를 클릭하면 비밀번호를 묻는 메시지가 표시됩니다. 이 바로가기를 비밀번호 없이 실행하려면 어떻게 해야 합니까?
.desktop 파일:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Windows 10
Comment=Switch Display to Windows Virtual Machine
Icon=/usr/share/icons/windows-icon.png
Terminal=true
Exec=sudo /usr/bin/ddcutil -d 1 setvcp 60 0xF
sudoers 파일:
myusername ALL = NOPASSWD: /usr/bin/ddcutil
해결책여기gksu가 더 이상 사용되지 않고 사용 중이기 때문에 작동하지 않습니다.pkexec대신 답변 중 하나에서 제안한 대로 여전히 비밀번호를 묻는 메시지가 표시됩니다.
답변1
솔루션을 사용하는 것 같습니다pkexec와정책 키트구성.이 답변PolicyKit 설정에 대한 자세한 내용을 다룹니다. 이는 비밀번호를 요구하지 않고 GUI 애플리케이션을 실행하는 데 적합하지만 대부분 그래픽이 아닌 애플리케이션에도 적용됩니다.
제 경우에는 .desktop 파일이 업데이트되어 대체되었습니다.sudo~와 함께pkexec.터미널=다음 중 하나로 설정할 수 있습니다.진실또는거짓:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Windows 10
Comment=Switch Display to Windows Virtual Machine
Icon=/usr/share/icons/windows-icon.png
Terminal=false
Exec=pkexec /usr/bin/ddcutil -d 1 setvcp 60 0xF
그런 다음 PolicyKit 항목을 다음 위치에 만들어야 했습니다./usr/share/polkit-1/actions/com.ubuntu.pkexec.ddcutil.policy:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<action id="com.ubuntu.pkexec.ddcutil">
<defaults>
<allow_active>yes</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/ddcutil</annotate>
</action>
</policyconfig>
/var/log/auth.log디버깅에 필요한 경우 PolicyKit 메시지가 기록되는 곳인 것 같습니다.