Disable terminal bell in WSL

Windows Subsystem for Linux is pretty nifty, but Windows has a very rudimentary terminal interface compared to most modern Unix implementations; though I do have high hopes for the new Windows Terminal project. One particularly annoying issue is that there is no way to directly disable sound, this can be a particularly annoying issue when using tab completion or backspace.

The easiest solution to this lack of functionality is to disable the bell in the Linux shell by modifying the readline(3) configuration in /etc/inputrc or ~/.inputrc.

# do not bell on tab-completion
set bell-style none

Using ssh-agent with Windows Subsystem for Linux

Update: I’ve since revised these instructions in this post.

This is fairly basic, but you never know what might be useful to somebody!

Due to the fact that WSL doesn’t bootstrap itself with a normal init/systemd process it can be a bit frustrating to work with SSH keys.

Thankfully the ssh-agent command is designed to set up an environment for key management without much hassle. The trivial method of doing this is to insert the following command into your ~/.bashrc or ~/.profile script:

# start ssh-agent
eval `ssh-agent`

This will initialize a socket to manage your keys and you can then use the ssh-add command as you would on a normal Linux system.

For completeness, stick the following in your ~/.bash_logout script:

# unset ssh-agent
ssh-agent -k

This will remove the socket and unset the environment so that your keys don’t remain loaded after you close your WSL session using exit or CTRL-D.