
我知道 Vim 中有一種視覺鈴聲,它可以讓整個螢幕閃爍而不是發出蜂鳴聲。一些終端程式也具有相同的功能。
我正在尋找一種類似類型的視覺鈴聲,它會在 X 中閃爍我所有的螢幕、所有虛擬桌面上的聲音。肯定會引起我注意的通知方法。
有誰知道它是否存在?
答案1
我不知道這樣的事情,但您可以使用命令列工具notify-send 在桌面上彈出視窗。在 Ubuntu 中,軟體包是 libnotify-bin。例如:
notify-send -u normal -t 10000 -i info 'hw' 'Hello world'
答案2
我遇到了同樣的問題,所以我為此編寫了一個程式:
https://github.com/rianhunter/xvisbell
跑步:
$ git clone https://github.com/rianhunter/xvisbell.git
$ cd xvisbell
$ make
$ xset b on
$ xset b 100
$ ./xvisbell &
$ xkbbell # test
希望有幫助。
答案3
根據你的需要,還有xmessage
——它很舊,很醜,但是它包含在X中。重要,您按的鍵會在退出狀態中返回)。
答案4
是的,這是可能的!
以下是調暗顯示器 LCD 背光然後將其恢復到原來位置的實現。
步驟1: 找到一種可靠地改變背光的方法[1][2]。我將在這裡使用最簡單的一種,但是 ymmv。
/sys/class/backlight 中有核心(?)級控制項。確切的子目錄名稱將根據您的設定而有所不同。我在本範例中使用此方法,但如果您發現另一個有效的命令,您可以跳過第二步並更改第三步驟中的腳本,以使get_brightness
和set_brightness
函數使用您選擇的方法。
這會給你你的目前的亮度等級
cat /sys/class/backlight/intel_backlight/brightness
現在嘗試改變它:
export BRIGHTNESS=/sys/class/backlight/intel_backlight/brightness
echo 50 |sudo tee $BRIGHTNESS; sleep 1; echo 80 |sudo tee $BRIGHTNESS
這將使您的螢幕變暗一秒鐘,然後將其調至 80 級(使用您之前獲得的值,否則您的顯示器可能會太暗)。我已將它們捆綁到同一個命令中,這樣您就不會陷入太暗的螢幕中。在此測試中,我們以 root 身分執行。接下來我們將獲得您自己帳戶的存取權限。 (如果不起作用就到此為止!)
第二步:取得您自己帳戶的存取權限:
sudo chmod g+w /sys/class/backlight/intel_backlight/brightness
sudo chgrp video /sys/class/backlight/intel_backlight/brightness
sudo usermod -a -G video my_username
(請注意,這可能無法在重新啟動後繼續存在。如果是這種情況,我會回來修改此內容,但我只每季度重新啟動一次,所以請耐心等待。)
第三步:編寫以下腳本:
#!/bin/sh
help() { cat <</help
Blink/flash the whole X display (on one LCD monitor)
Usage: visual-bell [BLINK_COUNT]
0.2+20140327 Copyright (c) 2010+ by Adam Katz <www.khopis.com/scripts>, LGPL 2+
/help
}
SLEEP_TIME=0.03
BRIGHTNESS=/sys/class/backlight/intel_backlight/brightness
get_brightness() {
cat $BRIGHTNESS
}
set_brightness() {
echo $1 > $BRIGHTNESS
}
COUNT=${1:-1} # read count from first argument (default to one blink)
# if the argument wasn't a number greater than zero, show help and exit
if ! [ "$COUNT" -gt 0 ] 2>/dev/null; then
help
exit 1
fi
LEVEL=`get_brightness`
while [ $COUNT -gt 0 ]; do
set_brightness 0 # blacken the screen
sleep $SLEEP_TIME
set_brightness $LEVEL # revert the screen to previous brightness
sleep $SLEEP_TIME
COUNT=$((COUNT-1)) # decrement counter
done
你應該可以走了。將其儲存為/usr/local/bin/visual-bell
可執行檔 ( chmod +x visual-bell
),然後就可以運行它了。該腳本將閃爍給定的次數(預設為 1 次),因此您可以執行visual-bell 3
閃爍 3 次。
理論上,如果您使用的話,您可以使多個顯示器閃爍/sys/class/backlight/*/brightness
,但請注意不同的顯示器可能具有不同的亮度等級。我的戴爾 LCD(透過 DisplayPort-VGA 轉接器連接)在這裡無法工作,但我的筆記型電腦顯示器可以。
進一步的步驟: 在 pidgin 等程式中作為「聲音命令」安裝。我不知道如何在終端模擬器中執行此操作。