Verifique se o Áudio Interno está ativo de um login de usuário diferente

1

No meu trabalho, eu aceito funcionários remotos executando o Linux Mint via SSH e VNC.

Cada funcionário usa um fone de ouvido USB, que é o único dispositivo de som que queremos estar ativo. O dispositivo de som que precisamos desabilitar é o dispositivo "Built-in Audio", e se eu abrir um terminal na área de trabalho do funcionário, posso verificar se o dispositivo está desativado executando pacmd list-sinks | grep "Built-in Audio" .

Esse comando também funciona sobre SSH se eu fizer login com o nome de usuário e senha do funcionário, mas se eu tentar SSH com nosso nome de usuário "IT" do administrador, ocorrerá o erro " Nenhum daemon PulseAudio em execução ou não em execução como daemon de sessão. "Ajuda! Por segurança, eu não tenho as senhas locais de cada funcionário, mas não consigo verificar se o Áudio Integrado está ativo quando eu SSH via meu nome de usuário de TI, mesmo quando elevo TI para privilégios de root com su .

Eu tentei usar su - [employee] e, em seguida, acessar a exibição local com o comando export DISPLAY=:0 , mas isso não me permitiu verificar os dispositivos de som também. :(

    
por Jared Dalton 19.11.2015 / 21:10

1 resposta

0

Eu percebi isso! Acontece que o comando aplay --list-devices continha a variável que eu precisava. Executar esse comando me deu as cartas no computador de destino, juntamente com uma seqüência "Subdevices 1/1" na próxima vez. Essa string "subdevices" mudaria para 0/1 se o dispositivo estivesse ligado e para 1/1 se estivesse desativado.

De lá, eu só tive que canalizar grep -A 1 para que eu pudesse analisar o estado do cartão (nesse caso chamado de "Analog") e encapsular a saída em uma declaração if / then para saber se o Áudio Integrado estava ligado ou desligado.

if aplay --list-devices|grep -A 1 Analog|grep Subdevices:\ 0/1;then echo Built-in IS ON;else echo off

    
por 20.11.2015 / 01:07