Autor Tópico: Alsamixer. Como salvar suas configurações no Ubuntu 16.04LTS?????  (Lida 3786 vezes)

Offline druidaobelix

  • Usuário Ubuntu
  • *
  • Mensagens: 5.430
    • Ver perfil
Re:Alsamixer. Como salvar suas configurações no Ubuntu 16.04LTS?????
« Resposta #30 Online: 27 de Agosto de 2017, 00:11 »
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.
« Última modificação: 27 de Agosto de 2017, 00:30 por druidaobelix »
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Offline druidaobelix

  • Usuário Ubuntu
  • *
  • Mensagens: 5.430
    • Ver perfil
Re:Alsamixer. Como salvar suas configurações no Ubuntu 16.04LTS?????
« Resposta #31 Online: 27 de Agosto de 2017, 16:56 »
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.

Offline druidaobelix

  • Usuário Ubuntu
  • *
  • Mensagens: 5.430
    • Ver perfil
Re:Alsamixer. Como salvar suas configurações no Ubuntu 16.04LTS?????
« Resposta #32 Online: 27 de Agosto de 2017, 17:00 »
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.

Código: [Selecionar]
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:

Código: [Selecionar]
#! /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.

Código: [Selecionar]
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.

« Última modificação: 27 de Agosto de 2017, 17:03 por druidaobelix »
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Offline ricina_debug

  • Usuário Ubuntu
  • *
  • Mensagens: 31
    • Ver perfil
Re:Alsamixer. Como salvar suas configurações no Ubuntu 16.04LTS?????
« Resposta #33 Online: 12 de Setembro de 2017, 16:06 »
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.

Offline druidaobelix

  • Usuário Ubuntu
  • *
  • Mensagens: 5.430
    • Ver perfil
Re:Alsamixer. Como salvar suas configurações no Ubuntu 16.04LTS?????
« Resposta #34 Online: 12 de Setembro de 2017, 16:19 »
Citaram que a causa é os drivers de audio da Realtek com o linux ubuntu, deveria instalar o High Definition Audio Codecs, [...]

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?


« Última modificação: 12 de Setembro de 2017, 16:32 por druidaobelix »
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Offline druidaobelix

  • Usuário Ubuntu
  • *
  • Mensagens: 5.430
    • Ver perfil
Re:Alsamixer. Como salvar suas configurações no Ubuntu 16.04LTS?????
« Resposta #35 Online: 12 de Setembro de 2017, 17:49 »
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:

Código: [Selecionar]
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:

Código: [Selecionar]
sudo chmod +x /bin/zarruda.sh
Crie agora um arquivo de controle de execução na raiz do sistema:

Código: [Selecionar]
sudo touch /testescriptboot.txt
Deixe o arquivo como propriedade do usuário do sistema:

Código: [Selecionar]
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:

Código: [Selecionar]
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):

Código: [Selecionar]
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.
« Última modificação: 12 de Setembro de 2017, 20:18 por druidaobelix »
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.