Execute o script sh no encerramento para reduzir o volume

4

Depois de ter configurado quase tudo o que eu queria no meu novo laptop, ainda há uma coisa que eu não consigo trabalhar e isso está me irritando muito: Eu gostaria de executar um script no desligamento de tal forma que o volume na inicialização / reinicialização é quase silencioso. Aqui está o que eu fiz:

Eu tenho um script sh parecido com isso

  #!/bin/sh

  amixer -D pulse sset Master 20%

colocado em /etc/init.d/K99_set_volume.sh e usado

ln -s /etc/init.d/K99_set_volume.sh /etc/rc0.d/K99_set_volume.sh
ln -s /etc/init.d/K99_set_volume.sh /etc/rc6.d/K99_set_volume.sh

para criar os links certos. Infelizmente, o volume na inicialização é o mesmo nível da sessão anterior. Eu tentei inserir explicitamente uma linha com "alsactl store" no script depois de reduzir o volume, mas sem efeito. O script é executável e funciona quando executado em um terminal e o volume é realmente definido em /var/lib/alsa/asound.state . Além disso, o script é executado no desligamento, eu verifiquei isso. Eu não sei se o número 99 está certo, no entanto.

Eu sei que há algumas postagens sobre esse tópico, mas eu realmente gostaria de encontrar uma solução com um script no shut off / boot e as postagens que eu li sugerem muito para fazer o que eu faço?

A saída completa do pacmd list-sinks é

 2 sink(s) available.  
    index: 0    
    name: alsa_output.pci-0000_00_03.0.hdmi-stereo   
    driver: module-alsa-card.c  
    flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY  
    state: SUSPENDED  
    suspend cause: IDLE  
    priority: 9950  
    volume: 0:  20% 1:  20%  
            0: -41,94 dB 1: -41,94 dB  
            balance 0,00  
    base volume: 100%  
                 0,00 dB  
    volume steps: 65537  
    muted: yes  
    current latency: 0,00 ms  
    max request: 0 KiB  
    max rewind: 0 KiB  
    monitor source: 0  
    sample spec: s16le 2ch 44100Hz  
    channel map: front-left,front-right  
                 Stereo  
    used by: 0  
    linked by: 0  
    configured latency: 0,00 ms; range is 0,50 .. 371,52 ms  
    card: 0 alsa_card.pci-0000_00_03.0  
    module: 5  
    properties:  
        alsa.resolution_bits = "16"  
        device.api = "alsa"  
        device.class = "sound"  
        alsa.class = "generic"  
        alsa.subclass = "generic-mix"  
        alsa.name = "HDMI 0"  
        alsa.id = "HDMI 0"  
        alsa.subdevice = "0"  
        alsa.subdevice_name = "subdevice #0"  
        alsa.device = "3"  
        alsa.card = "0"  
        alsa.card_name = "HDA Intel HDMI"  
        alsa.long_card_name = "HDA Intel HDMI at 0xf7d1c000 irq 61"  
        alsa.driver_name = "snd_hda_intel"  
        device.bus_path = "pci-0000:00:03.0"  
        sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"  
        device.bus = "pci"  
        device.vendor.id = "8086"  
        device.vendor.name = "Intel Corporation"  
        device.product.id = "0a0c"  
        device.form_factor = "internal"  
        device.string = "hdmi:0"  
        device.buffering.buffer_size = "65536"  
        device.buffering.fragment_size = "32768"  
        device.access_mode = "mmap+timer"  
        device.profile.name = "hdmi-stereo"  
        device.profile.description = "Digital Stereo (HDMI)"  
        device.description = "Built-in Audio Digital Stereo (HDMI)"  
        alsa.mixer_name = "Intel Haswell HDMI"  
        alsa.components = "HDA:80862807,80860101,00100000"  
        module-udev-detect.discovered = "1"  
        device.icon_name = "audio-card-pci"  
    ports:  
        hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)  
            properties:  
                device.icon_name = "video-display"  
    active port: hdmi-output-0  
    index: 1  
    name: alsa_output.pci-0000_00_1b.0.analog-stereo  
    driver: module-alsa-card.c  
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
    state: SUSPENDED  
    suspend cause: IDLE  
    priority: 9959  
    volume: 0:  20% 1:  20%  
            0: -41,94 dB 1: -41,94 dB  
            balance 0,00  
    base volume: 100%  
                 0,00 dB  
    volume steps: 65537  
    muted: no  
    current latency: 0,00 ms  
    max request: 0 KiB  
    max rewind: 0 KiB  
    monitor source: 1  
    sample spec: s16le 2ch 44100Hz  
    channel map: front-left,front-right  
                 Stereo  
    used by: 0  
    linked by: 0  
    configured latency: 0,00 ms; range is 0,50 .. 371,52 ms  
    card: 1 alsa_card.pci-0000_00_1b.0  
    module: 6  
    properties:  
        alsa.resolution_bits = "16"  
        device.api = "alsa"  
        device.class = "sound"  
        alsa.class = "generic"  
        alsa.subclass = "generic-mix"  
        alsa.name = "CX20751/2 Analog"  
        alsa.id = "CX20751/2 Analog"  
        alsa.subdevice = "0"  
        alsa.subdevice_name = "subdevice #0"  
        alsa.device = "0"  
        alsa.card = "1"  
        alsa.card_name = "HDA Intel PCH"  
        alsa.long_card_name = "HDA Intel PCH at 0xf7d18000 irq 60"  
        alsa.driver_name = "snd_hda_intel"  
        device.bus_path = "pci-0000:00:1b.0"  
        sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"  
        device.bus = "pci"  
        device.vendor.id = "8086"  
        device.vendor.name = "Intel Corporation"  
        device.product.id = "9c20"  
        device.product.name = "Lynx Point-LP HD Audio Controller"  
        device.form_factor = "internal"  
        device.string = "front:1"  
        device.buffering.buffer_size = "65536"  
        device.buffering.fragment_size = "32768"  
        device.access_mode = "mmap+timer"  
        device.profile.name = "analog-stereo"  
        device.profile.description = "Analog Stereo"  
        device.description = "Built-in Audio Analog Stereo"  
        alsa.mixer_name = "Conexant CX20751/2"  
        alsa.components = "HDA:14f1510f,104315dd,00100100"  
        module-udev-detect.discovered = "1"  
        device.icon_name = "audio-card-pci"  
    ports:  
        analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)  
            properties:  
                device.icon_name = "audio-speakers"  
        analog-output-headphones: Headphones (priority 9000, latency offset 0 usec, available: no)  
            properties:  
                device.icon_name = "audio-headphones"  
    active port: analog-output-speaker  
    
por user285502 26.05.2014 / 18:56

1 resposta

0

A questão é que é pulseaudio aquele que define o volume, não ALSA. Se você realmente gosta de modificar o volume, eu recomendo que você use pactl :

pactl set-sink-volume 0 20%

e faça isso apenas no momento da inicialização. Eu preferiria que você esperasse até que o pulseaudio fosse iniciado. Para isso é melhor usar o upstart, já que é um init baseado em eventos. Para isso, basta criar o arquivo setvolume.conf no diretório /etc/init e preenchê-lo com o seguinte conteúdo:

start on started pulseaudio

setgid username
setuid username

script
    exec pactl set-sink-volume 0 20%
end script

Isso garantirá que, após o pulseaudio ser iniciado, ele estará com o volume desejado para o usuário.

    
por Braiam 26.05.2014 / 22:20