2017-12-24 25 views
0

時々、HDMIを介してノートパソコンをテレビに接続して、画面を大きくすることがあります。残念なことに、それは自動的にオーディオ出力を切り替えるわけではないので、私はそれを私がプラグインしたり、プラグを抜いたりするたびに自分自身でやっていなければなりません。HDMIが接続されているときに自動的に検出する

  • pacmd set-card-profile 0 output:hdmi-stereo-extra1
  • pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo

HDMIが接続され、または変更が発生した場合、少なくともかどうかを検出する方法はありますか?ありがとう!

Linuxのミント18.2 Xfceのx64の、AsusのP756U

+1

このQは、StackOverflowで定義されているプログラミングに関するものではありません。 ** https://superuser.comまたはhttps://unix.stackexchange.comの方が適切かもしれません。あなたのQの下にある 'flag'リンクを使って、司会者にそれを移動するように依頼してください。 2つの異なるサイトに同じQを投稿しないでください。 https://stackoverflow.com/help/on-topic、https://stackoverflow.com/help/how-to-ask、https://stackoverflow.com/help/dont-askおよびhttps://をお読みください。もっとQを投稿する前にstackoverflow.com/help/mcveをご覧ください。Good Luck – shellter

+0

Stack Overflowはプログラミングと開発に関する質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

答えて

1

私はHDMIが接続されているかどうかを判断するために、2つの異なる方法を使用しています:

a)に接続されているとして、あなたのHDMIモニタを報告します
簡単なのxrandrをxrandrを使用 はあなたのような何かを行うことができ、スクリプトでこれを使用するには:

hdmi_active=$(xrandr |grep ' connected' |grep 'HDMI' |awk '{print $1}') 

上記は、接続されたHDMIポート(つまり、HDMI-1)を返しますまたは何もHDMIが接続されていない場合は何も返さないでしょう。 $hdmi_activeが設定されていない場合は、その後、

[[ ! -z "$hdmi_active" ]] && do_your_stuff 

zのようなものを使用することができます

trueになります。 ! zは、この動作を戻り、HDMIステータスファイル使用)hdmi_activeの値を持つ場合= HDMIを

Bに接続されているtrue返し:

$ cat /sys/class/drm/card0/*HDMI*/status 
disconnected 
disconnected 
:あなたのHDMIポートの

$ cat /sys/class/drm/card0/*HDMI*/status 

この戻り接続/切断を

その結果に対して、次のような結果を試すことができます。

​​
関連する問題