web-dev-qa-db-ja.com

Ubuntu 16.04はサスペンド後にサウンドデバイスを変更します、修正方法は?

したがって、現在のセットアップでは、HDMI経由でラップトップに接続されたモニターを使用し、内蔵のラップトップではなくオーディオ用のスピーカーを使用しています。マシンの起動時にはデフォルトでHDMIが使用されますが、ラップトップは1日中サスペンドすることが多く、再開するたびにサウンドデバイスが内蔵スピーカーに切り替わります。

想像できるほど大きな問題ではありませんが、迷惑です。再開後にHDMIを再選択するか、内蔵スピーカーを無効にするか、何らかの方法でデフォルトとして設定するために強制的に使用できるスクリプトがあるのではないかと思います。参考までに、両方の内蔵スピーカーは同じ「サウンドカード」上にありますが、2つの異なるデバイスです

助けてくれてありがとう!

12
MattJC

再起動したくない場合は、pulseaudioを再起動するだけです:

pulseaudio --kill; pulseaudio --start
12
rubo77

Ubuntu 17.10でも同じ問題が発生しました。一時停止後、またはディスプレイを暗くした後でも、ディスプレイにスピーカーがなくても、オーディオ出力は常にデジタル出力(望ましい)からHDMIに変わります。行をコメントアウトする

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

/etc/Pulse/default.paHDMI経由のサウンドを永続的に無効にする で説明されているトリックを実行しました。

上記のようにデフォルトのシンクを設定しても、動作は変わらないことに注意してください。また、サスペンド後にオーディオカードプロファイルを設定する上記のスクリプトは、ユーザー固有です。

6
sambura

再開時に固定パルスプロファイルをoutput:hdmi-stereoに設定して、この問題を修正しました。

Pulseプロファイルのリストを取得するには:pacmd list-cards。パルスプロファイルを変更するには:pacmd set-card-profile 0 output:hdmi-stereo

一時停止後のスクリプトの実行について: Run Script on Wakeup?

Rootとしてのpacmdの実行について: [解決済み] pacmdを介してシェルスクリプトでpulseaudioを制御する/ Newbie Corner/Arch Linux Forums:

3
Grzegorz

freedesktop.orgのこの(長い)バグスレッド で概説されているように、この問題はPulseaudioバージョン8の問題に関連している可能性があります。

基本的に、Pulseaudioは、HDMIとの接続が失われたときにサウンドを再ルーティングし、HDMIが再接続された後は返されません。バージョン9で修正されています。

バージョン8を以前のバージョンの動作に戻すには、 これらの指示 に従ってリブートします。

/etc/Pulse/default.paを編集して、行をコメントアウト(#を先頭に追加)します。

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

次に、サウンド設定でサウンド出力を設定し、画面をサスペンド/レジュームするか、空白にすることで持続することを確認します。うまくいきました。

2
Paul H.

実行:

$ pacmd list-cards

カードのインデックスを表示します。たとえば、私のpciサウンドカードはインデックス2にあります。アナログ出力のサウンドプロファイル(再び例として)はoutput:analog-stereoと呼ばれます。

次に:

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

これを出力として設定するには(試してみてください)。永続的にするには、/etc/Pulse/default.paを編集して追加します:

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

Pulseaudioを再起動するか、再起動して持続性を確認します。

2
Jonathan Deal

PulseAudioがサスペンドでHDMIサウンドをオフにする問題を修正

この「文書化されていない機能」は、Ubuntu 16.04およびPulseAudio 8の新しいバージョンで登場しました。

新しいファイル/lib/systemd/system-sleep/tv-soundを作成し、コピーインします:

#!/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

注:ユーザー名rick(下から3行目)をユーザー名に置き換えます。

次に、コマンドで実行可能としてマークします。

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

output:hdmi-stereo(ほとんどの人のデバイス)がシステム上で異なる場合、追加の手順が必要になる場合があります。

1

私にも同じことが起こりますが、OSの起動または再開時にHDMIモニターが「起動」していない場合のみです:Settings> Soundのデバイスのリストはさらに表示HMDI/DisplayPort-ビルトインオーディオ

私にとっての修正は、セッションを一時停止し、HDMIモニターがオンになっていることを確認して、セッションを再開することです。

Ubuntu 18.04でのサスペンドLTSは、ドロップダウンメニューのPowerOffボタンの後ろに隠されています:マウスを押したままにするか、 Alt PowerOffボタンをサスペンドに変換します。隠されたナビゲーションについて話してください!

1
mr0

Ubuntu 9.04以降、この問題が発生しました。うまくいかなかったし、HDMIを手に入れたか、Ubuntuを手に入れたばかりの子供たちは、この問題は新しいものだと思うので、セットアップの最新の変更を見ようとする人々は誤解されています。このことを明確にしましょう。この問題は常に存在しており、誰も作業していません。この問題の調査には少なくとも20時間を費やしました。だから私が過去にやったこと:

  1. リブート
  2. テレビ(HDMIターゲット)の電源を入れているときに、ちょうどいいタイミングでマウスを小刻みに振ると、おそらく50%の時間で音が復元されます。これはタイミング関連/ハンドシェイクの問題です。
  3. Ubuntu 14では、画面の解像度を別の値に変更してから、元に戻しました。これはUbuntu 16では動作しないようです
  4. 休止状態にしないでください。別の方法は、単に定時シャットダウンを行うことです。後で、再起動するのではなく、コンピューターを起動するだけです。これはタイミングの問題であることを忘れないでください。そのため、タイミングがシステムを正しく動かした場合、ここでのアイデアはすべて機能すると考えられます。
0
Guest