web-dev-qa-db-ja.com

Ubuntuがサスペンド後にデフォルトのオーディオ出力を変更する

私のラップトップでは、HDMIでテレビに接続されたKodiを実行しています。

一時停止して再開した後、オーディオはテレビから出なくなりましたが、ノートパソコンのスピーカーから出ました。ウェイクアップ後にデフォルトのオーディオ出力を設定する方法に関する複数の記事を読みましたが、うまくいかないようです。誰もこれを修正する方法を知っていますか?

2
Cyber_Star

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

3

私は同じ問題を抱えています。/lib/systemd/system-sleepソリューションでtv-soundを試しましたが、うまくいきませんでした。ユーザーコマンドラインからpacmd set-card-profile 0 output:hdmi-stereoを試しましたが、うまくいきませんでした。

奇妙なことにうまくいったのは、スピーカーの制御下でサウンド設定を開くことでした。何も変更せず、設定を開くだけでHDMIサウンドが回復しました。自動ではありませんが、強制的に再起動することはありません。

設定ウィンドウを開く前後にpacmdダンプを実行しましたが、出力に違いはありませんでした。

補足として、/ run/user/1000/Pulseの1000はユーザーIDであり、ユーザー名と一致する必要があります。ソリューションを試していたときに、ユーザーIDが1001の妻のアカウントにログインしました。

0
kmiller