No Ubuntu, o ConsoleKit gerencia permissões de dispositivos, entre outras coisas. O proprietário da sessão atualmente ativa (em primeiro plano) é adicionado às ACLs dos nós de dispositivos /dev
: Execute getfacl /dev/audio
em uma sessão local e você deverá ver seu nome de usuário lá.
No entanto, isso ainda não funciona com o SSH. Eu tentei ck-launch-session
em uma conexão SSH e o ConsoleKit não marcaria a sessão como "ativa". O arquivo [ConsoleKit TODO
] ainda lista:
- Make openssh report sessions correctly
Not as easy as just using the PAM module.
Eu não tenho um servidor VNC instalado, por isso não pude testar, mas editar seu script de inicialização de sessão VNC (suponho que o VNC tenha um script de inicialização de sessão) para executar, por exemplo, ck-launch-session xfce4-session
em vez de apenas xfce4-session
poderia funcionar.
Use ck-list-sessions
para ver se o seu está marcado como active = TRUE
.
A maneira antiga de atribuir permissões era se adicionar ao grupo audio
, que possui todos os nós de dispositivos de áudio em /dev
. Use sudo gpasswd -a $USER audio
(e lembre-se de que isso não afetará as sessões atualmente abertas).