コールドスタート後にヘッドフォンジャックが正常に機能するという、この非常に厄介な問題がありました。ただし、サスペンドまたはコールドリブート(完全にシャットダウンせずにコンピューターを再起動)した後、ヘッドフォンジャックは機能しなくなります。
システムは、ヘッドホンが接続されているかどうかを検出しますが、ヘッドホンから音が出なくなるだけです。
これは、XMGA305ラップトップのUbuntu14.04(Windowsパーティションでは正常に動作します)でのみ発生します。この問題は、サウンドカードで使用されているドライバー(カード:HDA Intel PCH、チップ:VIA VT1802))または異なるドライバー間の相互作用に関連しているようです。
また、他のマシンでこれを経験している人が他にも何人かいます: ClevoラップトップのBugreport
かなり長い間検索した後、私は私にとってうまく機能し、あなたにも役立つかもしれない解決策を思いつきました:
コードは主に ここ から取得されます。
ヘッドフォンジャックを再アクティブ化できるpythonスクリプトがあります。このコードは GitHubのektor5 から取得されます。スクリプトをダウンロードして、システムのどこかに配置する必要があります。それを見つけて実行可能にします。これはすべて次の行で実行できます。
Sudo wget https://raw.githubusercontent.com/ektor5/init-headphone/master/init-headphone -O /usr/local/sbin/init-headphone && Sudo chmod +x /usr/local/sbin/init-headphone
init-headphone
スクリプトには、次のコマンドでインストールできる依存関係が必要です。
Sudo apt-get install python-smbus
また、追加のフラグを有効にしてカーネルを起動する必要があります。これを行うには、ファイル ''/etc/default/grub ''を編集します。この行を変更する
GRUB_CMDLINE_LINUX=""
これに
GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax"
その後実行
Sudo update-grub
さらに、スクリプトはモジュールをロードする必要があります。つまり、「i2c_dev」と「i2c_i801」です。これらは実行時にロードできます
modprobe i2c_dev
modprobe i2c_i801
「Sudoinit-headphone」を実行して、動作するかどうかをテストできるようになりました。
起動時にモジュールを自動的にロードするには、次の行を ''/etc/modules ''に追加します。
i2c_dev
i2c_i801
最後に、コンピューターが再起動したとき、または一時停止から戻ったときに、スクリプトを自動的に実行する必要があります。これを行うには、次のスクリプトを ´/ etc/pm/sleep.d /´に配置します。
Sudo gedit /etc/pm/sleep.d/init-headphone
次の行を追加します
#!/bin/sh
if [ ! -x /usr/local/sbin/init-headphone ]; then
exit 0
fi
case $1 in
resume|thaw)
/usr/local/sbin/init-headphone
;;
esac
そして、ファイルを実行可能にすることを忘れないでください
Sudo chmod +x /etc/pm/sleep.d/init-headphone
これがお役に立てば幸いです。問題があればお知らせください。
cbandera
ボリュームコントロールパネルをチェックして、標準スピーカーにリセットされているかどうかを確認してみてください。その場合は、スクリプトを作成して再起動するか、手動でヘッドフォンに戻すことができます。
使用しているLinuxのバージョンはわかりませんが、Sudo apt-get install gstreamerに相当するものを試してから、コマンドラインからgstreamer-propertiesを実行して、Pulseaudioとalsaの間にヘッドフォンに関して異常な設定があるかどうかを確認することを検討してください。等.
(私はこれを古いUbuntuベースのシステムで使用して、Skypeなどでヘッドフォン設定を機能させました)
@cbanderaからの優れた回答に加えて、systemd
を使用するシステム(Ubuntu 15.04以降など)の場合、起動スクリプトは/lib/systemd/system-sleep/init-headphone
であり、次のようになります。
#!/bin/sh
[ -x /usr/local/sbin/init-headphone ] || exit 0
[ "$1" = "post" ] && /usr/local/sbin/init-headphone