端末で+を押すとビープ音Ctrlが鳴ると読みました。G私はこれを試しましたが、何も起こりませんでした。なぜ?
私はGNOME端末とBashを使用しています。
ベストアンサー1
Ctrl+Gキーボードを押して端末エミュレータを開きます。送る0x7バイト、^G
ASCIIのBEL文字、つまり\a
(警告)。
ほとんどの端末で発行されます。ちらつく音(または画面のちらつきなどの視覚的な着信音)受け取るこの文字、つまりアプリケーションがこの文字を端末デバイスファイルに書き込むとき、またはエコエンドデバイスのttyルールはそれをそのまま送り返します。
次のように入力する場合:
printf '\a'
または:
printf '\7'
フラッシュが見える、またはビープ音が聞こえます。
それ以外の場合は、端末エミュレータの設定を確認してください。着信音デバイスはデフォルトで無効になっている可能性があります。 gnome-terminal などの素晴らしい統合端末エミュレータを使用するには、デスクトップ環境でグローバルに有効にする必要があります。それでも機能しない場合は、適切な端末エミュレータを試してくださいxterm
。
X11では、ターミナルエミュレータ(またはそれらが使用するライブラリ)は通常、XBell()
画面が点滅するように設定されていないときにビープ音を鳴らすように標準のXライブラリ関数を呼び出します。
ビープ音(ピッチ、基本音量、持続時間)は、コマンドを使用して設定できますxset b
。
LinuxとPCでは、XサーバーはデフォルトでPCスピーカーを使用します。しかし、最近ではpcspkr
この機能がデフォルトで無効になっていることがよくあります。
代わりに、アプリケーションはXサーバーに登録してこれらの着信音を処理できます。pulseaudio
多くのデスクトップ環境で使用されているサウンドサーバーがこれを行うことができます。
~/.config/pulse/default.pa
まだこれを行うように設定されていない場合は、次の行のコメントを外すか、ファイル(または/etc/pulse/default.pa
システム全体)に追加できます。
load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga
load-module module-x11-bell sample=x11-bell
(サウンドサンプルを好きなものに交換してください)。
押したときにビープ音を聞くにはCtrl-Gアプリが必要です。エコその^G
役割。または、独自のラインエディタを持たないアプリケーションの場合は、ttyデバイスラインルールを使用してください。エコモード中にicanon
。
^G
デフォルトでは、Linuxの行規則はそれをエコーしますが(^
およびG
文字)でエコーします。これは変わることができます
stty -echoctl
これにより:
stty -echoctl; cat
ビープ音が聞こえたり、画面が点滅していることがわかりますCtrl+G。そうでない場合、stty -echoctl
または後に表示されるものが表示されますstty echoctl
。^G
Ctrl+G
zsh
bash
対話型シェルアプリケーション(または)またはビジュアルアプリケーション(たとえばvi
、、、、emacs
...)のプロンプトで、mutt
アプリケーションはaptitude
端末デバイスファイルからこのBEL /文字を読み取った後にすべての操作を実行することを決定できます。^G
ここのemacs
^G
ために現在のエディタの操作を中止。これはzsh
orモードでもbash
同じです(およびパラメータの影響を受けるGNUを使用する他のアプリケーションemacs
と同様)。その一環として、文字を端末に送り返すとビープ音/点滅が発生します。bash
readline
bell-style
prefer-visible-bell
^G
現在の構成を照会するための潜在的に関連するいくつかのコマンド(ほとんどはGNU / Linuxシステムとgtkベースのデスクトップ環境を使用している場合にのみ適用されますpulseaudio
):
ターミナル装置ライン規約
echo
関連パラメーターを確認してください(cat
独自のターミナルユーザーインターフェース(TUI)を実装していないアプリケーションの場合)。stty -a | grep echo
^G
シェルプロンプトでマッピングされるアクション:bindkey '^G' # in zsh or tcsh bind -p | grep C-g # in bash
GNU設定
readline
のリング関連設定:grep bell /etc/inputrc ~/.inputrc bind -v | grep bell # bash
端末エミュレータのリング関連設定
xterm
:appres XTerm | grep -i bell
いくつかのgtkベースの端末エミュレータまたは環境では:
gsettings list-recursively | grep -i bell dconf dump / | awk '/^\[/{p=$0};/bell/{print p ORS $0}' gconftool -R /apps/gnome-terminal/profiles | grep bell
X11ベル構成:
xset q | grep bell
Pulse Audioの着信音に関する設定:
pactl list | awk -vRS= -vORS='\n\n' '/bell|pcsp/'
(ここでは、Linux Mint Cinnamonシステムでは例は定義/アップロードされていないため、これを行わないと
/usr/bin/start-pulseaudio-x11
着信音は機能しません。)/usr/bin/pactl load-module module-x11-bell "display=$DISPLAY" "sample=bell.ogg"
bell.ogg
pactl upload-sample /usr/share/cinnamon/sounds/bell.ogg bell.ogg
pcspkr
またはカーネルモジュールがsnd-pcsp
ロードされている場合:lsmod | grep pcsp
明示的に無効になっていますか(ブラックリストに登録されています):
grep -r pcsp /etc/modprobe*
ロードされたが無効になっていますか?
find /sys/module -path '*pcsp*/enable' -exec grep -H . {} +
PCスピーカーをALSAデバイスとして使用できるかどうか:
alsactl -f alsa.dump store; sed '/pcsp/,/^}/!d' alsa.dump
^G
Linux仮想コンソールに送信するとビープ音が鳴りますか?printf \\a | sudo tee /dev/tty0
演奏
x11-bell
(定義されたと仮定)すると音が出ますか?pactl play-sample x11-bell
モジュールは入力イベントデバイスを登録しますか
pcspkr
?find /sys/class/input -lname '*/pcsp*/event*' -ls