활성 디스플레이/vt가 실행 중인 위치와 다르면 일부 명령이 실패합니다. 이를 수정/해결 방법은 무엇입니까?

활성 디스플레이/vt가 실행 중인 위치와 다르면 일부 명령이 실패합니다. 이를 수정/해결 방법은 무엇입니까?

DISPLAY=:0이 애플릿은 X ( fgconsole7) 에서 실행됩니다 .

네트워크애플릿
관련 nm-applet/ NetworkManager이 명령을 실행하고 sleep 10;nmcli nm enable false;beep(인터넷에 연결되어 있어야 하며 연결이 끊어집니다) vt1로 이동하려면 "Ctrl+Alt+F1"을 빠르게 누르십시오. 다음과 같이 실패합니다.

"** (프로세스: 1388670): 경고 **: 네트워킹 활성화/비활성화 오류: 네트워킹을 활성화/비활성화할 권한이 없습니다."

CPU주파수
indicator-cpufreq이 명령을 실행 sleep 10;cpufreq-selector -g powersave;beep하고 "Ctrl+Alt+F1"을 빠르게 눌러 vt1로 이동하는 것과 관련됩니다 .
이 메시지와 함께 실패합니다.

"SetGovernor 호출 오류: 발신자가 인증되지 않았습니다."

어떻게 고치나요?
(이런 일이 발생하는 이유를 알고 계시다면 저도 알고 싶습니다.)
(일반 사용자로서 올바른 디스플레이에 있으면 이러한 명령을 실행할 수 있으므로 가능하면 sudo가 필요하지 않은 답변을 선호합니다)

PS.: beeprequire sudo modprobe pcspkr
다른 X(예: )에서 실행해도 sudo -k X :1 & sleep 5;xterm -display :1동일한 오류 메시지와 함께 실패합니다.

답변1

PolicyKit이 있습니다.

PolicyKit은 누가 무엇을 할 수 있는지 제어하기 위한 클라이언트-서버 시스템입니다. NetworkManager와 같은 신뢰할 수 있는 프로그램은 원격 프로시저 호출을 통해 PolicyKit을 호출한 사용자가 xe가 요청한 작업을 수행할 권한이 있는지 여부를 묻습니다.

권한 부여 서버에서 처리되는 작업 규칙은 디렉터리에 있습니다 /usr/share/polkit-1/actions. 규칙은 모든 사용자에게 적용되는 방법, 활성 가상 터미널이 아닌 로컬 가상 터미널에 로그온한 사용자에게 적용되는 방법, 활성 가상 터미널이 아닌 로컬 가상 터미널에 로그온한 사용자에게 적용되는 방법을 명시할 수 있습니다.~이다활성 가상 터미널. 세 가지 모두 다를 수 있습니다.

분명히 시스템의 규칙에 따르면 이러한 다양한 권한 있는 작업은 활성 터미널인 가상 터미널에 로그온한 사용자만 수행할 수 있습니다. 따라서 그런 일이 발생하지 않도록 하려면 규칙을 변경하세요.

추가 읽기

  • polkit. Ubuntu Trusty 매뉴얼 페이지. 8. 2010. 캐노니컬(주)

관련 정보