I have developed some TCL/TK programs under Windows 7.
As I have installed Manjaro on one of my notebooks (duel booting with Windows 7), I would like to run those programs in Manjaro as well.
I have them working except for the Bell function. It works fine in Windows but I am unable find out how to make the bell sound from either TCL/TK or the terminal.
The manual for the bell function in tcl/tk states that the bell related setting may be modified by the ‘xset’ command. I looked into this and there is a command ‘xset b on’ that should turn the bell on when required. This didn’t work. The command being used in tcl/tk is ‘bell -nice’ that works fine in windows…
In terminal I tried:
tput bel
echo -e “\07”
echo -e “\a”
None of these work.
For me the bell function in tcl/tk is more important than in terminal.
Does anyone know how to make this work.
The ‘PC speaker - ArchWiki’ link is mainly for how to turn the speaker off not on. But it can still be used. Some of those I already have ON and others cannot be set. These setting are not in the kernel module that xabbu suggested.
It is still the same. No bell sound from tcl/tk or the terminal.
Why is there no checkbox in one of the GUIs?
Why do 10 or more different things need to be setup to do something as simple as to make the bell sound to work (and still not working)?
Is this supposed to be easy for people to setup?
Yes, I selected the Default:0 HDA Intel MID and there it was, similar to yours with multiple columns including the Beep. I also set that to 100.
But how do I make it stick. The next time I try ‘alsamixer’ I receive the original single column and with F6 also the previously selected Default: 0 is not the one selected.
If I launch just alsmixer it opens with the other card with the single column
If alsamixer is used without specifying a card number It will show the ALSA default output from PulseAudio or PipeWire rather than mixer controls for hardware devices
But how do I make it stick
Changes in ALSA settings are usually saved to a system file /var/lib/alsa/asound.state
If alsamixer is run as a normal user without permission to write to this file, changes to ALSA settings will not survive system reboot
To change ALSA settings permanently:
Run alsamixer with root privileges so it has write access to the system file
sudo alsamixer --card=0
OR
Use this command after using alsamixer to save ALSA settings for card 0
sudo alsactl store 0
OR
Use amixer to get ALSA settings in text format
amixer --card=0
and formulate a command to change a specific mixer control:
(e.g. for ALSA settings shown in post#9)
amixer --card=0 sset 'Beep' 100% unmute
I would suggest posting response to amixer --card=0 to show ALSA controls
There may or may not be a mixer control for setting ‘Beep’ level on the audio codec
So there is also no bell sound in another non-graphical TTY? On a graphical environment it is a emulation, which means it mostly doesn’t use the pc-speaker anymore, but instead play a sound file.
So if you really need such a direct beep like on a non-graphical environment, then use beep.
It could be also possible that you run wayland with xwayland (not pure xorg, but a legacy xorg for programs which still uses xorg). It seems not to be implemented there, and I guess it will not ever be implemented. I tested it on xfce (which is xorg only) with the xfce-terminal and when I type tput bel I get a beep sound.
I have no idea, why you even need this, but if it should be just a warning sound, then use a sound file, because the beep sound is going to be obsolete and there was much effort to disable it and make it not necessary.
I have tried all the suggestions without success.
In a root terminal entering alsamixer brings up my card 0, but only in root.
But even in the root terminal there is no bell sound with tput bel or any of the echo inputs.
I agree that there must have been a lot of effort to disable beeps. I believe that this is going backwards.
The output from ’ amixer --card=0’ is very long. I don’t know how to post it.
I have used a sound file before and played it with ‘mpg123 -q $snd’ but that needs a extra file for running my program.