J'ai récemment mis à niveau mon ordinateur portable Dell E6510 vers la version 12.04 (Ubuntu avec Unity). J'ai remarqué qu'après chaque redémarrage, le volume se réinitialisait toujours à un niveau maximal.
Pendant que j'essaie de déterminer s'il s'agit d'un bogue, j'aimerais savoir s'il y a quelque chose que je peux faire au moment de la connexion ou du démarrage pour couper (ou peut-être simplement réduire) le volume du système.
Après avoir vérifié la réponse de reverendj1, j’ai essayé pacmd set-sink-volume 0 0
puis Sudo alsactl store
, après l’échec de la première commande.
J'ai également fait un clic droit sur l'indicateur de volume et suis allé dans Paramètres de son ... "- à partir de là, j'ai sélectionné Audio intégré Sortie analogique dans l'onglet Sortie (c'était mon seul choix , mais cela n’a pas été souligné pour une raison quelconque).
Au cours de ce processus de dépannage, j'ai redémarré plusieurs fois. Je ne suis pas sûr à 100% si l'un des paramètres de sortie analogique a déjà été modifié par rapport aux paramètres d'installation par défaut, mais je documente le paramètre pour la postérité, au cas où quelqu'un d'autre rencontrerait ceci:
Pour couper les sons, vous pouvez utiliser cette commande:
pacmd set-sink-volume 0 0
Le premier 0 est l'évier et le second est le volume sur lequel vous souhaitez le régler. Le volume varie de 0 à 65536, donc pour le régler à demi-volume, vous pouvez simplement utiliser ceci:
pacmd set-sink-volume 0 32768
Voici un lien vers plus d’informations sur l’utilisation de PulseAudio CLI (pacmd)
J'ai eu ce problème avec la réinitialisation de mon volume audio à 100% après le redémarrage depuis que j'ai commencé à utiliser Linux il y a deux ans.
Fondamentalement, les conseils donnés ci-dessus par GigabyteProductions me conduisent au bon endroit, et cela devrait vraiment fonctionner, mais cela ne fonctionne pas sur mon système. J'ai donc dû chercher un peu plus loin et j'ai beaucoup appris, même si ce n'est pas sans douleur.
En référence au rapport de bogue https://bugs.launchpad.net/ubuntu/+source/alsa-utils/+bug/44978 J'ai trouvé des indices utiles à mon problème. Dans le fichier /etc/Pulse/default.pa par défaut, vous trouverez les entrées suivantes:### Automatically restore the volume of streams and devices load-module module-device-restore load-module module-stream-restore load-module module-card-restore
Dans le rapport de bogue mentionné ci-dessus dans le commentaire # 1 , l'utilisateur indique qu'en ajoutant load-module module-volume-restore
à default.pa, il a réglé le problème pour lui, bien que dans le commentaire n ° 16, il indique que pulseaudio a démarré à partir de la ligne de commande, avertissant que le module est obsolète, et que module-stream-restore sera utilisé à la place. Pulseaudio essaie de charger le module-stream-restore deux fois, ce qui provoque son crash. Au redémarrage, pulseaudio ne démarre pas et les derniers volumes maîtres ALSA sont restaurés automatiquement. Ce n'est pas une bonne idée pour diverses raisons. Une meilleure option serait de supprimer complètement PulseAudio, si l'objet doit uniquement avoir les volumes alsa restaurés après le redémarrage, ou le démarrage en général, plutôt que de suspendre/bloquer pulseaudio en raison d'un module obsolète.
Je me suis retrouvé mécontent et j'ai effectivement retiré PulseAudio, pensant pouvoir m'en passer, car j'ai une configuration sonore assez basique, mais il m'a fallu peu de temps pour découvrir les inconvénients et je l'ai réinstallé. De retour à la case départ, j'ai parcouru toutes les ressources en ligne disponibles pour restaurer les volumes avec le serveur PulseAudio simultanément. Rien n'a fonctionné ...
Les paramètres de volume ALSA sont enregistrés avec la commande:
# alsactl store
Les paramètres de volume sont enregistrés sur /var/lib/alsa/asound.state
par défaut. Pour enregistrer ces paramètres et les récupérer avec # alsactl restore
vous avez besoin de root.
J'ai configuré un script de démarrage dans /etc/init.d (et mis à jour update-rc.d) mais cela s'est avéré inefficace. Le script s'exécute correctement, mais le résultat est annulé peu de temps après la connexion par PulseAudio et les volumes sont à nouveau définis à 100%. J'ai pensé que le seul moyen de devancer PulseAudio serait de tuer le serveur, de le redémarrer, puis de restaurer les paramètres pendant que le serveur est en cours d'exécution, après la connexion, pour restaurer les paramètres alsa.
Une autre approche consiste à indiquer à alsactl de stocker le paramètre de volume dans le dossier de base afin que vous puissiez exécuter un script l’appelant sans racine. J'ai créé le répertoire /home/<user>/.config/alsa/
et j'ai entré:
alsactl -f /home/<user>/.config/alsa/asound.state store
J'ai ajouté une nouvelle entrée dans le menu Paramètres -> Session-et-Démarrage en entrant le nom "alsa-restore" et la commande alsactl restore -f /home/<user>/.config/alsa/asound.state
, puis redémarré. Encore une fois, je n’ai pas eu de chance et je commençais à manquer d’options et de patience.
Mais alors, j'ai vu la lumière! J'ai écrit un script Shell, je l'ai nommé sound-restore.sh
et je l'ai placé dans un dossier de mon répertoire personnel appelé /home/<user>/scripts/
contenant les lignes suivantes:
#! /bin/sh pulseaudio -k #just in case pulseaudio is already running pulseaudio -D alsactl -f /home/<user>/.config/alsa/asound.state restore
J'ai rendu le fichier exécutable avec Sudo chmod+x
et je suis retourné à la boîte de dialogue Session and Startup et ai changé la commande de mon élément de démarrage automatique en sh /home/<user>/scripts/sound-restore.sh
. Assurez-vous que l'élément de démarrage prédéfini nommé "Système audio PulseAudio" est décoché. Après le prochain redémarrage, les paramètres de volume ont finalement été restaurés aux paramètres précédents! Je le teste depuis un moment et il fonctionne parfaitement, et avec le démon pulseaudio qui s'exécute en arrière-plan.
Système:
Linux Mint 17.1 XFCE
Matériel:
AthlonXP +2600
Carte son PCI: ESS Technology ES1938 Solo-1
Téléchargez et extrayez ponymix de https://github.com/falconindy/ponymix
Sudo apt-get install libpulse-dev
Sudo make
Sudo cp ponymix /usr/bin/ponymix
Sudo chmod +x /usr/bin/ponymix
tester si cela fonctionne
ponymix get-volume
faire un script de démarrage
Sudo gedit /usr/bin/load-sound
ajoutez ceci au fichier/usr/bin/load-sound:
#! /bin/sh
cat /opt/Pulse-volume | xargs /usr/bin/ponymix set-volume
exit 0
activer le script de connexion (load-sound) ouvrir “applications de démarrage” cliquer sur ajouter un nom: commande de volume de chargement pulseaudio: load-sound
faire un script de fermeture de session (save-sound):
Sudo gedit /usr/bin/save-sound
ajoutez ceci au fichier/usr/bin/save-sound:
#! /bin/sh
su -c "/usr/bin/ponymix get-volume > /opt/Pulse-volume" YOUR_CURRENT_USERNAME
exit 0
activer le script de fermeture de session (sera exécuté en tant que root):
Sudo gedit /etc/lightdm/lightdm.conf
ajoutez ceci au fichier /etc/lightdm/lightdm.conf:
[SeatDefaults]
session-cleanup-script=/usr/bin/save-sound
Redémarrer.
Je sais que la question est très ancienne, mais cela pourrait aider les utilisateurs à résoudre ce problème.
Vous devez vous assurer que ces deux commandes sont présentes au début de votre fichier /etc/Pulse/default.pa
:
load-module module-card-restore
load-module module-device-restore
Celles-ci permettent d’enregistrer les volumes de cartes virtuelles pulseaudio et physiques et de les restaurer lorsqu’ils reviennent sur le système.
J'ai beaucoup d'autres modules dans default.pa pour que pulseaudio agisse comme vous le souhaitez. Si quelqu'un souhaite voir à quoi ressemble default.pa sur un système Ubuntu 14.04 nouvellement installé, le voici:
#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)
.nofail
### Load something into the sample cache
#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
#load-sample-lazy Pulse-hotplug /usr/share/sounds/startup3.wav
#load-sample-lazy Pulse-coldplug /usr/share/sounds/startup3.wav
#load-sample-lazy Pulse-access /usr/share/sounds/generic.wav
.fail
### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
### Automatically augment property information from .desktop files
### stored in /usr/share/application
load-module module-augment-properties
### Should be after module-*-restore but before module-*-detect
load-module module-switch-on-port-available
### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif
.ifexists module-Android-audio-hal.so
load-module module-Android-audio-hal
.endif
### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif
### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif
### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish
### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv
### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor
### Load additional modules from GConf settings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif
### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore
### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams
### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink
### Honour intended role device property
load-module module-intended-roles
### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle
### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif
### Enable positioned event sounds
load-module module-position-event-sounds
### Cork music/video streams when a phone stream is active
#load-module module-role-cork
### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply
# X11 modules should not be started from default.pa so that one daemon
# can be shared by multiple sessions.
### Load X11 bell module
#load-module module-x11-bell sample=bell-windowing-system
### Register ourselves in the X11 session manager
#load-module module-x11-xsmp
### Publish connection data in the X11 root window
#.ifexists module-x11-publish.so
#.nofail
#load-module module-x11-publish
#.fail
#.endif
### Make some devices default
#set-default-sink output
#set-default-source input
Si vous voulez avoir un default.pa
modifié pour votre compte de connexion, vous devez l'enregistrer dans ~/.config/Pulse/default.pa
. Celui-ci sera chargé à la place du maître /etc/Pulse/default.pa
(alors souvenez-vous de mettre tout ce qui est dans le maître pour la détection de carte, etc.).
Mais, comme Linux et beaucoup de ses distributions ont beaucoup progressé depuis le moment où cette question a été posée, le système de tout le monde devrait être correctement configuré /etc/Pulse/default.pa
.
Désolé de travailler, mais j'ai parcouru ma réponse et l'ai trouvée pleine de lacunes. J'ai écrit un didacticiel complet sur le forum Linux Mint, auquel je souhaiterais renvoyer tous ceux qui recherchent cette réponse. Alors, voici le lien.
Correction du problème [résolu pour ALSA Volume réinitialisé à 100% au démarrage/redémarrage