I would propose that you are:
Following a guide that is almost 4 years old to setup your WSL. WSL is only about 6 years old, and a lot has changed in the last few years. Even the fish shell has evolved quite a bit in that time period (although fish changes are not part of your issue).
Trying to "skip some steps", such as the usage of the fish shell. That particular guide was clearly written with fish in mind, and as pointed out in the comments, at least that command is written in fish-syntax, rather than Bash/POSIX.
Asking about WSLtty, which is a Windows program, on AskUbuntu.com. We do consider WSL questions to be on-topic here as long as they related to Ubuntu, but you'll find much more Ubuntu expertise here than WSL, and even less on WSLtty.
That said, expertise on WSLtty is probably in short supply most anywhere nowadays. This is another side-effect of the fact that things were very different 4 years ago. Back then, I used WSLtty, considered it the best terminal option for WSL, and could have offered assistance on it.
So let me propose some alternatives, since I can't help you out (and most likely no one here on Ask Ubuntu can) on WSLtty:
First, while WSLtty was great for its time, most of the WSL world has moved on now that Windows Terminal has been around for a few years. Windows Terminal is:
- From Microsoft
- Open-source (Github repo)
- Able to automatically detect and configure profiles for WSL (as well as PowerShell, CMD, Git Bash, and more) on launch
- Actively developed
- Designed to be the replacement for the legacy Windows Console Host (the terminal that launches when you just run "Ubuntu" in WSL from the Start Menu by default in Windows 10).
- Configurable as the default terminal in Windows 11
- Feature-rich: tabbed, configurable keybindings, has built-in color schemes (including solarized light and dark), etc.
Catch that last part? Solarized themes are included by default in Windows Terminal. You can easily switch by either:
- Changing the default Appearance settings for all terminal profiles
- Changing the Appearance settings for a particular profile
- Starting from the command-line with a particular color-scheme
- Ctrl+Shift+P to bring up the Command Palette, searching for "Color Scheme" and selecting it via GUI.
- Creating a keybinding directly to switch the color scheme to that of your preference
The only thing that seems to be missing is a built-in way of doing it from the command-line. It's possible, certainly, by creating a utility to modify the settings.json
directly, since Windows Terminal automatically detects changes. It's just not built-in.
You may or may not need the dircolors
scheme. Try it out with just the top-level Solarized themes first. If you find you do want to utilize the dircolors
color scheme, you'll find the general (non-fish) instructions on that project's Github Readme. It seems to be simply:
eval `dircolors /path/to/dircolorsdb`
Note that use of backticks for command substitution is discouraged (courtesy this answer), so I'd instead recommend:
eval $(dircolors /path/to/dircolorsdb)
With adjustment, of course, for the name of the theme you are switching to.
Side note: I love the fish shell myself, but I do recommend that newcomers learn a more POSIX-compliant shell first. The fish shell syntax is not POSIX-compliant; in other words, it won't work in other shells, and the standard syntax of other shells (often) will need tweaks to work in fish.
That said, there's good reason for that incompatibility. Subjectively, the fish shell syntax is better than (or at least as good as) POSIX in 95%+ of cases -- Sometimes much better than. However, sometimes a missing fish feature will make things more difficult.
The great thing about (eventually) learning and knowing both is that you can always run bash
scripts inside of fish when you do need to drop back to the "standard" syntax.
In other words, you are probably doing the right thing by "skipping" fish for now, but do come back and check it out when you feel more comfortable in Linux.
Side-note/recommendation #2: Check out exa
, a modern replacement for ls
. It's much more "colorized" by default.