Alguns comandos falham quando o display/vt ativo é diferente de onde estão sendo executados. Como corrigir/solucionar isso?

Alguns comandos falham quando o display/vt ativo é diferente de onde estão sendo executados. Como corrigir/solucionar isso?

Esses miniaplicativos estão rodando em X em DISPLAY=:0( fgconsole7).

Applet de rede
Relacionado a nm-applet/ NetworkManagerexecute este comando sleep 10;nmcli nm enable false;beep(você deve estar conectado à internet e ele será desconectado) E pressione rapidamente "Ctrl+Alt+F1" para ir para vt1. Falha com:

"** (process:1388670): AVISO **: Erro ao ativar/desativar a rede: Não autorizado a ativar/desativar a rede"

Frequência da CPU
Relacionado a indicator-cpufreqexecutar este comando sleep 10;cpufreq-selector -g powersave;beepE pressionar rapidamente "Ctrl+Alt+F1" para ir para vt1
Ele irá falhar com esta mensagem

"Erro ao chamar SetGovernor: o chamador não está autorizado"

Como corrigi-lo?
(se você sabe por que isso acontece, eu também gostaria de saber)
(como um usuário normal, podemos emitir esses comandos se estiver na tela certa, então prefiro uma resposta que não exija sudo, se possível)

PS.: beeprequer sudo modprobe pcspkr
Eles falham também quando executados em outro X (ex. sudo -k X :1 & sleep 5;xterm -display :1) com as mesmas mensagens de erro.

Responder1

Você tem o PolicyKit.

PolicyKit é um sistema cliente-servidor para controlar quem está autorizado a fazer o quê. Um programa confiável, como o NetworkManager, pergunta ao PolicyKit por meio de uma chamada de procedimento remoto se o usuário que o invocou está autorizado a executar a ação solicitada por xe.

As regras para ações, processadas pelo servidor de autorização, estão no /usr/share/polkit-1/actionsdiretório. As regras podem indicar como se aplicam a todos os usuários, como se aplicam aos usuários conectados aos terminais virtuais locais que não são o terminal virtual ativo e como se aplicam aos usuários conectados aos terminais virtuais locais quesãoo terminal virtual ativo. Todos os três podem ser diferentes.

Claramente, as regras do seu sistema dizem que essas diversas tarefas privilegiadas só podem ser executadas por usuários conectados aos terminais virtuais que são os ativos. Portanto, mude as regras se quiser que não seja esse o caso.

Leitura adicional

  • polkit. Páginas de manual confiáveis ​​do Ubuntu. 8. 2010. Canonical Ltd.

informação relacionada