In a konsole terminal window outside of screen running a bash shell with TERM set to konsole-256color if I type:

echo -n $'\a' or
echo -n $'\eg' or
./ringbell where contents of ./ringbell is

echo -n $'\eg';echo -n $'\a'

They all result in the configured audio bell going off. If I enter a screen session (my .screenrc also sets term to konsole-256color) only the second of the above 3 commands (echo -n $'\eg') result in the audio bell being heard. Do I have to modify the script or is this an issue with screen?

The ubuntu version of screen package I have is 4.1.0~20120320gitdb59704-9.


From memory, Ctrl-G is the bell character, so I think that's why the second one worked. But screen can be picky over what characters it accepts as it takes Ctrl-A as the command code.

Try this

# Ring the terminal bell
# echo "\a" # does not work in some shells
tput bel

I found this on rosettacode, hopefully it will give you some options

  • This doesn't work either inside or outside of screen. If I use infocmp it shows me that the bel capability is not defined for TERM konsole-256color so this makes sense. Although the screen terminfo entry defines bel a tput -T screen bel also does not work. – Bob Sep 3 '14 at 12:06
  • 1
    After more testing it appears tput -T screen bel does work after all. My initial test failed because I was running a screen within a screen and the outer screen did not have vbell off. Thanks for the the tip. – Bob Sep 3 '14 at 13:51

Best solution: printf '\a'

That's because the printf built into most shells works well, and there's also an equivalent executable version of printf installed with Linux/Mac systems.

Other options: If you have curses installed, then you can also use: tput bel If you use a recent version of bash, then can use: echo -n '\a'

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.