--- /usr/portage/media-sound/alsa-utils/files/alsasound.initd-r5 2012-02-20 13:03:53.000000000 +0400 +++ /etc/init.d/alsasound 2012-11-12 16:58:44.121458651 +0400 @@ -5,6 +5,7 @@ alsastatedir=/var/lib/alsa alsascrdir=/etc/alsa.d +alsatmphome=$(mktemp -t -d alsasound-XXXXXXXXXX) extra_commands="save restore" @@ -29,7 +30,7 @@ [ -e /dev/snd/controlC${cardnum} ] || sleep 2 [ -e /dev/snd/controlC${cardnum} ] || sleep 2 [ -e /dev/snd/controlC${cardnum} ] || sleep 2 - alsactl -I -f "${alsastatedir}/asound.state" restore ${cardnum} \ + alsactl -E HOME="${alsatmphome}" -I -f "${alsastatedir}/asound.state" restore ${cardnum} \ || ewarn "Errors while restoring defaults, ignoring" done @@ -50,7 +51,7 @@ ebegin "Storing ALSA Mixer Levels" mkdir -p "${alsastatedir}" - if ! alsactl -f "${alsastatedir}/asound.state" store; then + if ! alsactl -E HOME="${alsatmphome}" -f "${alsastatedir}/asound.state" store; then eerror "Error saving levels." eend 1 return 1