Windows Subsystem for Linux (WSL) provides a powerful environment for running Linux distributions on Windows. If you're a fan of the Debian distribution and use Windows Terminal, you might want to streamline your workflow by automatically starting
tmux every time you launch a new Debian tab.
Given that instead of launching the default shell, tmux is executed...
- if you detach the tmux session the tab is closed
- if you close the tab or the windows terminal without detaching the tmux session, that sessions remains opened.
That's why i prefer to create a duplicated profile so i get a profile that launches tmux and another one that launches default shell.
It's worth noting that a configuration like this can be easily extrapolated to other Linux distributions within WSL. In this guide, we'll walk through the steps to achieve this setup.
Checking and Installing tmux
Before configuring Windows Terminal, ensure that
tmux is installed in your Linux distribution. Open a terminal window and run the following commands (applies to distributions using apt/deb packages):
sudo apt update
sudo apt install tmux
These commands ensure that your Debian environment has
tmux installed. If it's already installed, the system will be updated to the latest version.
Configuring Windows Terminal
Open Windows Terminal and navigate to the "Settings" and press "+ Add a new profile" option
Modify the name (in this example i modified "Debian" to "Debian (TMUX)"
In the "Command line" field, you will likely be able to see something like this:
C:\Windows\System32\wsl.exe -d Debian
Add the parameter "-e tmux new" so the command becomes
C:\Windows\System32\wsl.exe -d Debian -e tmux new
Save the changes
Testing the Setup
Now, each time you open a new Linux tab in Windows Terminal, you can choose either the standard one that opens the default shell, or the one in which
tmux should automatically launch, providing you with a powerful terminal multiplexer for managing multiple sessions and windows.
Each tmux tab will be attached to a different tmux sessión.
Configuring Windows Terminal to start
tmux automatically with your WSL Linux distribution tab enhances your productivity by eliminating the need to manually initiate
tmux each time. Ensure that
tmux is installed and up-to-date in your environment, and then follow the steps above to set up the automatic
tmux startup. This configuration can be extrapolated to other Linux distributions within WSL, allowing you to customize your environment based on your distribution of choice.