Автор Гілка: Помилка відкриття аудіо: Пристрій або ресурс зайнято  (Прочитано 9323 раз)

Відсутній Xvost

  • Новачок
  • *
  • дописів: 8
  • Карма: +0/-0
    • Пост Ворскла
Створив в crontab завдання для програвання кожної години відповідного файлу. І зіткнувся з проблемою.
Х * * * * aplay /home/xvost/.program_files/Clock/20-00.wavФайл програється за розкладом, але тільки якщо не програється файл музики або відео. При цьому ця ж команда ч/з термінал спокійно відтворює звук при працюючих програвачах.

aplay /home/xvost/.program_files/Clock/20-00.wavКоманда в терміналі + працюючий плеєр (Qmmp) - файл відтворюється.

Лог
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
aplay: main:830: помилка відкриття аудіо: Пристрій або ресурс зайнято

Якщо через термінал можна програти файл при працюючому аудіоплеєрі або відео, то як змоделювати цю ситуацію для виконання cron?
HP 250 G7 (1F3H9EA) Silver; Intel® Celeron(R) N4020 CPU @ 1.10GHz × 2; Mesa Intel® UHD Graphics 600 (GLK 2)
Ubuntu 20.04

gdekjifgb

  • Гість
??? а з якими правами запускаються cron-завдання ?

Відсутній Xvost

  • Новачок
  • *
  • дописів: 8
  • Карма: +0/-0
    • Пост Ворскла
Так, а з цього місця можна докладніше?
HP 250 G7 (1F3H9EA) Silver; Intel® Celeron(R) N4020 CPU @ 1.10GHz × 2; Mesa Intel® UHD Graphics 600 (GLK 2)
Ubuntu 20.04

gdekjifgb

  • Гість
Створив в crontab завдання для програвання кожної години відповідного файлу. І зіткнувся з проблемою.
Х * * * * aplay /home/xvost/.program_files/Clock/20-00.wavФайл програється за розкладом, але тільки якщо не програється файл музики або відео. При цьому ця ж команда ч/з термінал спокійно відтворює звук при працюючих програвачах.
е-е-ем, якщо програється в цій ситуації, значить з правами все в порядку. Я не уважно читав.

У мене така сама "проблема".
ноя 16 16:03:52 mbs crontab[3701]: (xuser) LIST (xuser)                                                                                                                                                                                     
ноя 16 16:04:01 mbs CRON[3704]: pam_unix(cron:session): session opened for user xuser by (uid=0)
ноя 16 16:04:01 mbs CRON[3705]: (xuser) CMD (/usr/bin/mpg123 /home/xuser/\320\234\321\203\320\267\321\213\320\272\320\260/demo_moya_vesna.mp3)
ноя 16 16:04:01 mbs pulseaudio[3356]: [alsa-sink-ALC887-VD Analog] alsa-sink.c: Error opening PCM device front:1: Устройство или ресурс занято

Тепер і мені цікаво як чому і хто в*ся.

Воно також не хоче грати коли медіа програється у браузері. Я пробував гаглити, але нажаль не дуже хочу витрачати час на цю "жахливу проблему".
« Змінено: 2020-11-16 17:30:04 від gdekjifgb »

Відсутній ysenko

  • Новачок
  • *
  • дописів: 35
  • Карма: +1/-0
  • Python developer
Ви не один такий

1. https://unix.stackexchange.com/questions/242732/problem-using-crontab-playing-beep-sound
2. https://www.kubuntuforums.net/showthread.php/77287-crontab-mystery
3. https://askubuntu.com/questions/1255550/cannot-play-a-sound-with-cron-since-recent-system-update-ubuntu-19-10

Наразі, гапотеза така, що оскільки cron виконує команду від імені користувача root, то губиться налаштування середовища. Можна спробувати побавитися з порадами по першому лінку і встановити змінну середовища XDG_RUNTIME_DIR, або спробувати виконувати команду від імені вашого користувача

Також можна спробувати віддтворити проблеми з-під користувача root
import antigravity

gdekjifgb

  • Гість
Ви не один такий

...

Також можна спробувати віддтворити проблеми з-під користувача root
Під root не програється (і з sudo і без sudo).
xuser@mbs:~$ sudo mpg123 /home/xuser/Музыка/demo_moya_vesna.mp3
[sudo] пароль для xuser:
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.
Version 0.3.2-1 (2012/03/25). Written and copyrights by Joe Drew,
now maintained by Nanakos Chrysostomos and others.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Title   : ��� �����                      Artist : ����                         
Album   :                                Year    : 2009
Comment :                                Genre : Pop                           

Directory: /home/xuser/Музыка
Playing MPEG stream from demo_moya_vesna.mp3 ...
MPEG 1.0 layer III, 160 kbit/s, 44100 Hz joint-stereo
No protocol specified
xcb_connection_has_error() returned true
Home directory not accessible: Permission denied
Error opening unknown libao pulse driver. (Is device in use?)


А також у всих і завжди деякі програми з граф інтерфейсом також не працюють через
No protocol specified
xcb_connection_has_error(
або через те що не можуть отримати доступ до х-сервера. Цей приклад наведений від балди. Але кожен стикався зі схожою помилкою.

Мені б зараз допереписувати код сайту..., а займаюсь не тим  :'(

gdekjifgb

  • Гість
ата-та, проблему вирішив. Зараз іще раз перевірю...

1
xuser@mbs:~$ env|grep -i runt
XDG_RUNTIME_DIR=/run/user/1000

2 створюємо файлик play.sh (пам'ятаємо про chmod)
#!/bin/bash
export XDG_RUNTIME_DIR=/run/user/1000
/usr/bin/mpg123 $1


3 crontab -e
хх * * * * /home/xuser/bin/play.sh /home/xuser/Музыка/demo_moya_vesna.mp3
4
$%)) ata-ta %:)
До ТС: Поділіться балакаючими годинниками (медіафайлами). Вже  сам собі зробив.

Змінив mpg123 на mplayer, бо mpg123 чомусь видає тільки на один динамік.
« Змінено: 2020-11-16 22:20:22 від gdekjifgb »

Відсутній ysenko

  • Новачок
  • *
  • дописів: 35
  • Карма: +1/-0
  • Python developer
Цитата
Під root не програється (і з sudo і без sudo).

А тепер можна спродувати з "sudo -E" яка теоретично має зберегти всі змінні середовища,... можливо.

https://manpages.ubuntu.com/manpages/xenial/man8/sudo.8.html
import antigravity

блапрол

  • Гість
Можливо і можна, але я не хочу експериментувати. І ето... Ця "проблема" не моя. У мене зараз інші турботи: наприклад, встигнути написати пошук в уоментарах до картинок (та і сам вивід фогтокоментарів потрібно переписати в/на ооп). І обов'язково відобразити все в юмл, а  потім трішки порефакторити щойно написане. І саме найголовніше!: все це потрібно зробити поки в хаті тепло, бо коли буде дюдя*, то тоді буде проблематично зосередитись на коді.

І аж потім (не знаю коли  :() записати коротеньке відео про код в/на ооп, і про прой-функц стиль. На проц-функц стиль без заспокійливих засобів дивитись КАТЕГОРИЧНО НЕ РЕКОМЕНДУЮ.

блапрол

  • Гість
*дюдя - холодно

Миха́йло Даниленко

  • Гість
А ви стрес-тестування (або фуззінг) запускайте, щоб хату зігріти.

Відсутній Xvost

  • Новачок
  • *
  • дописів: 8
  • Карма: +0/-0
    • Пост Ворскла
gdekjifgb, дякую! Ваш спосіб працює.

Викладую мої файли для балакаючого годинника. Звук перед голосом зпер з цієї проги. Бо досить довго користувавсь нею під віндою і до того звука звик.
HP 250 G7 (1F3H9EA) Silver; Intel® Celeron(R) N4020 CPU @ 1.10GHz × 2; Mesa Intel® UHD Graphics 600 (GLK 2)
Ubuntu 20.04

gdekjifgb

  • Гість
Я сам випадково  ;D зробив собі балакаючий годинник, тепер підстрибую на стільчику - жахаюсь коли воно говорить. Мене лякають не очікувані звуки.

І про "проблему" напишу: Якщо система виходить зі сплячого режиму, то доводиться вислухувати всі "проспані" системою години.

---
спосіб не на 100% мій. я підозрював що щось з оточенням не так. Без М Даниленка ysenko я б довше шукав би рішення цієї "проблеми". Або взагалі зайнявся б іншими справами.

І ето... якщо в скрипті написати ... - це вже неважливо.

---
перетупав трішки. вже виправився
« Змінено: 2020-11-19 20:15:43 від gdekjifgb »

Відсутній Xvost

  • Новачок
  • *
  • дописів: 8
  • Карма: +0/-0
    • Пост Ворскла
Ну, я сплячим режимом не користуюсь, отже не критично.
HP 250 G7 (1F3H9EA) Silver; Intel® Celeron(R) N4020 CPU @ 1.10GHz × 2; Mesa Intel® UHD Graphics 600 (GLK 2)
Ubuntu 20.04

gdekjifgb

  • Гість
Звук перед голосом зпер з ...
:-\ шотоянепонімать  :laugh:

...
Я використав гаглоперекладач (https://www.google.ae/search?q=%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4%D1%87%D0%B8%D0%BA) для озвучки.