බාෂ් භාවිතා කරමින්, මම පීසී ස්පීකර් බීප් කරන්නේ කෙසේද?
වගේ දෙයක් echo 'beepsound' > /dev/pcspkr
හොඳයි.
බාෂ් භාවිතා කරමින්, මම පීසී ස්පීකර් බීප් කරන්නේ කෙසේද?
වගේ දෙයක් echo 'beepsound' > /dev/pcspkr
හොඳයි.
Answers:
මම සාමාන්යයෙන් beep
බොහෝ පද්ධතිවල ස්ථාපනය කර ඇති කුඩා උපයෝගීතාව භාවිතා කරමි . මෙම විධානය මඟින් පද්ධති ශබ්දයක් නිර්මාණය කිරීම සඳහා විවිධ ප්රවේශයන් උත්සාහ කරනු ඇත.
beep
මෑන් පිටුවෙන් ශබ්දයක් නිර්මාණය කිරීමේ ක්රම 3 ක් ඇත :
ෂෙල් ස්ක්රිප්ට් එකක බීප් නිපදවීමේ සාම්ප්රදායික ක්රමය නම් ASCII BEL
( \007
) අක්ෂරයක් සම්මත නිමැවුමට ලිවීම , ෂෙල් විධානයක් මඟින්
echo -ne '\007'
මෙය ක්රියාත්මක වන්නේ ඇමතුම් කවචයේ සම්මත ප්රතිදානය දැනට යම් ආකාරයක පර්යන්ත උපාංගයකට යොමු කර ඇත්නම් පමණි; එසේ නොවුවහොත්, බීප් ශබ්දය නිපදවන්නේ නැති අතර ප්රතිදානය යොමු කරන ඕනෑම ගොනුවක අනවශ්ය දූෂණයක් ඇති කරයි.
බීප් ශබ්දයක් ඇති කිරීමට වෙනත් ක්රම තිබේ. තරමක් විශ්වාසදායක ක්රමයක් නම් /dev/tty
ඔබේ බෙල් අක්ෂරය විවෘත කර යැවීමයි. මෙය I / O යළි හරවා යැවීමට එරෙහිව ශක්තිමත් නමුත් බීප් උත්පාදනය කිරීමට බලාපොරොත්තු වන ෂෙල් ස්ක්රිප්ටයට පාලක පර්යන්තයක් නොමැති අවස්ථාවකදී තවමත් අසමත් වේ, උදාහරණයක් ලෙස එය X කවුළු කළමනාකරුවෙකුගෙන් ක්රියාත්මක වන නිසා.
තෙවන ප්රවේශය නම් ඔබේ එක්ස් ඩිස්ප්ලේ වෙත සම්බන්ධ වී එය බෙල් විධානයක් යැවීමයි. මෙය යුනික්ස් ටර්මිනල් උපාංගයක් මත රඳා නොපවතින නමුත් (ඇත්ත වශයෙන්ම) එක්ස් ඩිස්ප්ලේ අවශ්ය වේ.
beep
සරලවම මෙම ක්රම 3 උත්සාහ කරනු ඇත.
beep
විධානයේ මුල් පිටුව : johnath.com/beep උබුන්ටු / ඩේබියන් මත, ඔබට එය ස්ථාපනය කළ හැකිය apt-get install beep
.
pcspkr
මොඩියුලය snd-pcsp
මුදා හැරීම , පැටවීම , සහ දැන් ඔබට අල්සා සවුන්ඩ් කාඩ්පතක් ඇති අතර එය ඔබේ අභ්යන්තර කථිකයාට ඩිජිටල් ශබ්දය පෝෂණය කිරීම සඳහා පැරණි පාසල් උපක්රම භාවිතා කරයි. එය පීසෝ ඉලෙක්ට්රික් අභ්යන්තර කථිකයන් සමඟ අමිහිරි ප්රති results ල ලබා දෙයි, නමුත් සම්භාව්ය අභ්යන්තර කථිකයන් මත, ගුණාත්මකභාවය එය කුමක් සඳහාද යන්න හොඳය. මේ ආකාරයෙන්, ඔබේ බීප් ශබ්දය සඳහා ඔබට වඩාත් නිර්මාණාත්මක බවක් ලබා ගත හැකිය;)
pcspkr
හා snd-pcsp
කරන මොඩියුල නොව පැකේජ. භාවිතා modprobe
/ modprobe -r
/ lsmod
ඔවුන් හැසිරවීමට. ඔබේ තොරතුරු සඳහා, ඒවා linux-image-something
දැනටමත් ස්ථාපනය කර ඇති පැකේජයේ ඇත (නැතිනම් ඔබට ලිනක්ස් කර්නලයක් නොමැත).
modprobe snd-pcsp
බීප් දැන් වැඩ කරයි!
සටහන: සිට මෙම විසඳුමක් පිටවන්නේ කේප් කැනවරල් හි කථිකයන් සඳහා නොව, මව් .
ඇල්සා ස්පීකර්-ටෙස්ට් , විධාන රේඛා ස්පීකර් ටෙස්ට් ටෝන් උත්පාදක යන්ත්රයක් සමඟ එන අතර එය බීප් උත්පාදනය සඳහා භාවිතා කළ හැකිය:
$ speaker-test -t sine -f 1000 -l 1
බලන්න මෙම ආරුක්කු linux සංසදය නූල් .
කෙසේ වෙතත්, බීප් කාලය අත්තනෝමතික වනු ඇත, නමුත් පහත පරිදි පාලනය කළ හැකිය:
$ ( speaker-test -t sine -f 1000 )& pid=$! ; sleep 0.1s ; kill -9 $pid
අපට එය තවත් පියවරක් ඉදිරියට ගෙන ගොස් මෙම ශ්රිතය සමඟ බීප් එකක් ප්රතිදානය කළ හැකිය:
_alarm() {
( \speaker-test --frequency $1 --test sine )&
pid=$!
\sleep 0.${2}s
\kill -9 $pid
}
එය සංඛ්යාත හා කාල පරාමිතීන් සමඟ හැඳින්වේ:
$ _alarm 400 200
මෙය මනසේ තබාගෙන සරල සංගීතය නිර්මාණය කළ speaker-test
හැකිය. මෙම ෂෙල් පිටපත බලන්න .
timeout ${2} speaker-test --frequency ${1} --test sine
speaker-test -t sine -f 1000 -l 1 & sleep .2 && kill -9 $!
, එකම දේ කරයි. කෙසේ වෙතත්, @ user569825 ක්රමය වඩාත් හොඳයි.
සරලව දෝංකාර දීම \a
හෝ \07
මා වෙනුවෙන් වැඩ කිරීම.
$ echo -e "\a"
මෙය බොහෝ විට pcspkr
කර්නල් මොඩියුලය පූරණය කිරීමට අවශ්ය වනු ඇත. මම මෙය RHEL හි පමණක් පරීක්ෂා කර ඇත්තෙමි, එබැවින් YMMV.
වොරන් අදහස් දැක්වීමේදී පෙන්වා දුන් පරිදි, දුරස්ථව SSH හරහා ලොග් වූ විට මෙය ක්රියා නොකරනු ඇත. ඉක්මන් විසඳුමක් වනුයේ ප්රතිදානය ඕනෑම TTY උපාංගයකට හරවා යැවීමයි (ඉතා මැනවින් භාවිතයට නොගත් එකක්). උදා:
$ echo -en "\a" > /dev/tty5
sudo modprobe pcspkr
හරහා එක්කෝ VT යටතේ කේප් කැනවරල් හි සක්රිය කිරීමට ප්රමාණවත් විය printf "\a"
හෝ beep
උපයෝගිතා.
Ubuntu 16.04.1 LTS
tput bel
නිසා terminfo නිර්වචනය කරන bel
ලෙස
Variable Cap- TCap Description
String name Code
bell bel bl audible signal
(bell) (P)
sox
ස්ථාපනය කර ඇත්නම් ශබ්ද කාඩ්පත භාවිතා කිරීම සඳහා සහ PC ස්පීකර් නොමැති නම්:
$ play -q -n synth 0.1 sin 880 || echo -e "\a"
sox
බොහෝ ඩිස්ට්රෝ සඳහා ලබා ගත හැකිය.
then
ඇතුළත කොටසක භාවිතා කළෙමි watch
. මගේ හෙඩ්ෆෝන් දිගටම තබා ගැනීමට පවා මට ඉඩ දෙයි. මෙය මට ඉතා ප්රයෝජනවත් විය.
sudo -u USER play...
play
පරිශීලකයෙකු ලෙස ස්පන්දන ඕඩියෝ භාවිතා කරයි. මම හිතන්නේ එය පද්ධති වින්යාසය මත රඳා පවතී.
0.1
, හැකියාවන් ගොඩක් ශබ්දය දිග වෙනස් වනු ඇත! . වෙනත් පරිශීලකයින්ට PA වෙත ප්රවේශ වීමට ඉඩ දීම.)
මෙය සාක්ෂාත් කර ගැනීම සඳහා සමහර ඩිස්ට්රෝ වලට විධාන රේඛා උපයෝගීතා ඇත. සමහර විට ඔබට කුමක් විය හැකිදැයි අපට පැවසිය හැකිය, නැතහොත් සොයන්න (උදා: emerge -s beep
ජෙන්ටූ හි).
“ලබා ගත හැකි” භාවිතයෙන් ඔබ්බට ගොස්, ඔබට බීප් විමෝචනය කරන පර්ල් පිටපතක් ද කළ හැකිය, ඔබ කළ යුත්තේ:
<SomeCodeBefore>
print "\007";
<SomeCodeAfter>
ඔබ 'බීප්' ලබා ගැනීම අවසන් කරන්නේ නම්, පහත සඳහන් දෑ අත්හදා බලන්න:
#! /bin/sh
beep -f 500 -l 700
beep -f 480 -l 400
beep -f 470 -l 250
beep -f 530 -l 300 -D 100
beep -f 500 -l 300 -D 100
beep -f 500 -l 300
beep -f 400 -l 600
beep -f 300 -l 500
beep -f 350 -l 700
beep -f 250 -l 600
echo -e "\007"
වෙනුවට බැෂ් වලින් වැඩ print "\007
කරයිද?
printf '\007'
වෙනුවට භාවිතා කිරීම වඩා අතේ ගෙන යා හැකි වනු ඇත echo
.
" බීප් වැඩ කළ හැක්කේ ඔබේ පරිගණකයට සාම්ප්රදායික පැරණි විලාසිතාවක්" ස්පීකර් "තිබේ නම් පමණි. බොහෝ විට සියලුම ලැප්ටොප් සහ කුඩා උපාංග නොමැති නම්.
කෙසේ වෙතත් ඔවුන් බොහෝ විට ඒ වෙනුවට ඇත්තේ ශබ්ද චිපයක් සහ ඔබට අවශ්ය ඕනෑම ශබ්දයක් කිරීමට භාවිතා කළ හැකි ස්පීකර් එකක් හෝ කිහිපයක් ය.
එබැවින් යල් පැන ගිය උපදෙස් beep
විධානය ස්ථාපනය කිරීමට සහ / හෝ කර්නල් මොඩියුලය pcspkr
ඔබට පැරණි විලාසිතාවේ ස්පීකර් දෘඩාංග නොමැති විට නිහ ly ව ක්රියා නොකරනු ඇත.
INSTEAD: ඔබට බීප් එකක් අවශ්ය විට මේ වගේ ශබ්දයක් වාදනය කිරීමට උත්සාහ කරන්න:
paplay /usr/share/sounds/sound-icons/capital
මෙම භාවිතා සටහන paplay
( පී ulse ඒ udio Play ) විධානය කරන මිශ්රණ වෙනත් පරිශීලක මට්ටමේ (පරිශීලක යෙදුම), ශබ්ද වඩාත් හොඳින් ඔබේ පද්ධතිය මත නොව පැරණි aplay
( ඒ නාඡචදූව Play ) විධානය සාමාන්යයෙන් පමණක් එම අවස්ථාවේ දී එක් ශබ්ද වාදනය කළ හැකි. කෙසේ වෙතත්, PulseAudio ඇත්ත වශයෙන්ම ශබ්දය වාදනය කිරීමට ALSA ට කතා කරන බව සලකන්න.
භාවිතා play
කිරීමට මා කලින් කළ යෝජනාව තවමත් ක්රියාත්මක විය හැකි නමුත්, සෙල්ලම් කරන SoX ධාවනය කිරීම අතිරික්තය.
අනෙක් සියල්ල අසමත් වූ විට මා වෙනුවෙන් වැඩ කරයි. ස්තූතියි: tredegar & hk_centos සහ වෙනත් අය.
උත්සාහ කරන්න
echo -n Ctrl+ V Ctrl+G
අවාසිය නම් මෙය ක්රියාත්මක වන්නේ ප්රතිදාන උපාංගය පර්යන්තයක් වූ විට පමණි, එබැවින් එය ක්රෝන් රැකියාවක් තුළ ක්රියා නොකරනු ඇත. (නමුත් ඔබ මූල නම් ඔබට /dev/console
වහාම බීප් කිරීම සඳහා හරවා යැවිය හැකිය.)
ලිනක්ස් හි, වැනි මෙවලම් beep
මඟින් දී ඇති ශබ්දයක් විමෝචනය කිරීම සඳහා කොන්සෝල උපාංගයේ ioctl භාවිතා කළ හැකිය. වඩාත් නිශ්චිතව කිවහොත්, ioctl beep
භාවිතා කරනු ඇත KIOCSOUND
, නමුත් KDMKTONE
ශබ්දය ජනනය කිරීම සඳහා භාවිතා කළ හැකි ioctl ද ඇත.
මා තේරුම් ගත් පරිදි, කලින් ශබ්දය ආරම්භ වන්නේ එය අවලංගු වන තෙක් පවතින අතර, දෙවැන්න කලින් තීරණය කළ කාල සීමාවක් නිර්මාණය කරයි. වැඩි විස්තර සඳහා console_ioctl
(4) මෑන් පිටුව බලන්න.
එබැවින් ඔබ කරන දේ beep
ගැන ඔබ නොසතුටින් සිටී නම් , ඔබට මෙම ioctls වෙත කෙලින්ම පිවිසීමට කේත පේළි කිහිපයක් ලිවිය හැකිය. ඔබට පූර්ණ ප්රවේශයක් ඇතැයි උපකල්පනය කිරීම /dev/console
, එයට මූල වරප්රසාද අවශ්ය විය හැකිය.
ටර්මිනලයක Ctrl+ ඔබන්න Gඉන්පසුEnter