활성 디스플레이/vt가 실행 중인 위치와 다르면 일부 명령이 실패합니다. 이 문제를 어떻게 수정/해결할 수 있습니까?

활성 디스플레이/vt가 실행 중인 위치와 다르면 일부 명령이 실패합니다. 이 문제를 어떻게 수정/해결할 수 있습니까?

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

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

"**(프로세스:1388670): 경고**: 네트워크를 활성화/비활성화하는 동안 오류가 발생했습니다. 네트워크를 활성화/비활성화할 권한이 없습니다."

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

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

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

추신: beep필수 또한 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. 우분투 Trusty 매뉴얼 페이지. 8. 2010. (주)캐노니컬

관련 정보