Alsamixer. Como salvar suas configurações no Ubuntu 16.04LTS?????

Iniciado por ricina_debug, 19 de Dezembro de 2016, 17:06

tópico anterior - próximo tópico

druidaobelix

#30
Citação de: ricina_debug online 26 de Agosto de 2017, 14:51
Isso!
Ao dar o comando sudo alsactl restore, tudo se resolve.
Mas se reiniciar a máquina, o problema retorna.
Ou seja, o sistema não tá conseguindo executar o comando ao iniciar.

Ok, @ricina_debug, entendi, tanto melhor que seja assim.

Experimentei aqui colocar o comando no runlevel 5 para ser executado como um script no boot, mas não está dando certo, o journalctl retorna:

Citar
Ago 26 11:41:08 hal9005 systemd[1]: Starting LSB: Run /etc/init.d/zarruda.sh...
Ago 26 11:41:08 hal9005 zarruda.sh[657]: alsactl: load_state:1735: No soundcards found...
Ago 26 11:41:08 hal9005 systemd[1]: Failed to start LSB: Run /etc/init.d/zarruda.sh.

Ou seja, o script está sendo executado, mas a função pretendida não é alcançada.

Um tanto quanto absurdo esse "No soundcards found...", mas é o que está retornando, dá a entender que a esse ponto no runlevel 5 o driver ainda não estaria carregado, porque depois evidentemente, aqui, o subsistema de áudio funciona normalmente.

Como a execução é léxica, coloquei no rc5,d no último nível possível como S06 e com o nome de zarruda e no config com "start on runlevel [2345]", que é o mesmo do cron, mas mesmo assim não rolou.  >:(

Não estava querendo ir pelo caminho de ter que autorizar no sudoers, mas no momento não estou vendo outra solução, parece que vai mesmo ser preciso fazer isso e ainda, talvez, adicionar algum 'sleep' para aguardar a interface gráfica carregar de forma completa.

Bem, vou experimentar fazer dessa outra forma, usando o sudoers, vamos ver se dá certo.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

Vamos lá, agora usando o sudoers.

Antes de mais nada uma recomendação essencial, possivelmente você até saiba, mas vamos aletar para aqueles que eventualmente nos lêem e não estão familiarizados com isso: jamais edite diretamente o arquivo sudoers, não é assim que funciona, você vai perder o acesso ao seu sistema e irá inutilizá-lo.

A edição do sudoers se dá através do "visudo" e não qualquer outro meio.

Ele está programado para, antes de gravar as alterações, fazer uma verificação de sintaxe e alertar se há algum problema.
Não grave no arquivo se existirem incorreções, não grave se receber o alerta de erro de sintaxe, se fizer perde o acesso ao sudo.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

#32
Feitos os alertas necessários quanto ao sudoers, indo adiante:

Crie um script dentro do diretório /bin com o comando que se quer executar.

Vamos chamar esse script de zarruda.sh

O z do nome é porque enquanto testava a opção do init onde a execução é léxica e então se queria que ele ficasse lá pelo final do runlevel5, então optei pelo z inicial no nome, a arruda é para benzer pra ver se funciona, mas é claro que pode ser qualquer outro nome mais esclarecedor, porém a inspiração naquele momento foi essa, então mantive. No futuro, querendo, você adequa com o nome que quiser.

sudo gedit /bin/zarruda.sh

Evidentemente vai abrir uma arquivo em branco porque ele antes não existia.

Copie aqui e cole nele o seguinte conteúdo:


#! /bin/sh -e

#Tópico ubuntuforum-br
#autor do tópico: ricina_debug
#https://ubuntuforum-br.org/index.php/topic,121178.15.html

PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/$USER/.config
MYNAME=/bin/zarruda.sh

alsactl restore




Salvar e sair

Click agora lá no Dash, que é o primeiro ícone da coluna de ícones do Ubuntu padrão (=Unity) e no ícone "Aplicativos iniciais de sessão"

Click no botão "Adicionar"

Na janela que se abre com o título "Adicionar programa inicial" preencha no campo nome (pode ser qualquer nome, como queira, mas fiz com esse):

zarruda.sh-alsactl-restore

No campo comando:

sudo /bin/zarruda.sh

No campo comentário:

deixe em branco.

Click em Salvar e em seguida em Fechar

Agora a parte delicada, que é alterar o sudoers, simples de fazer, porém atenção a qualquer mensagem de erro, não grave se algo der errado nessa alteração.

sudo visudo

Acrescente no final do arquivo a linha:

username maquina = NOPASSWD: /bin/zarruda.sh

onde está username coloque o nome do usuário real do seu sistema, onde está máquina coloque o identificador real da sua máquina.

Por exemplo, se no prompt do seu terminal aparece assim:

pedro@computadorcasa:~$

então pedro é o username e computadorcasa é o nome que foi atribuído à máquina.

Então, ilustrando esse hipotético exemplo, a linha no sudoers ficaria assim.

pedro computadorcasa = NOPASSWD: /bin/zarruda.sh

Então é só adequar ao caso concreto que há aí no seu sistema, seguindo o exemplo acima.

No visudo gravar e sair possui uma forma especial.

No menu inferior onde está o símbolo ^ (acento circunflexo) significa a tecla Ctrl

ou seja, use as teclas:

Ctrl o  (vogal letra o, como em ovo) para gravar

Ctrl x para sair

Reinicie o sistema para poder testar se a alteração produziu o efeito desejado.

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

ricina_debug

Realizei todos os procedimentos aqui expostos, mais nenhum resolveu o problema.
Fui mais fundo na pesquisa sobre o problema, com ajuda do google. Encontrei relatos de problemas iguais.
Citaram que a causa é os drivers de audio da Realtek com o linux ubuntu, deveria instalar o High Definition Audio Codecs, encontrado em: http://www.realtek.com.tw/downloads/downloadsCheck.aspx?Langid=1&PNid=24&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false.
Tentei instalar, mas não obtive sucesso, tudo precisava de compilação e tinha q ter acesso direto ao kernel do Ubuntu, mas como a realtek é meio antigona, para Kernel de versões nova tem sido um problema relatada por vários conseguir instalar no UBUNTU 16.04. Se alguém puder me ajudar, ou indicar um caminho de sucesso, agradeço.
Mas desde de já, agradeço a todos que me deram sua ajuda até aqui.

druidaobelix

#34
Citação de: ricina_debug online 12 de Setembro de 2017, 16:06
Citaram que a causa é os drivers de audio da Realtek com o linux ubuntu, deveria instalar o High Definition Audio Codecs, [...]

Citação de: ricina_debug online 26 de Agosto de 2017, 14:51
Isso!
Ao dar o comando sudo alsactl restore, tudo se resolve.
Mas se reiniciar a máquina, o problema retorna.
Ou seja, o sistema não tá conseguindo executar o comando ao iniciar.


Mas você não disse antes que se faz manualmente resolve a questão?
Então o problema não é mais drivers esse ou aquele e sim simplesmente automatizar a execução desse comando.
Ou não é isso?

Se faz manualmente resolve ou não resolve?
Sim ou não?


www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

#35
Primeiro precisa ter certeza que o script em /bin/zarruda.sh está de fato sendo executado.
Apenas vendo se funcionou ou não funcionou a questão de fundo do alsamixer não dá para logicamente afirmar que o script realmente executou.
Então esse é o primeiro passo, obter **certeza** que todo o procedimento foi corretamente observado e que o script esteja de fato sendo executado.

Também, como disse antes, lá na penúltima linha do post #30, pode ser que esteja sendo executado, porém não no momento apropriado que é após o carregamento efetivo de todo o desktop, então eventualmente precisa introduzir um sleep para atrasar um pouco a execução.

Como verificar de forma objetiva se o script foi ou não executado?

Vamos usar dois métodos para esse finalidade.

a) verificação controle de conteúdo

Vai fazer exatamente como mencionado no post #32, porém no conteúdo do script vai adicionar linhas de controle, de forma que possa certificar a execução.

Novamente:

sudo gedit /bin/zarruda.sh

Agora deixe o conteúdo do script da seguinte forma:

Citar
#! /bin/sh -e

#Tópico ubuntuforum-br
#autor do tópico: ricina_debug
#https://ubuntuforum-br.org/index.php/topic,121178.15.html

PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/$USER/.config
MYNAME=/bin/zarruda.sh

alsactl restore

#controle de execução (depois retiramos)
#comandos extras podem ser apagados se o script funcionar:

echo "Registro para ver se o script fuciona no boot" >> /testescriptboot.txt
echo "Horário que o script foi executado:" >> /testescriptboot.txt
date >> /testescriptboot.txt
echo >> /testescriptboot.txt

Salvar e sair

Tornar o script executável:

sudo chmod +x /bin/zarruda.sh

Crie agora um arquivo de controle de execução na raiz do sistema:

sudo touch /testescriptboot.txt

Deixe o arquivo como propriedade do usuário do sistema:

sudo chown $USER /testescriptboot.txt

No mais, é preciso fazer tudo o mais **exatamente** como está previsto lá no post $32, ou seja, adicionar nos "Aplicativos iniciais de sessão" e autorizar no sudoers, da forma como é lá mencionada.

Está pronto, uma vez concluído todo o procedimento agora é reiniciar o sistema e observar se o script de fato executou ou não.

Como fazer para verificar?

Cada vez que reinicia o sistema o script deverá ter criado um entrada no arquivo /testescriptboot.txt, então isso deve ser verificado se está mesmo ocorrendo, pois se não estiver algo está errado e precisa ser revisado.

Reinicou, então faça:

cat /testescripboot.txt

O que é que aparece como resultado desse último comando a cada reinício (traga ao tópico o resultado)?


b) verificação journalctl

Após todo o procedimento e após reiniciar, confirme também a execução do script fazendo (traga ao tópico o resultado):

journalctl | grep zarruda.sh


Ultimadas essas duas verificações de forma consistente e ainda assim o resultado esperado no alsamixer não é produzido, então, como dito antes, se deve partir para introduzir o sleep na execução do script, esse será o próximo passo no caso do não funcionamento.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

oleg@

Também tentei as possibilidades indicadas e nada de manter as configurações.

druidaobelix

Citação de: oleg@ online 21 de Dezembro de 2017, 12:10
Também tentei as possibilidades indicadas e nada de manter as configurações.

Então, @oleg,

Mas o seu caso é idêntico ao exposto aqui neste tópico?

Confirmou se está gravando no arquivo controle conforme proposto no procedimento?

Se sim, acrescente um sleep para atrasar um pouco a execução, pois a regravação precisa ser feita após realmente ter ocorrido todo o carregamento completo da interface gráfica.
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

mm76

Olá!, Tudo bem pessoal?
Sou novo no fórum.

Antes de qualquer apresentação quero compartilhar minha experiência com esse mesmo problema de áudio, aqui começou depois que
instalei o XFCE, seco, limpo sem os pacotes do Xubuntu, não entendi muito bem mas dia 25 de Fevereiro começou o meu calvário.. hahaha
e depois de muita pesquisa cheguei aqui, mas resolvi juntando informações de vários fóruns.. é osso!, lendo e relendo desinstalei o XFCE
e o erro persistiu, o mute do "headphone" teimava em permanecer ativo após reiniciar ou sair da sessão, resolvi partir para o extremo,
já fazia dias que tentava de tudo e nada, joguei tudo pro alto... removi o pulse áudio e alsa utils sem dó!, na reinstalação o áudio voltou
mas com outra consequência, as teclas multimídia do note morreram.. fiz um novo processo e voltou mas..... sempre mas.. o erro de guardar
configuração no áudio voltou.. que saco!.. vi todas as dicas postadas aqui e segui a risca e nada, mas consegui com essa
dica aqui https://goo.gl/U7er3P, salvei as linhas no .desktop conforme postado e tudo voltou ao normal,
tudo isso ocorreu no Ubuntu 17.10 com Wayland (quando instalei o xfce tinha entrado no xorg antes), não sei bem o que
houve mas resolvi, nessa busca encontrei muitos fóruns sobre o Ubuntu que jamais tinha visto.. são muitos e isso sem
dúvidas ajuda demais assim como esse aqui que já acompanho de fora a um bom tempo.

Peço desculpas pela pequena intromissão no tópico, mas acho que toda informação é válida.