2009-01-05 85 views
5

Ubuntu啓動/登錄聲音可能非常大聲,但我確實喜歡擁有它。我寫了一個腳本,使用amixer將音量設置爲25%。這是我喜歡的級別,但是當我使用電視輸出或耳機時,我必須調高音量。我似乎無法讓腳本在登錄聲音播放之前運行。我嘗試了一個cron @reboot,並在/etc/rc3.d/中以及我的.bash_profile腳本中放置了一個符號鏈接。只有第三種方法實際上正確設置音量,但在登錄聲音播放後。啓動時設置Ubuntu音量

理想情況下,我希望在我登出夜晚或在ubuntu登錄屏幕顯示之前運行腳本。

這裏是設置音量的命令:

`/usr/bin/amixer -c 0 sset Master,0 25% > /dev/null` 

建議其他方法來嘗試表示讚賞。

+0

相似的問題:http://askubuntu.com/a/136832/75050(更近的回答,爲我工作)。 – fuenfundachtzig 2012-10-02 06:53:38

回答

2

您可能想嘗試添加該行到您喜歡的位置/etc/rc.local儘管這可能不會很快,因爲rc.local將在gdm之後調用。

另請注意,Ubuntu上的默認運行級別爲,而不是。您在rc3.d中的鏈接可能不起作用,因爲您在哪裏不使用運行級別3.默認運行級別由/etc/event.d/rc-default設置

+0

將腳本添加到運行級別2工作。感謝您的幫助 – Rob 2009-01-07 01:58:36

+0

此方法在Ubuntu 9.04和9.10中停止運行。還沒有在10.04中試過 – Rob 2010-05-05 14:44:46

0

我已經使用this方法來實現,但在Arch Linux上。現在,我對Ubuntu使用的init系統不太熟悉,但我想你可以嘗試將其適用於Ubuntu。

0

我相信Ubuntu的啓動腳本已經包含了「alsactl restore」。您應該能夠運行「alsactl store」,並將卷設置爲25%,並影響所有未來的重新啓動。

1

啊,是的,但是它們在關機時是否還包含「alsactl store」?

0

您可以做的是編寫一個腳本來關閉計算機時降低音量。 事情是這樣的:

#!/bin/sh 

amixer -- sset Master playback -40dB 

exit 1 

然後在關機時運行此腳本。

1

羅布,

我試圖解決同樣的問題。我把上面的「amixer」一行,並且在學習runlevels,/etc/rc#.d文件夾和update-rc.d命令時做了大量的工作。這並不完美。它仍然不會按照我希望的方式運行,但它是一個開始。

改進它的建議將是受歡迎的。

而且,這裏是我下面的代碼.....

須藤回聲 「#!/斌/慶典」> /etc/init.d/lowvol.sh

須藤回聲「的/ usr/bin/amixer -c 0 sset Master,0 35%>/dev/null「>> /etc/init.d/lowvol.sh

sudo chmod + x /etc/init.d/lowvol.sh

sudo chown root:root /etc/init.d/lowvol。sh

sudo update-rc.d lowvol.sh stop 20 0 6。

0

創建一個單元配置並啓用它。

假設ALSA和systemd(Ubuntu使用systemd版本14起)之後

/etc/systemd/system/alsavolume.service

這裏創建一個單元文件。您可以調整命令以運行/usr/bin/amixer sset PCM -- 97%。請記住不要使用引號(否則systemd會將整個事件解釋爲命令)。

[Unit] 
Description="Set volume level." 
After=sound.target 

[Service] 
Type=simple 
ExecStart=/usr/bin/amixer sset PCM -- 97% 

[Install] 
WantedBy=multi-user.target 

啓用它(這意味着創建一個符號鏈接/etc/systemd/system/multi-user.target.wants在啓動時運行,但下面的命令照顧它。)

  1. 刷新守護進程

    systemctl daemon-reload

  2. 啓用服務

    systemctl enable alsavolume.service

    您可以添加參數--now以立即運行本機。