私はAcer 720c Chromebookでcroutonを使用してきました。また、ASUS VS247で使用したい外部モニターがあります。この特定のモニターにはオーディオパススルーがありますが、スピーカーはありません。これにより、ディスプレイを介したChrome OSのオーディオ出力が混乱します。
設定から切り替えることができるため、通常はまったく問題になりません。しかし、ディスプレイがLinux chrootのデフォルトの解像度でない限り、オーディオはディスプレイをサウンドデバイスとして使用するように切り替えられます。
alsamixer
Chrome OS シェルと Linux chroot で修正しようとしましたが、成功しませんでした。常にChromebookスピーカーをデフォルトのオーディオデバイスに設定する方法はありますか(Chrome OSでは推奨されていますが必須ではありません)。
答え1
面白いのは、alsamixerがChome OSで利用可能であること、udevツールも利用可能であることを確認することさえ考えなかったことです。次の説明に従ってこのデバイスを無視するには、udevルールを作成する必要があります。udevを使用してPulseAudioにUSBデバイスを無視するように指示する投稿者:Jamie Nguyen(またはカーネルモジュールブラックリスト、以下の追加提案):
udevルールの作成
お使いのシステムでは、
/lib/udev/rules.d
ディレクトリにudevルールがすでに定義されている必要があります。たとえば、独自のルールを定義できるディレクトリ90-pulseaudio.rules
も必要です。/etc/udev/rules.d
ルールは語彙順に解析されます。
/etc/udev/rules.d/89-pulseaudio-usb.rules
以前に解析できるようにするファイルを作成します90-pulseaudio.rules
(もちろん、期待どおりに機能しない場合は、番号付けを試みる必要があるかもしれません)。目的のエディタでファイルを開き、ルールを作成します。以前
idVendor
と数字idProduct
を使用してUSBデバイスを一意に一致させ、PulseAudioがデバイスを無視するように環境変数を設定します。ATTRS{idVendor}=="1852", ATTRS{idProduct}=="5110", ENV{PULSE_IGNORE}="1"
[… ]
システムを再起動すると、PulseAudio は USB デバイスが存在することを確認しなくなります。
…または再起動せずにudevルールを再ロードする方法は? もちろん、問題はUSBデバイスについて尋ねることではなく、おそらくHDMIであるということです。次のようなルール動作しますが、テストするHDMIオーディオデバイスはありません。
SUBSYSTEM=="drm", ACTION=="change", ENV{PULSE_IGNORE}="1"
この提案に基づいて、対応するカーネルモジュールをブラックリストに載せることもできます。はい。デフォルトでは、Chrome OSではこれらの変更を実行できないと思います。マウント出力でこれらの変更を実行できる状態パーティションがないことを確認するので、chrootで実行する必要があります。