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


17

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

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

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


あなたのビデオカードは何ですか?独自のドライバーを使用していますか?
マルコスシルベイラ

回答:


17

再起動したくない場合は、pulseaudioを再起動してください:

pulseaudio --kill; pulseaudio --start

1
これは私にはうまく
エリオット

1
これは、2番目の開始コマンドがなくても役立ちました。私は数秒待たなければならず、出力ミュート解除しなければなりませんでした。
try-catch-finally

この最初のコマンドは動作します!!!! 戻ってきました!
markackerman8-gmail.com

7

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

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

中には/etc/pulse/default.paで説明したようにトリックをした永久HDMI経由無効に音

上記のようにデフォルトのシンクを設定しても、動作は変わりません。また、サスペンド後にオーディオカードプロファイルを設定するための上記のスクリプトは、ユーザー固有のものです。


1
私はこれがかなり古いことを知っていますが、これは私のシステムにヘッドフォンを差し込むときの自動切り替えを無効にしました。
AmbientCyan

3

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

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

中断後のスクリプトの実行について:Wakeupでスクリプトを実行しますか?

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


2

実行:

$ 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を再起動するか、再起動して持続性を確認します。


HDMIオーディオは、再起動時のデフォルトとして常に永続的であり、スリープからの再開後に内蔵スピーカーにのみ変更されます。あなたが言うことをしても、目覚めた後にhdmiが内蔵スピーカーに変わるのを止めません。システムがスリープから再開するときにset-card-profileコマンドを実行する方法はありますか?
MattJC

2

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

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

バージョン8を以前のバージョンの動作に戻すには、次の指示に従って再起動します。

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

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

次に、[サウンドの設定]サウンド出力を設定し、画面を一時停止/再開するか空白にすることで、サウンド出力が持続することを確認します。うまくいきました。


@PaulH。、@ Toilal /etc/pulse/default.paファイルをどのように編集しましたか?sudo gedit私にはうまくいきません。
パイセル

使用gksu gedit /etc/pulse/default.pa
rubo77

すでにコメントアウトされています-SNIF!しかし、コマンド.... pulseaudio --kill .....はうまく機能します!
markackerman8-gmail.com

1

私にも同じことが起こりますが、OSの起動または再開時にHDMIモニターが「起動」していない場合のみです。[設定]> [サウンド]のデバイスのリストにHMDI / DisplayPort-Built-in Audioが表示されません。

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

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


+1、隠されたサスペンドを見つける方法を説明してくれてありがとう!一部(おそらく端末を開いている場合)は、systemctl suspend代わりにコマンドを実行することを好むかもしれません!
ザンナ

申し訳ありませんが、完全にランダムに見えるので、自分のコメントに投票する必要があります。HDMIオーディオがサウンドデバイスリストに表示されるかどうか:(
mr0

1

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(ほとんどの人のデバイス)がシステム上で異なる場合、追加の手順が必要になる場合があります。


申し訳ありませんが、これでは修正されませんでした。これ以上のことをする必要がありますか?再起動しますか?(再起動したくないので、とにかく私のシステムの問題を修正します)
rubo77

@ rubo77ユーザーID rickを自分のユーザーIDに変更しましたか?
WinEunuuchs2Unix

承知しました。あなたは😃言ったように
rubo77

0

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

  1. リブート
  2. テレビ(HDMIターゲット)の電源を入れているときに、適切なタイミングでマウスを小刻みに振ると、おそらく50%の時間で音声が復元されます。これはタイミング関連/ハンドシェイクの問題です。
  3. Ubuntu 14では、画面の解像度を別の値に変更してから、元に戻します。これはUbuntu 16では動作しないようです
  4. 休止状態にしないでください。別の方法は、定時シャットダウンを行うことです。後で再起動するのではなく、コンピューターを起動するだけです。これはタイミングの問題であることを忘れないでください。そのため、システムが正しく動作するタイミングになった場合、ここでのアイデアはすべて機能すると考えられます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.