したがって、現在のセットアップでは、HDMI経由でラップトップに接続されたモニターを使用し、内蔵のラップトップではなくオーディオ用のスピーカーを使用しています。マシンの起動時にはデフォルトでHDMIが使用されますが、ラップトップは1日中サスペンドすることが多く、再開するたびにサウンドデバイスが内蔵スピーカーに切り替わります。
想像できるほど大きな問題ではありませんが、迷惑です。再開後にHDMIを再選択するか、内蔵スピーカーを無効にするか、何らかの方法でデフォルトとして設定するために強制的に使用できるスクリプトがあるのではないかと思います。参考までに、両方の内蔵スピーカーは同じ「サウンドカード」上にありますが、2つの異なるデバイスです
助けてくれてありがとう!
再起動したくない場合は、pulseaudioを再起動するだけです:
pulseaudio --kill; pulseaudio --start
Ubuntu 17.10でも同じ問題が発生しました。一時停止後、またはディスプレイを暗くした後でも、ディスプレイにスピーカーがなくても、オーディオ出力は常にデジタル出力(望ましい)からHDMIに変わります。行をコメントアウトする
load-module module-switch-on-port-available
/etc/Pulse/default.pa
で HDMI経由のサウンドを永続的に無効にする で説明されているトリックを実行しました。
上記のようにデフォルトのシンクを設定しても、動作は変わらないことに注意してください。また、サスペンド後にオーディオカードプロファイルを設定する上記のスクリプトは、ユーザー固有です。
再開時に固定パルスプロファイルを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:
freedesktop.orgのこの(長い)バグスレッド で概説されているように、この問題はPulseaudioバージョン8の問題に関連している可能性があります。
基本的に、Pulseaudioは、HDMIとの接続が失われたときにサウンドを再ルーティングし、HDMIが再接続された後は返されません。バージョン9で修正されています。
バージョン8を以前のバージョンの動作に戻すには、 これらの指示 に従ってリブートします。
/etc/Pulse/default.pa
を編集して、行をコメントアウト(#
を先頭に追加)します。#load-module module-switch-on-port-available
次に、サウンド設定でサウンド出力を設定し、画面をサスペンド/レジュームするか、空白にすることで持続することを確認します。うまくいきました。
実行:
$ 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を再起動するか、再起動して持続性を確認します。
この「文書化されていない機能」は、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
(ほとんどの人のデバイス)がシステム上で異なる場合、追加の手順が必要になる場合があります。
私にも同じことが起こりますが、OSの起動または再開時にHDMIモニターが「起動」していない場合のみです:Settings> Soundのデバイスのリストはさらに表示HMDI/DisplayPort-ビルトインオーディオ。
私にとっての修正は、セッションを一時停止し、HDMIモニターがオンになっていることを確認して、セッションを再開することです。
Ubuntu 18.04でのサスペンドLTSは、ドロップダウンメニューのPowerOffボタンの後ろに隠されています:マウスを押したままにするか、 Alt PowerOffボタンをサスペンドに変換します。隠されたナビゲーションについて話してください!
Ubuntu 9.04以降、この問題が発生しました。うまくいかなかったし、HDMIを手に入れたか、Ubuntuを手に入れたばかりの子供たちは、この問題は新しいものだと思うので、セットアップの最新の変更を見ようとする人々は誤解されています。このことを明確にしましょう。この問題は常に存在しており、誰も作業していません。この問題の調査には少なくとも20時間を費やしました。だから私が過去にやったこと: