DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

Windows subsystem Linux Notes


Install WSL

安装 Windows Subsystem for Linux (简称WSL)中的 Ubuntu, 只需要在【控制面板 > 程序 > 程序和功能 > 启动或关闭 Windows 功能】中勾选 【适用于 Linux 的 Windows 子系统】后重启, 然后在 Windows Store 中搜索 Ubuntu 并安装,下载大小195.7MB的安装包, 整个安装过程非常流畅。启动后可以运行 apt 命令更新和安装应用,界面也比较靠谱。

Install Softwares

在笔记本的WSL里不能用appimage,所以neovim PPA安装了neovim, 用 sudo update-alternatives --config vim 用nvim代替了vim, 在WSL上安装zsh和neovim等各种工具都没问题。

终端模拟器

Windows Terminal

MS 2019 年在 Github 上开源的 Windows Terminal 表现不俗, 是目前比较好的终端模拟器。

通过 Windows Store 安装后,可以选择多种环境,默认是 PowerShell, 启动应用后用快捷键 Ctrl-,(逗号)打开配置文件, 在里面可以设置启动哪个命令行应用(在下面的列表里选择,有 cmd, PowerShell, WSL 等), 启动时最大化等:

{
  "defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
  "copyOnSelect": true,
  "launchMode": "maximized",
  "profiles":
  {
    ...
    "list":
      [
      ...
      {
        "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
        "hidden": false,
        "name": "Ubuntu-18.04",
        "source": "Windows.Terminal.Wsl",
        "startingDirectory" : "//wsl$/Ubuntu-18.04/home/leo"
      },
    ]
  },
...
}

Note:

  • defaultProfile 后面的 UUID 来自于配置文件下面 profiles.list 列表里 Ubuntu 18.04 对应 profile 的 UUID;
  • startingDirectory 的路径格式为 //wsl$/<distro-name>/home/<username>, 参考 Troubleshooting in Windows Terminal 中 "Set your WSL distribution to start in the home ~ directory when launched" 一节。
  • See all profile settings at Profile settings in Windows Terminal

Customize font size

Ctrl plus +/- to increase/decrease font size.

Start Windows Terminal with keyboard shortcut

To start Windows Terminal with shortcut Alt-t, add the following line into AutoHotkey script:

!t:: Run wt --maximized

cmder

优点是方便的指定字体、字号,方便地更换系统文字配色, 例如在 [Settings > Features > Colors > Schemas] 中选 Cobalt2, 能比较好的解决下面Windows自带模拟器显示目录和REPL文字看不清问题。

在 [Settings > Startup > Tasks] 中新增一个task,名字为 WSL, 命令输入框里输入:wsl.exe. Hotkey: Ctrl-Alt-w.

P.S.: 使用 wslconfig /l 列出所有 WSL 系统,使用 wslconfig /s 设置默认distro。

集成 Git Bash

在 [Settings > Startup > Tasks] 中新增一个task,名字为 Git Bash, 命令输入框里写:"C:\Program Files\Git\bin\bash.exe" --cd-to-home 参数框中输入:/icon "C:\Program Files\Git\mingw64\share\git\git-for-windows.ico". Hotkey: Ctrl-Alt-g.

P.S.: 使用Ctrl-1, Ctrl-2, ... 在 cmder 的各个窗口间切换。 将第一个窗口固定为WSL,第2个窗口固定为ssh服务器,第3个窗口固定为dsnote笔记。 WSL和服务器上都可以使用各自的tmux系统,用alt-a, alt-s, alt-d在 tmux 内切换。

使用 Windows 自带的终端模拟程序

使用Windows自带的终端模拟程序问题很多,例如:

  • WSL字体如果设置成Consolas,总是自动变回 新宋体。

解决方法:下载 Microsoft YaHei Mono 并安装(下载后解压双击ttf文件就可以安装了), 然后在WSL里设置成 Microsoft YaHei Mono 就可以了, 参考 请问如何更换bash on ubuntu on windows10的字体?。

  • 目录和 ClojureScript REPL 输出的暗蓝色文字看不清楚。

解决方法:目录字体的颜色可以通过修改LS_COLOR解决,例如在~/.zshrc中加入: `export LS_COLORS=$LS_COLORS:'di=1;32:ow=01;36;'. 命令行输出文字的输出就比较麻烦了,所以建议不要用这个模拟器。

另:在 autohotkey 中添加 !^w:: Run, "wsl.exe",实现使用 Ctrl-Alt-w 启动, 启动后目录不在根目录,解决方法是在 ~/.zshrc 里加一行 cd $HOME。



Published

May 6, 2018

Last Updated

Nov 19, 2020

Category

Tech

Tags

  • linux 158
  • wsl 1

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor