Sauvegarder ses réglages son grâce à un service Systemd utilisateur

Il est parfois pénible de ne pas retrouver ses réglages son après l’ouverture de session.

On peut régler ce désagrément en utilisant les facilités de Systemd.

 

Environnement

PC sous Linux Debian 10 Buster.

Pulseaudio et Alsa sont installés.

Créer un fichier de sauvegarde des paramètres son

sudo alsactl store

Le déplacer dans le home utilisateur

Exemple pour l’utilisateur guy

sudo mv /var/lib/alsa/asound.state /home/guy/.config/alsa/save.asound.state

 

Créer son service Systemd utilisateur

On va le placer dans son home dans .config

Créer le dossier

mkdir ~/.config/systemd/user

Créer le fichier alsa-restore.service

Vérifier sa carte son

cat /proc/asound/cards
 0 [SB ]: HDA-Intel - HDA ATI SB
 HDA ATI SB at 0xf0500000 irq 16

Mettre le contenu suivant dans le fichier alsa-restore.service.

Le 0 indique que l’on utilise la carte son 0

[Unit]

Description=Ma restauration des niveaux de son alsa

After=pulseaudio.service

[Service]

ExecStartPre=/bin/sleep 15

ExecStart=/usr/sbin/alsactl -f /home/guy/.config/alsa/save.asound.state restore 0

[Install]

WantedBy=default.target

Démarrer le service

systemctl –user start alsa-restore.service

Vérifier le service

systemctl –user status alsa-restore.service

Activer le service

systemctl –user enable alsa-restore.service

Explications

On a créé un service pour son utilisateur qui permets de restaurer ses réglages personnels du son.

Le service est lancé une fois, 15 secondes après l’exécution du service pulseaudio afin que les réglages ne soient plus écrasés ensuite.

systemctl --user status pulseaudio.service
● pulseaudio.service - Sound Service
 Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; vendor pr
 Active: active (running) since Wed 2018-06-06 08:23:17 CEST; 25min ago
 Main PID: 11224 (pulseaudio)
 CGroup: /user.slice/user-1001.slice/user@1001.service/pulseaudio.service
 └─11224 /usr/bin/pulseaudio --daemonize=no

juin 06 08:23:16 debian systemd[11071]: Starting Sound Service...
juin 06 08:23:17 debian systemd[11071]: Started Sound Service.

 

systemctl --user status alsa-restore.service
● alsa-restore.service - Ma restauration des niveaux de son alsa
 Loaded: loaded (/home/guy/.config/systemd/user/alsa-restore.service; enabled; vendor preset: enabled)
 Active: inactive (dead) since Wed 2018-06-06 08:23:18 CEST; 1h 0min ago
 Process: 11233 ExecStart=/usr/sbin/alsactl -f /home/guy/.config/alsa/save.asound.state restore 0 (code=exited, status=0/SUCCESS)
 Process: 11083 ExecStartPre=/bin/sleep 15 (code=exited, status=0/SUCCESS)
 Main PID: 11233 (code=exited, status=0/SUCCESS)

juin 06 08:23:03 debian systemd[11071]: Starting Ma restauration des niveaux de son alsa...
juin 06 08:23:18 debian systemd[11071]: Started Ma restauration des niveaux de son alsa.

 

Outil de réglage du son: alsamixer

alsamixer -c0

Capture du 2018-06-06 09-38-50

N.B: Quand vous êtes satisfait de vos réglages, gardez cet affichage et dans une autre fenêtre terminal sauvegardez avec la commande alsactl store

Infos avec la commande amixer

 amixer
Simple mixer control 'Master',0
 Capabilities: pvolume pswitch pswitch-joined
 Playback channels: Front Left - Front Right
 Limits: Playback 0 - 65536
 Mono:
 Front Left: Playback 41350 [63%] [on]
 Front Right: Playback 41350 [63%] [on]
Simple mixer control 'Capture',0
 Capabilities: cvolume cswitch cswitch-joined
 Capture channels: Front Left - Front Right
 Limits: Capture 0 - 65536
 Front Left: Capture 8739 [13%] [on]
 Front Right: Capture 8739 [13%] [on]

 

 amixer -c0 info
Card hw:0 'SB'/'HDA ATI SB at 0xf0500000 irq 16'
 Mixer name : 'IDT 92HD81B1X5'
 Components : 'HDA:111d7605,103c1443,00100402'
 Controls : 24
 Simple ctrls : 12
amixer -c0 contents
numid=19,iface=CARD,name='Front Headphone Jack'
 ; type=BOOLEAN,access=r-------,values=1
 : values=off
numid=17,iface=CARD,name='Internal Mic Phantom Jack'
 ; type=BOOLEAN,access=r-------,values=1
 : values=on
numid=18,iface=CARD,name='Mic Jack'
 ; type=BOOLEAN,access=r-------,values=1
 : values=off
numid=20,iface=CARD,name='Speaker Phantom Jack'
 ; type=BOOLEAN,access=r-------,values=1
 : values=on
numid=16,iface=MIXER,name='Master Playback Switch'
 ; type=BOOLEAN,access=rw------,values=1
 : values=on
numid=15,iface=MIXER,name='Master Playback Volume'
 ; type=INTEGER,access=rw---R--,values=1,min=0,max=127,step=0
 : values=111
 | dBscale-min=-95.25dB,step=0.75dB,mute=1
numid=2,iface=MIXER,name='Headphone Playback Switch'
 ; type=BOOLEAN,access=rw------,values=2
 : values=off,off
numid=1,iface=MIXER,name='Headphone Playback Volume'
 ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
 : values=0,0
 | dBscale-min=-95.25dB,step=0.75dB,mute=1
numid=23,iface=MIXER,name='PCM Playback Volume'
 ; type=INTEGER,access=rw---RW-,values=2,min=0,max=255,step=0
 : values=235,235
 | dBscale-min=-51.00dB,step=0.20dB,mute=0
numid=12,iface=MIXER,name='Mic Boost Volume'
 ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
 : values=0,0
 | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=7,iface=MIXER,name='Mic Playback Switch'
 ; type=BOOLEAN,access=rw------,values=2
 : values=off,off
numid=6,iface=MIXER,name='Mic Playback Volume'
 ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
 : values=0,0
 | dBscale-min=-34.50dB,step=1.50dB,mute=0
numid=10,iface=MIXER,name='Capture Switch'
 ; type=BOOLEAN,access=rw------,values=2
 : values=on,on
numid=9,iface=MIXER,name='Capture Volume'
 ; type=INTEGER,access=rw---R--,values=2,min=0,max=15,step=0
 : values=0,0
 | dBscale-min=0.00dB,step=1.50dB,mute=0
numid=5,iface=MIXER,name='Loopback Mixing'
 ; type=ENUMERATED,access=rw------,values=1,items=2
 ; Item #0 'Disabled'
 ; Item #1 'Enabled'
 : values=0
numid=8,iface=MIXER,name='Auto-Mute Mode'
 ; type=ENUMERATED,access=rw------,values=1,items=2
 ; Item #0 'Disabled'
 ; Item #1 'Enabled'
 : values=1
numid=13,iface=MIXER,name='Beep Playback Switch'
 ; type=BOOLEAN,access=rw------,values=1
 : values=off
numid=14,iface=MIXER,name='Beep Playback Volume'
 ; type=INTEGER,access=rw---R--,values=1,min=0,max=3,step=0
 : values=0
 | dBscale-min=-18.00dB,step=6.00dB,mute=0
numid=24,iface=MIXER,name='Digital Capture Volume'
 ; type=INTEGER,access=rw---RW-,values=2,min=0,max=120,step=0
 : values=0,0
 | dBscale-min=-30.00dB,step=0.50dB,mute=0
numid=11,iface=MIXER,name='Internal Mic Boost Volume'
 ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
 : values=0,0
 | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=4,iface=MIXER,name='Speaker Playback Switch'
 ; type=BOOLEAN,access=rw------,values=2
 : values=on,on
numid=3,iface=MIXER,name='Speaker Playback Volume'
 ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
 : values=127,127
 | dBscale-min=-95.25dB,step=0.75dB,mute=1
numid=22,iface=PCM,name='Capture Channel Map'
 ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
 : values=0,0
 | container
 | chmap-fixed=FL,FR

numid=21,iface=PCM,name='Playback Channel Map'
 ; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
 : values=0,0
 | container
 | chmap-fixed=FL,FR

 

Par Bidouille De Bian

Bidouilleur sur Linux Debian 10 (Buster). Débutant dans le blog sur Wordpress.