斷開耳機時關閉音量的腳本

企鵝-159784_640

我發生的事情是,人們在清晨睡覺時,我聽了很重的音樂,卻誤把耳機拔了下來,導致它在整個房子裡播放(我認為當時他們討厭我哈哈)。 因此,編寫一個小腳本,使其在斷開連接時將音量靜音:

首先是要安裝 alsa 實用程序 為了能夠從命令輕鬆管理音量:

sudo pacman -S alsa-utils

接下來的事情是通過Google搜索發現alsa保存在純文本文件中(可以用任何文本編輯器讀取,在Windows中這一切都將更加複雜),聲卡的狀態僅需複製文件,然後比較更改。

該文件是:
/proc/asound/card0/codec#0

在某些情況下,這可能會有所不同,例如,如果我們有多個聲卡。 如果您想了解更多信息,請留下alsa文檔的鏈接:http://alsa.opensrc.org/Proc_asound_documentation

我連接耳機並複製文件:
mkdir $HOME/.audifonos && cp "/proc/asound/card0/codec#0" "$HOME/.audifonos/con.txt"

然後拔下耳機並使用diff命令,該命令顯示兩個文件之間的不同行:
diff "/proc/asound/card0/codec#0" ".audifonos/con.txt"

有一些我們不感興趣的數據,因此我們必須使用grep進行過濾,以便僅顯示帶有單詞“ Pin-ctls”的行。

diff "/proc/asound/card0/codec#0" ".audifonos/con" | grep Pin-ctls

如果該命令在屏幕上未顯示任何內容,則表明我們已戴上耳機。 由於它無法返回任何內容,因此會返回錯誤。

要查看此錯誤,我們輸入:
echo $?

如果在每個屏幕上顯示一個,則表明該錯誤。

安慰

另一方面,如果在執行此操作時返回了某些內容,則表示我們已斷開了耳機的連接,在這種情況下,它不會返回錯誤:
echo $?

你好

考慮到這一點並了解bash,很容易做到:

頭戴式耳機

我下載了該文件,並授予了首次打開它的執行權限,以便“安裝”(它僅要求連接耳機並複制開頭說明的文件)。
wget http://paste.desdelinux.net/?dl=5178 && chmod +x audifonos.sh && ./audifonos.sh

最後,每次打開電腦時,它都會自動啟動

從Xfce,我轉到應用程序>配置>會話和啟動>應用程序自動啟動>添加並放置腳本


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   他說:

    您碰巧使用過 WM 嗎? 至少在帶有 Gnome-Shell 3.16 的 Arch 中,它保留了音量控制的變化,例如,當我連接 HDMI 時,它顯示最大音量,當我連接耳機時,它顯示非常低的音量,而在集成揚聲器中,它幾乎顯示最大音量。

    儘管事實上我一直在尋找一些時間來做到這一點,但必須降低音量才能使用揚聲器是一件痛苦的事情,而且聲音不響亮或對其他人來說很煩人。 非常感謝您的貢獻。

    1.    他說:

      沒有什麼 🙂,我使用 xfce 😛

      1.    他說:

        我只記得有一次我在看 p0rn,我戴著耳機,斷開了 hdp,他們聽到了 Shyla 的呻吟聲 :c
        好消息是,這只是至少永恆的一秒鐘的片段,當他們殺死一個妓女時,聽起來就像恐怖電影 XD
        想了想,我還是把它加入收藏吧

  2.   約約·莫雷諾 他說:

    哈哈哈哈哈哈,同樣的事情也發生在我身上,當我在午夜左右無意中斷開連接時,一個好的硬核聲音以最大音量響起 XD 我的家人很害怕:v

  3.   諾信軟件 他說:

    好的信息在某些時候會對我有用。 太感謝了

  4.   安德烈瑟 他說:

    你沒有騙我,你正在看西班牙語的 por*o gay,而你的耳機卻斷開了 xD
    感謝您的貢獻,在 Linux Mint 中,音量被保留,例如,如果我靜音然後連接耳機,我將在耳機中聽到聲音,而不是沒有耳機。
    問候。

    1.    他說:

      哈哈哈,不,但在這些情況下它也有效(?)

      1.    安德烈瑟 他說:

        是的,它也適用於這些情況(͡°͜ʖ͡°)

  5.   傑尼 他說:

    好信息,一個建議,如果系統支持“devd”,我該如何繼續複製或創建此文件?

    [代碼] $PREFIX/share/examples/cups/ulpt-cupsd.conf 到 $PREFIX/etc/devd/ [/code]

    1.    他說:

      我不能告訴你,cp命令還不夠嗎?

      1.    傑尼 他說:

        不,它說該目錄不存在,我也不知道如何創建它。

  6.   費爾南多 他說:

    呵呵,好吧,如果我告訴你,這種情況在我身上發生過不止一次,並且音樂相同,所以我把它寫下來以便稍後安裝。 向您致以問候並代表重金屬感謝您。

  7.   大衛 他說:

    …… ~ $ sudo pacman -S alsa-utils
    [sudo] 大衛的密碼:
    sudo: pacman: 未找到命令