# Błąd uruchamiania skryptu z crontab

**URL:** <https://forum.manjaro.pl/t/blad-uruchamiania-skryptu-z-crontab/2619>\
**Category:** Skrypty, porady i tutoriale\
**Created:** [22 Lipiec 2023 14:51 UTC](https://forum.manjaro.pl/t/blad-uruchamiania-skryptu-z-crontab/2619 "2023-07-22T14:51:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Autor:** ![wiini](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/wiini/32/138_2.png) [@wiini](https://forum.manjaro.pl/u/wiini)\
**Data wpisu:** [22 Lipiec 2023 14:51 UTC](https://forum.manjaro.pl/t/blad-uruchamiania-skryptu-z-crontab/2619/1 "2023-07-22T14:51:15Z")

</div>

Napisałem prosty skrypt do regulacji głośności. Po uruchomieniu w terminalu działa jak należy.

```auto
#!/bin/bash

amixer scontrols 
amixer sset 'Master' 30%
sleep 10
amixer -q -D pulse sset Master 10%+
sleep 10
amixer -q -D pulse sset Master 10%+
sleep 10
amixer -q -D pulse sset Master 10%+
sleep 10
amixer -q -D pulse sset Master 10%+
sleep 10
amixer -q -D pulse sset Master 10%+
sleep 10
amixer -q -D pulse sset Master 10%+

```

Przy próbie uruchomienia z crontaba niestety nie działa.

```auto
Simple mixer control 'PCM',0
Simple mixer control 'Line',0
Simple mixer control 'Line Boost',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost',0
Simple mixer control 'IEC958',0
Simple mixer control 'IEC958',1
Simple mixer control 'IEC958',2
Simple mixer control 'Beep',0
Simple mixer control 'Capture',0
Simple mixer control 'Auto-Mute Mode',0
Simple mixer control 'Digital',0
Simple mixer control 'Internal Mic Boost',0
Simple mixer control 'Loopback Mixing',0
Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 127
  Mono: Playback 38 [30%] [-66.75dB] [on]
ALSA lib pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Connection refused

amixer: Mixer attach pulse error: Connection refused

```

Może ktoś z forumowiczów będzie miał jakiś pomysł jak to ogarnąć.

---

<div class="post-metadata">

**Autor:** ![Tomek](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/tomek/32/3834_2.png) [@Tomek](https://forum.manjaro.pl/u/Tomek)\
**Data wpisu:** [23 Lipiec 2023 22:35 UTC](https://forum.manjaro.pl/t/blad-uruchamiania-skryptu-z-crontab/2619/2 "2023-07-23T22:35:15Z")

</div>

Komendy w cronie działają bez kontekstu i tych wszystkich zmiennych środowiskowych, które masz zdefiniowane jako normalnie zalogowany user. [Arch Wiki](https://wiki.archlinux.org/title/PulseAudio#Play_sound_from_a_non-interactive_shell_(systemd_service,_cron)) sugeruje, że najprawdopodobniej chodzi o `XDG_RUNTIME_DIR` (zależna od twojego UID, na domyślnym userze będzie miała wartość `/run/user/1000`). Można ją podać na milion sposobów, od podania przy wywoływaniu w cronie:

```auto
* * * * * export XDG_RUNTIME_DIR=/run/user/1000 && /my/precious/script.sh

```

po zdefiniowanie tegoż eksportu w samym skrypcie.

---

<div class="post-metadata">

**Autor:** ![wiini](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/wiini/32/138_2.png) [@wiini](https://forum.manjaro.pl/u/wiini)\
**Data wpisu:** [24 Lipiec 2023 15:18 UTC](https://forum.manjaro.pl/t/blad-uruchamiania-skryptu-z-crontab/2619/3 "2023-07-24T15:18:30Z")

</div>

Bardzo dziękuję. Działa wyśmienicie.
