debian.org / О Debian Где взять Debian Поддержка Уголок разработчика Новости Wiki

Автор Тема: Debian Stretch 9 нет звука без его "ручного" включения [РЕШЕНО]  (Прочитано 594 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн frvladimir

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 11
Установил Debian 9.9 XFCE на Asus eec pc 1015p. Все более менее нормально, однако по умолчанию нет звука, ни в браузере ни в плеере. Если от root в терминале прописать "alsactl init 0", то он включается, однако после перезагрузки это надо делать заного, что очень неудобно. Как включить звук раз и навсегда? Вывод каких команд стоит посмотреть?
« Последнее редактирование: 23 Май 2019, 11:17:58 от frvladimir »
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3374
  • Buster TDE & Buster LXDE & stretch KDE
Звук в наушниках, вставить вынуть Джек.включается и через alsamixer, но только до перезагрузки. У меня вылечить не получается,да и пользуюсь в основном наушниками.
Русские дебианщики против цифрового слабоумия !
 

Оффлайн ecc83

  • Ветеран
  • *****
  • Сообщений: 1297
  • Debian, Openbox
У меня вылечить не получается

Там systemd юнит при каждой загрузке должен восстанавливать конфигурацию.
Если он по какой то причине отсутствует, то создать его вручную.
 

Оффлайн frvladimir

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 11
А можно ли написать както скрипт и поставить его на автозапуск? Где будет прописанна команда "alsactl init 0" (с учетом того что она работает только от root).
 

Оффлайн ecc83

  • Ветеран
  • *****
  • Сообщений: 1297
  • Debian, Openbox
Для этого скрипт не обязателен.

Выполни в терминале:

echo "@reboot  root  /bin/sh -c 'sleep 5 && /usr/sbin/alsactl init 0'" | sudo tee -a /etc/crontab
 
Пользователи, которые поблагодарили этот пост: frvladimir

Оффлайн frvladimir

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 11
Для этого скрипт не обязателен.

Выполни в терминале:

echo "@reboot  root  /bin/sh -c 'sleep 5 && /usr/sbin/alsactl init 0'" | sudo tee -a /etc/crontab

Идею я понял. Так действительно рациональней чем скрипт. Но к сожалению все осталось на своих местах. "sudo alsactl init 0" работает, а задача планировщика cron нет.
« Последнее редактирование: 19 Май 2019, 23:01:18 от frvladimir »
 

Оффлайн frvladimir

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 11
Я сделал элементарнейший скрипт. 

#!/bin/sh
sudo alsactl init 0
Поместил этот скрипт в "/home/username/.config/autostart/". И... не работает при загрузке. Тоже самое если воспользоватся настройками xfce "Сеансы и запуск" и указать на скрипт в автозакгрузке. При этом сам я его запустить могу все нормально. Почему скрипт может не срабатывать в таком случае? И конечно остается непонятным как всетаки alsa заставить запомнить конфигурацию без скрипта.


« Последнее редактирование: 20 Май 2019, 01:02:55 от frvladimir »
 

Оффлайн ecc83

  • Ветеран
  • *****
  • Сообщений: 1297
  • Debian, Openbox
Но к сожалению все осталось на своих местах. "sudo alsactl init 0" работает, а задача планировщика cron нет.

Тогда открой crontab:

sudo nano /etc/crontab
В самом низу последняя строка будет такой:

@reboot  root  /bin/sh -c 'sleep 5 && /usr/sbin/alsactl init 0'
измени время задержки, установи sleep 15 вместо sleep 5


Поместил этот скрипт в "/home/username/.config/autostart/". И... не работает при загрузке. Тоже самое если воспользоватся настройками xfce "Сеансы и запуск" и указать на скрипт в автозакгрузке. При этом сам я его запустить могу все нормально. Почему скрипт может не срабатывать в таком случае?

Ну неужели не очевидно, что когда ты запускаешь свою команду в терминале:

sudo alsactl init 0
то появляется запрос о вводе пароля.
Кто, то твоему, будет вводить твой пароль при автозагрузке этой команды?
 

Оффлайн frvladimir

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 11
Но к сожалению все осталось на своих местах. "sudo alsactl init 0" работает, а задача планировщика cron нет.

Тогда открой crontab:

sudo nano /etc/crontab
В самом низу последняя строка будет такой:

@reboot  root  /bin/sh -c 'sleep 5 && /usr/sbin/alsactl init 0'
измени время задержки, установи sleep 15 вместо sleep 5


Поместил этот скрипт в "/home/username/.config/autostart/". И... не работает при загрузке. Тоже самое если воспользоватся настройками xfce "Сеансы и запуск" и указать на скрипт в автозакгрузке. При этом сам я его запустить могу все нормально. Почему скрипт может не срабатывать в таком случае?

Ну неужели не очевидно, что когда ты запускаешь свою команду в терминале:

sudo alsactl init 0
то появляется запрос о вводе пароля.
Кто, то твоему, будет вводить твой пароль при автозагрузке этой команды?

Запроса пароля нет. Сам скрипт работает я же сказал. Запроса нет т.к. visudo настроен соответствующим образом. Я конечно не шипко разбираюсь но не на столько)
Поправка "sleep" не работает. В том виде что ты написал. Но... тут еще одна интерестная тема обнаружилась...если поставить несколько одинаковых скриптов на автозагрузку описанным мной способом (или просто поставить там команды от sudo) то магическим образом он работает... Так вот... если в /etc/crontab прописать
* * * * * root  alsactl init 0
* * * * * root ( sleep 20 ; alsactl init 0 )

То все тоже работает! Это чуть менее магический способ чем одинаковые скрипты) Объяснить не могу что сбивает процесс в 1 раз, но факт есть факт... Спасибо! В любом случае без советов я бы еще долго это не написал. Не знаю стоит ли считать тему закрытой...ведь способ то явно сверхкостылен) Однако он не требует снимать пароль с sudo и потому явно более корректен.

« Последнее редактирование: 20 Май 2019, 10:25:32 от frvladimir »
 

Оффлайн ecc83

  • Ветеран
  • *****
  • Сообщений: 1297
  • Debian, Openbox
Покажи вывод:

sudo cat /etc/crontab
which alsactl
« Последнее редактирование: 20 Май 2019, 10:36:27 от ecc83 »
 

Оффлайн frvladimir

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 11
which alsactl
Покажи вывод:

Код: [Выделить]

sudo cat /etc/crontab


Код: [Выделить]

which alsactl

crontab

0# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root    cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
* * * * * root  alsactl init 0
* * * * * root ( sleep 20 ; alsactl init 0 )
#@reboot  root  /bin/sh -c 'sleep 20 && /usr/sbin/alsactl init 0'

which alsactl

/usr/sbin/alsactl
 

Оффлайн ecc83

  • Ветеран
  • *****
  • Сообщений: 1297
  • Debian, Openbox
Настройка cron таким образом:

* * * * * root  alsactl init 0
Означает срабатывание каждую минуту.

Убери всё то, что ты вставил, исправь так, как я давал ранее, но только последняя строка должна быть с символом '#'

То есть вот так:

@reboot  root  /bin/sh -c 'sleep 20 && /usr/sbin/alsactl init 0'
#

Ещё, внимательно смотри ЧТО ты редактируешь.
Что за первая строка в файле crontab ???
Откуда там НОЛЬ?
« Последнее редактирование: 20 Май 2019, 10:54:17 от ecc83 »
 
Пользователи, которые поблагодарили этот пост: frvladimir

Оффлайн gardarea51

  • Старожил
  • ****
  • Сообщений: 700
  • Jabber: gard.area51@jabber.ru
alsactl store?
 

Оффлайн ChubaDuba

  • Старожил
  • ****
  • Сообщений: 521
  • Debian 9 + Xmonad
  • Jabber: achubakov@jabber.ru
« Последнее редактирование: 20 Май 2019, 15:23:35 от ChubaDuba »
 

Оффлайн frvladimir

  • Пользователь
  • *
  • Topic Author
  • Сообщений: 11
Настройка cron таким образом:

* * * * * root  alsactl init 0
Означает срабатывание каждую минуту.

Убери всё то, что ты вставил, исправь так, как я давал ранее, но только последняя строка должна быть с символом '#'

То есть вот так:

@reboot  root  /bin/sh -c 'sleep 20 && /usr/sbin/alsactl init 0'
#

Ещё, внимательно смотри ЧТО ты редактируешь.
Что за первая строка в файле crontab ???
Откуда там НОЛЬ?

Ноль случайно написал (нажал случайно) ) # я поставил перед "@reboot" уже потом) после того как он не сработал и я написал две первые строки, ту  закомментировал) Но ты знаешь...я сейчас убрал закомментирование... и он тоже заработал... не буду выяснять что за гадость я сделал в 1 раз) вообщем такая команда (которую ты написал) пашет все норм. Извиняюсь за невнимательность)
« Последнее редактирование: 21 Май 2019, 14:23:46 от frvladimir »
 

Русскоязычное сообщество Debian GNU/Linux



Теги: звук stretch 
 

debian 8 jessie без видеокарты

Автор gg.cfg

Ответов: 8
Просмотров: 976
Последний ответ 11 Октябрь 2016, 08:14:23
от qupl
Воспоизведение интернет-радиостанций в Debian

Автор calambus

Ответов: 9
Просмотров: 4111
Последний ответ 18 Ноябрь 2013, 01:17:34
от Сет
jackd2 + alsa debian squeeze

Автор alikthename

Ответов: 2
Просмотров: 1509
Последний ответ 26 Февраль 2011, 16:17:10
от polzovatel
Видеокарта под Debian Jessie

Автор BegU

Ответов: 3
Просмотров: 865
Последний ответ 04 Декабрь 2016, 14:21:07
от ferum
Debian 7.4 отсутствует звук (ALSA)

Автор InterWall

Ответов: 7
Просмотров: 4184
Последний ответ 02 Апрель 2014, 14:08:32
от Olej