私は職場でリモートスタッフがSSHとVNCを介してLinux Mintを実行できるようにします。
すべてのスタッフは、私たちがアクティブにしたい唯一のサウンドデバイスであるUSBヘッドセットを使用しています。無効にする必要があるサウンドデバイスは「内蔵オーディオ」デバイスです。従業員のデスクトップで端末を開くと、デバイスが無効になっていることを確認できますpacmd list-sinks | grep "Built-in Audio"
。
このコマンドは、従業員のユーザー名とパスワードでログインするとSSHを介しても機能しますが、管理者の「IT」ユーザー名でSSHを試行するとエラーが発生します。PulseAudioデーモンが実行されていないか、セッションデーモンとして実行されていません。「助けてください!セキュリティのために各従業員のローカルパスワードはありませんが、ITユーザー名を介してSSHを介して権限を使用してITをrootに昇格しても、内蔵オーディオが有効になっていることを確認できないようですsu
。
su - [employee]
コマンドを使用してローカルディスプレイにアクセスしようとしましたが、export DISPLAY=:0
サウンドデバイスも確認できませんでした。 :(
ベストアンサー1
私はそれを考えた!そのaplay --list-devices
コマンドが私が必要とする変数を保存したことがわかりました。このコマンドを実行すると、ターゲットシステムのカードと次のハングの「サブデバイス1/1」文字列が表示されます。 「サブデバイス」文字列は、デバイスがオンの場合は0/1に変更され、デバイスがオフの場合は1/1に変更されます。
そこからgrep -A 1
カードの状態(この場合は「シミュレーション」と呼ばれる)を解析できるようにパイプし、出力をif / thenステートメントにラップして、内蔵オーディオがオンになっているかオフになっているかを確認します。
if aplay --list-devices|grep -A 1 Analog|grep Subdevices:\ 0/1;then echo Built-in IS ON;else echo off