Ubuntu 16.04 cambia il dispositivo audio dopo la sospensione, come risolvere?


17

Quindi la mia configurazione attualmente sta usando un monitor collegato al mio laptop tramite HDMI e usando gli altoparlanti in quello per l'audio e non quelli integrati nel laptop. Quando la macchina si avvia utilizza HDMI per impostazione predefinita, ma spesso sospenderò il laptop per tutto il giorno e ogni volta che si riavvia commuta il dispositivo audio sugli altoparlanti integrati.

Non è un grosso problema come puoi immaginare ma è fastidioso, mi chiedo se c'è uno script che potrei usare per costringerlo a riselezionare HDMI dopo aver ripristinato o disabilitare gli altoparlanti integrati, o impostare come predefinito in qualche modo. Cordiali saluti entrambi gli altoparlanti integrati sono sulla stessa "scheda audio" ma sono due dispositivi diversi

Grazie per qualsiasi aiuto!


Qual è la tua scheda video? Usi qualche driver proprietario?
Marcos Silveira,

Risposte:


17

Se non vuoi riavviare, riavvia semplicemente pulseaudio:

pulseaudio --kill; pulseaudio --start

1
questo non funziona per me
Elliott il

1
Ciò ha aiutato senza il secondo comando di avvio già. Ho dovuto aspettare un paio di secondi e ho dovuto riattivare l'audio .
Try-catch-finalmente il

QUESTO PRIMO COMANDO FUNZIONA !!!! BOOM è tornato!
markackerman8-gmail.com

7

Ho avuto lo stesso problema su Ubuntu 17.10. Dopo la sospensione, o anche dopo l'oscuramento del display, cambierebbe sempre il mio output audio da Digital Output (desiderato) a HDMI anche se il mio Display non ha altoparlanti. Commentando la riga

load-module module-switch-on-port-available

ha /etc/pulse/default.pafatto il trucco come descritto in Disabilita permanentemente l'audio tramite HDMI .

Si noti che l'impostazione dei lavandini predefiniti come indicato sopra non ha modificato il comportamento. Inoltre, lo script fornito sopra per impostare il profilo della scheda audio dopo la sospensione è specifico dell'utente.


1
So che è piuttosto vecchio ma questo disabilita l'auto-commutazione quando si collegano le cuffie al mio sistema.
AmbientCyan

3

Ho risolto questo problema impostando il profilo dell'impulso fisso su output: hdmi-stereo al riavvio.

Per ottenere un elenco dei profili di impulsi: pacmd list-cards. Per cambiare profilo di impulsi ad esempio: pacmd set-card-profile 0 output:hdmi-stereo.

Informazioni sull'esecuzione dello script dopo la sospensione: eseguire lo script su Wakeup?

Informazioni sull'esecuzione di pacmd come root: [Risolto] Controlla pulseaudio con script di shell tramite i forum di pacmd / Newbie Corner / Arch Linux:


2

Correre:

$ pacmd list-cards

Per visualizzare l'indice delle tue carte. Ad esempio, la mia scheda audio PCI è all'indice 2. Viene chiamato il profilo audio per l'uscita analogica (sempre come esempio) output:analog-stereo.

Poi:

$ pacmd set-card-profile 2 output:analog-stereo

Per impostare questo come output (provalo). Per renderlo permanente, modifica/etc/pulse/default.pa e aggiungi:

set-card-profile 2  output:analog-stereo
set-default-sink 2

Riavvia pulseaudio o riavvia per verificare la persistenza.


L'audio HDMI era sempre persistente come impostazione predefinita al riavvio, cambia solo negli altoparlanti integrati dopo un riavvio dalla sospensione. Fare ciò che dici di fare non impedisce all'HDMI di passare agli altoparlanti integrati dopo il risveglio. C'è un modo per eseguire il comando set-card-profile quando il sistema riprende dallo stato di sospensione?
MattJC,

2

Questo problema potrebbe essere correlato a un problema con Pulseaudio, versione 8, come indicato in questo (lungo) thread di bug su freedesktop.org .

Fondamentalmente, Pulseaudio reindirizza il suono quando perde il contatto con HDMI e non lo restituisce dopo che HDMI è stato ricollegato. È stato risolto nella versione 9.

Per riportare la versione 8 al comportamento delle versioni precedenti, seguire queste istruzioni e riavviare.

modifica /etc/pulse/default.paper commentare (aggiungi #all'inizio di) la riga:

#load-module module-switch-on-port-available

Quindi imposta l'uscita audio in Impostazioni audio e verifica che persista sospendendo / riprendendo o oscurando lo schermo. Ha funzionato per me.


@PaulH. , @Toilal Come hai modificato il /etc/pulse/default.pafile? sudo geditNon funziona per me.
Py-ser,

usogksu gedit /etc/pulse/default.pa
rubo77

È già stato commentato: SNIF! ma il comando .... pulseaudio --kill ..... funziona bene!
markackerman8-gmail.com

1

Lo stesso succede per me, ma solo se il monitor HDMI non è "attivo" all'avvio o al riavvio del sistema operativo: l'elenco dei dispositivi in Impostazioni> Suono non mostra nemmeno HMDI / DisplayPort - Audio incorporato .

La soluzione per me è sospendere la sessione, assicurarsi che il monitor HDMI sia acceso, riprendere la sessione.

Suspend in Ubuntu 18.04 LTS è un po 'follemente nascosto dietro il pulsante PowerOff nel menu a discesa: tieni premuto il mouse su di esso o premi Altper convertire il pulsante PowerOff in Suspend. Parla della navigazione nascosta!


+1 e grazie per aver descritto come trovare la sospensione nascosta! Alcuni (che hanno un terminale aperto forse) potrebbero preferire systemctl suspendinvece eseguire il comando !
Zanna,

Mi dispiace gente, devo votare contro il mio commento perché sembra completamente casuale: se HDMI Audio appare nell'elenco dei dispositivi audio o meno :(
mr0

1

Riparare PulseAudio disattivando l'audio HDMI su Suspend

Questa "caratteristica non documentata" è apparsa con Ubuntu 16.04 e la nuova versione di PulseAudio 8.

Crea un nuovo file /lib/systemd/system-sleep/tv-sounde copia in:

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0`
    # if no pre suspend action required
    sleep 1
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` 
    # if no post suspend action required
    sleep 2
    export PULSE_RUNTIME_PATH="/run/user/1000/pulse/"
    sudo -u rick -E pacmd set-card-profile 0 output:hdmi-stereo
    ;;
esac

NOTA: sostituire il nome utenterick (terza riga dalla parte inferiore) con il proprio nome utente.

Quindi contrassegnalo come eseguibile con il comando:

sudo chmod +x /lib/systemd/system-sleep/tv-sound

Potrebbe essere necessario un passaggio aggiuntivo se output:hdmi-stereo(il dispositivo per la maggior parte delle persone) è diverso sul sistema.


scusa, ma questo non ha risolto il problema. Devo fare di più? riavviare qualcosa? (Non voglio riavviare, perché questo risolve comunque il problema sul mio sistema)
rubo77

@ rubo77 Hai cambiato l'ID utente rickcon il tuo ID utente?
WinEunuuchs2Unix

Sicuro. Come hai detto 😃
rubo77,

0

Ho avuto questo problema da Ubuntu 9.04. Non ha mai funzionato e ora che i bambini che hanno appena ricevuto HDMI o Ubuntu pensano che il problema sia qualcosa di nuovo, quindi le persone che cercano di guardare gli ultimi cambiamenti nell'impostazione vengono ingannate. Vorrei chiarire questo aspetto: questo problema è sempre stato presente e nessuno ci sta lavorando. Ho trascorso almeno 20 ore a cercare questo problema. Quindi quello che ho fatto in passato:

  1. Reboot
  2. Mentre accendo la TV (target HDMI) se muovo il mouse al momento giusto ripristina il suono forse il 50% delle volte. Questo è un problema relativo al timing / handshaking.
  3. In Ubuntu 14 cambierei la risoluzione dello schermo in qualcosa di diverso e poi di nuovo. Questo non sembra funzionare con Ubuntu 16
  4. Non lasciarlo in letargo. Un'alternativa è semplicemente fare un arresto temporizzato. Successivamente è sufficiente avviare il computer anziché riavviare. Ricorda che questo è un problema di TIMING, quindi presumo che una qualsiasi delle idee qui possa funzionare se il tempismo accade per eseguire correttamente il jogging sul tuo sistema.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.