GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu –オーディオケーブルが接続されているかどうかを検出する方法は?

Ubuntu Lucid(10.04)を使用しています。ルートとして実行されているシェルスクリプトで、オーディオケーブル(アナログジャック)がラップトップに接続されているかどうかを検出したいと思います。それ、どうやったら出来るの?ポータブルソリューションは必要ありません。どんなにハッキーでも、ラップトップで機能するものが必要です。

承認された回答:

1つの方法は、おそらく amixerを使用することです。 。

プラグインされたジャック:

$ amixer -c 0 contents
numid=29,iface=CARD,name='Front Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
...

ジャックが接続されていません:

$ amixer -c 0 contents
numid=29,iface=CARD,name='Front Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
...

だから私ができるその特定のもののために:

amixer -c 0 contents | \
awk -F"," '
$1 == "numid=29" {
    c=1
} c && /: values/ {
   split($0, a, "=")
   print a[2];
   exit
}'

onの出力を与える またはoff

コマンドを使用して、 ifaceで指定することもできます +名前 など。例:

リストを取得する:

$ amixer -c 0 controls

ここで、 -c 0 カードを指定します。デフォルトまたは1つだけの場合は不要です。次に例:

$ amixer -c 0 cget numid=29,iface=CARD

$ amixer -c 0 cget numid=29,iface=CARD | awk -F"=" 'NR == 3 {print $2;}'

私は一度ソフトウェアに出くわしました。それはTcl/Tkを使用していると信じており、コンピューターのすべてのポートのピンパワーと他の多くのハードウェア情報を表示していました。それは素晴らしいソフトウェアでしたが、私はそれを再び見つけることができません。運が悪かった12台の古いHDDを調べました。いくつかのジャックポートをデバッグするために使用しました。そうです、特定のポートのステータスをポーリングすることは間違いなく可能です。

ジャックは、ジャックが原因でWebを検索するのが面倒です。ほぼ不可能になります。

サウンドカード情報のポーリングを行うCコードがあります。私がそれを見つけることができるかどうか見なければなりません。


Ubuntu
  1. Ubuntu22.04にシンプルオーディオレコーダーをインストールする方法

  2. Ubuntu 20.04でターミナルをカスタマイズする-それを行う方法は?

  3. Ubuntuをロックアップする方法は?

  1. メモリリークを検出する方法は?

  2. Ubuntu 18.04でPulseaudioを12.xにアップデートする方法は?

  3. ネットワークケーブル/コネクタの物理的な接続状態を検出する方法は?

  1. 新しいUbuntuテーマを試す方法

  2. Ubuntu20.04でターミナルをカスタマイズする方法

  3. Ubuntu20.04にAudacityオーディオエディタをインストールする方法