私の問題は、サスペンド後にコンピューターを起動すると、HDMIでオーディオが聞こえないことです。まあ、「オーディオ」はありますが、それは歌を再生し、10分ごとに1秒を聞くようなもので、非常に歪んでいます。何か奇妙なもの。
ラップトップのスピーカーでは、問題はありません。
8.04からUbuntuを使用しています。実際のラップトップ、ThinkPad t450には14.04がありましたが、16.04にアップグレードするまでこのような問題はありませんでした。
私はこのスレッドを見ましたが、私には動作しません: サスペンド/再開後に音が出ない
また、/ etc/pm/sleep.d /のスクリプトを使用してみました
#!/bin/sh
# Script to disable hdmi audio before suspend and restart after wake.
case "${1}" in
suspend|hibernate)
rmmod snd_hda_codec_hdmi
rmmod snd
;;
resume|thaw)
modprobe snd
modprobe snd_hda_codec_hdmi
;;
esac
それでもそれで動作しません、多分私はスクリプトに何かを追加する必要がありますか?
lsmod | grep hdmiは私に与える
snd_hda_codec_hdmi 53248 1
snd_hda_codec 135168 4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
snd_hda_core 73728 5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_pcm 106496 5 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
snd 81920 35 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,thinkpad_acpi,snd_seq_device
助けてくれてありがとう!
Radeon 6570を使用していますが、xrandr
ソリューションが機能しませんでした。
やっているように CTRL+ALT+F6 そして CTRL+ALT+F7 働いた、私はコマンドchvt
を使用しました。
そこで、Marcos Silveiraスクリプトを次のように変更しました。
/lib/systemd/system-sleep/fixhdmiaudio
#! /bin/sh
case $1/$2 in
post/*)
# Vai para o VT + 1 e retorna para o VT atual
CURRENT_VT=$(fgconsole)
chvt $((CURRENT_VT + 1)) && chvt $((CURRENT_VT))
;;
esac
私はこの問題がどのように迷惑になるかを知っています。以前はプロプライエタリなATIドライバーをインストールしていましたが、16.04にアップデートしたときにこの問題がわかりました。問題は簡単に解決できることに気付きました ctrl + alt + f6 そして ctrl + alt + f7 またはxrandrで解像度を変更します。そこで、次の回避策を作成しました。
ターミナルを開き、次のコマンドを入力します...
Sudo nano /lib/systemd/system-sleep/fixhdmiaudio
...そしてこれを貼り付けます:
#! /bin/sh
# Bug 1252423 – HDMI Audio seen as 'unplugged' after Suspend
# Created by Marcos Silveira - 2016
# Workaround
case $1/$2 in
pre/*)
#sleeping - nothing to do
who |cut -d " " -f1 | uniq > /tmp/suspend.user
;;
post/*)
# Waking up
export DISPLAY=:0
#perform command as the current tty user
su - $(cat /tmp/suspend.user) -c "/usr/bin/xrandr --output HDMI-0 --auto;sleep 1s;/usr/bin/xrandr --output HDMI-0 --mode 1920x1080"
;;
esac
デフォルトの解像度は1920x1080です。 xrandrを実行するサポートされている解像度を設定できます。私のデフォルトのHDMI出力はHDMI-0です。これは異なる場合があります。デフォルトのHDMI出力を確認する前にxrandrを実行することをお勧めします。
権限を保存して閉じ、設定します。
Sudo chmod 755 /lib/systemd/system-sleep/fixhdmiaudio
お楽しみください。
スクリプトを/etc/pm/sleep.d/
に入れると、15.04からsystemdに移行した結果、機能しなくなります。
このようなスクリプトを試してみたい場合は、代わりに/lib/systemd/system-sleep/
に入れてください。ただし、渡されるパラメーターが異なるため、それらに若干の変更を加える必要があります。
man systemd-sleep
から:
最初の引数は「pre」、2番目の引数は選択したアクションに応じて「suspend」、「hibernate」、または「hybrid-sleep」になります。
システムのサスペンドやハイバネーションを終了した直後に同じ実行可能ファイルが実行されますが、最初の引数は「ポスト」になりました。
投稿したスクリプトでは、suspend|hibernate)
をpre)
に、resume|thaw)
をpost)
に変更する必要があります。