cht電腦資訊Linux
adm Find login register

螢幕內建喇叭 + at 當計時器/鬧鐘

eliu
1 螢幕內建喇叭 + at 當計時器/鬧鐘
Promote 0 Bookmark 02010-12-27quote  

螢幕的內建喇叭一般在螢幕在省電關閉時也跟著關閉,所以必須把螢幕打開,這邊是用 xset dpms force on

~/bin/myalarm
export DISPLAY=:0
xset dpms force on
mpg123 ~/'My Music/a.mp3' >& /dev/null

為了不用輸入那麼多,而且減少輸入錯誤的可能,我們包一個 script

~/bin/myat
echo myalarm | at $1

以後就執行

$myat 6am
$myat 2015     (20:15)

就可以輕鬆設定時間。

 

myalarm 這個 script 配合 crontab 當然也是沒問題的。

edited: 1
eliu
2
Promote 0 Bookmark 02011-06-28quote  

~/bin/myat
echo myalarm | at $*

這樣才可以設定日期

$ myat 10pm 6/30/2011

不過 at 必須寫年,不接受 6/30

eliu
3
Promote 0 Bookmark 02011-10-30quote  

gdm 2.30 會自己產生 .Xauthority file,而且 path 不固定,造成 xset 無法使用。

cron/at job 可以用底下的 shell script 抓到 XAUTHORITY environ var,是抓 gnome-panel 的

pid=`pgrep gnome-panel`
eval `strings /proc/$pid/environ | grep XAUTHORITY`
export XAUTHORITY

edited: 2
eliu
4
Promote 0 Bookmark 02011-11-04quote  
eliu
5
Promote 0 Bookmark 02012-08-06quote  

Ubuntu 12.04 改成這樣。

aumix 是 OSS 的程式,Ubuntu 內定已經沒有 OSS kernel module 了。改成 amixer。

~/bin/myalarm
export DISPLAY=:0
export XAUTHORITY=~/.Xauthority

xset dpms force on
amixer sset Master playback 80% >& /dev/null
mpg123 ~/a.mp3 >& /dev/null

eliu
6
Promote 0 Bookmark 02014-07-18quote  

最近換 PC,發現原來的設定音量沒辦法用。

原因是這個主機板有數個音效介面,amixer 不會選真正有在用的。這時候用 -c 指定音效介面就解決了。

amixer -c 1 sset Master playback 80% >& /dev/null

cht電腦資訊Linux
adm Find login register
views:18056