我使用的是 Debian 8.7。我通常選擇要使用的聲卡,並透過「設定」中的聲音選項來停用聲音警報。然而,這些永遠不會被保存,重新啟動時我必須進入“設定”並每次重新設定它們。有沒有辦法保存聲音設置,這樣就不必每次重新啟動都執行此操作?以下是inxi
卡片和驅動程式的資訊:
Audio: Card-1 Advanced Micro Devices [AMD/ATI] Cypress HDMI Audio [Radeon HD 5800 Series]
driver: snd_hda_intel
Card-2 Creative Labs SB X-Fi driver: snd_ctxfi
Card-3 Intel 82801JI (ICH10 Family) HD Audio Controller
driver: snd_hda_intel
Sound: Advanced Linux Sound Architecture v: k3.16.0-4-amd64
以及內容/var/lib/alsa/asound.state
答案1
讓我們整理一下各種聲音設定。
您的聲音硬體由 ALSA 內核驅動程式控制,ALSA 庫提供對這些驅動程式的訪問,並且有各種音量/靜音控制,您可以使用alsamixer
或進行更改amixer
。其中一些設置也可能透過 Gnome 公開。我通常不會管它們,只有在某些東西不起作用時才進行修改。
您可以使用 和 儲存和還原這些設置alsactl store
,alsactl restore
Debian 軟體包alsa-utils
包含一個可以從 恢復這些設定的腳本/var/lib/alsa/asound.state
。
Pulseaudio 運行在 ALSA 之上。您可以pavucontrol
透過其他方式變更 Pulseaudio 設定。 Pulseaudio 會記住一些設置,但沒有通用的方法來儲存或恢復它們;如果你想讓 Pulseaudio 設定在啟動時出現,你必須修改 Pulseaudio 設定。
由於我不運行 Gnome 桌面,所以我不知道“禁用聲音警報”實際上是做什麼的。它可能是 Gnome 設置,在這種情況下,您必須弄清楚如何在啟動時恢復 Gnome 設定。 Gnome 設定資料庫有各種實用程序,例如dconf
和gsettings
,但用法顯然隨著版本的不同而發生了變化,我永遠無法完全理解一切是如何工作的。
因此,如果您主要對「禁用聲音警報」感興趣,您需要弄清楚它到底做了什麼以及它改變了什麼。
編輯:
所以音效設定絕對是 Gnome 的東西,所以你需要研究如何使 Gnome 設定永久化,或在啟動時設定它們。
alsa-utils
透過為 SysV Init ( /etc/init.d/alsa-utils
) 和 systemd ( /lib/systemd/system/alsa-*
) 提供腳本來恢復啟動時的設置,這些腳本基本上調用alsactl restore /var/lib/alsa/asound.stat
)。因此,當您alsactl store
以 root 身份調用時,它會將當前設定寫入此文件,並且它們將在啟動時恢復。
Gnome 選單中顯示的「選定」輸出可能是預設 Pulseaudio 接收器的包裝器。您可以設定此接收器pacmd set-default-sink
(用於pacmd list-sist-sinks | grep name:
列出接收器的名稱),我pavucontrol
也認為在 中。 Pulseaudio 會記住它。也有可能這又是一個 Gnome 設置,它覆蓋了 Pulseaudio 的功能。
答案2
我將發佈為我解決問題的方法,這是這裡問題的最佳答案:
https://askubuntu.com/questions/398030/change-default-sound-device
使用這個和提供的幫助德克特我採取的步驟是:
pacmd list-cards
- 這給了我的 X-Fi 作為索引 2。
設定檔設定實際上與上面連結的答案中的設定相同,即2 output:analog-stereo
.然後我輸入以下內容pacmd set-card-profile 2 output:analog-stereo
然後我添加了
set-card-profile 2 output:analog-stereo
set-default-sink 2
到最後/etc/pulse/default.pa
重新啟動時,X-Fi 仍被選中,無需在聲音中進行任何更改即可重新選擇該卡。
答案3
alsactl store
應儲存混音器設定。不確定它們是否在 Debian 中預設啟動時加載,但可以使用命令恢復alsactl restore
。