Windows Terminal
一、安装
在Windows商店中搜索并安装Windows Terminal
二、设置(官方文档)
1.全局设置globals
"defaultProfile": "{bf8b845c-8158-5f6b-9312-dc19678daafe}" //设置默认启动Shell
"theme": "dark" //设置深色主题
// 设置窗口大小位置
"initialCols": 150,
"initialRows": 40,
"centerOnLaunch": true,
2.唯一配置文件profiles
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}" //唯一标识符可以使用uuidgen生成
"hidden": ture //隐藏不需要的Shell
"colorScheme": "Solarized Dark" //配色方案
"startingDirectory" : "//wsl$/Centos/root" //加载 shell 时所处的起始目录
"icon": "D:\\Centos\\a4km7-bzqtw.png" //设置选项卡和下拉菜单中显示的图标(用于区分Linux发行版)
3.配色方案schemes
{
"name": "Solarized Dark",
"black": "#002831",
"red": "#d11c24",
"green": "#33ff00",
"yellow": "#a57706",
"blue": "#2176c7",
"purple": "#c61c6f",
"cyan": "#259286",
"white": "#eae3cb",
"brightBlack": "#749B36",
"brightRed": "#bd3613",
"brightGreen": "#F2A20A",
"brightYellow": "#ebcb8b",
"brightBlue": "#50beff",
"brightPurple": "#5956ba",
"brightCyan": "#00e5e5",
"brightWhite": "#fcf4dc",
"background": "#001e27",
"foreground": "#708284"
}
4.快捷键、操作keybindings
参考官方文档
5.我的配置
// This file was initially generated by Windows Terminal 1.0.1401.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.
// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{bf8b845c-8158-5f6b-9312-dc19678daafe}",
// You can add more global application settings here.
// To learn more about global settings, visit https://aka.ms/terminal-global-settings
// If enabled, selections are automatically copied to your clipboard.
"copyOnSelect": false,
// If enabled, formatted data is also copied to your clipboard
"copyFormatting": false,
"theme": "dark",
"initialCols": 150,
"initialRows": 40,
"centerOnLaunch": true,
// A profile specifies a command to execute paired with information about how it should look and feel.
// Each one of them will appear in the 'New Tab' dropdown,
// and can be invoked from the commandline with `wt.exe -p xxx`
// To learn more about profiles, visit https://aka.ms/terminal-profile-settings
"profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles.
},
"list":
[
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false
},
{
// Make changes here to the cmd.exe profile.
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "命令提示符",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": true,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
},
{
"guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
"hidden": false,
"name": "Ubuntu",
"source": "Windows.Terminal.Wsl",
"colorScheme": "Solarized Dark",
"startingDirectory" : "//wsl$/Ubuntu/home/jon",
"icon": "D:\\Centos\\a2dab-79m0s.png",
//"acrylicOpacity": 0.8, //背景透明度
//"useAcrylic": true, // 启用毛玻璃
},
{
"guid": "{bf8b845c-8158-5f6b-9312-dc19678daafe}",
"hidden": false,
"name": "Centos",
"source": "Windows.Terminal.Wsl",
"colorScheme": "Solarized Dark",
"startingDirectory" : "//wsl$/Centos/root",
"icon": "D:\\Centos\\a4km7-bzqtw.png",
"backgroundImage": "F:\\1920x1080.jpg",
"backgroundImageOpacity": 0.35,
"acrylicOpacity": 0.8,
"useAcrylic": true
}
]
},
// Add custom color schemes to this array.
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
"schemes": [
{
"name": "Solarized Dark",
"black": "#002831",
"red": "#d11c24",
"green": "#33ff00",
"yellow": "#a57706",
"blue": "#2176c7",
"purple": "#c61c6f",
"cyan": "#259286",
"white": "#eae3cb",
"brightBlack": "#749B36",
"brightRed": "#bd3613",
"brightGreen": "#F2A20A",
"brightYellow": "#ebcb8b",
"brightBlue": "#50beff",
"brightPurple": "#5956ba",
"brightCyan": "#00e5e5",
"brightWhite": "#fcf4dc",
"background": "#001e27",
"foreground": "#708284"
},
{
"name": "Homebrew",
"black": "#000000",
"red": "#FC5275",
"green": "#00a600",
"yellow": "#999900",
"blue": "#6666e9",
"purple": "#b200b2",
"cyan": "#00a6b2",
"white": "#bfbfbf",
"brightBlack": "#666666",
"brightRed": "#e50000",
"brightGreen": "#00d900",
"brightYellow": "#e5e500",
"brightBlue": "#0000ff",
"brightPurple": "#e500e5",
"brightCyan": "#00e5e5",
"brightWhite": "#e5e5e5",
"background": "#283033",
"foreground": "#00ff00"
}
],
// Add custom keybindings to this array.
// To unbind a key combination from your defaults.json, set the command to "unbound".
// To learn more about keybindings, visit https://aka.ms/terminal-keybindings
"keybindings":
[
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
// To learn more about selection, visit https://aka.ms/terminal-selection
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
{ "command": "paste", "keys": "ctrl+v" },
// Press Ctrl+Shift+F to open the search box
{ "command": "find", "keys": "ctrl+shift+f" },
// Press Alt+Shift+D to open a new pane.
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
// To learn more about panes, visit https://aka.ms/terminal-panes
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
]
}
适用于 Linux 的 Windows 子系统(WSL2)官方文档
一、安装
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
重新启动计算机
备注
- 对于 x64 系统:版本 1903 或更高版本,采用内部版本 18362 或更高版本。
- 对于 ARM64 系统:版本 2004 或更高版本,采用内部版本 19041 或更高版本。
- 低于 18362 的版本不支持 WSL 2。 使用 Windows Update更新 Windows 版本。
若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 (或者在 Windows 命令提示符下输入
ver
命令)
如果运行的是 Windows 10 版本1903 或 1909,请在 Windows 菜单中打开“设置”,导航到“更新和安全性”,然后选择“检查更新”。 内部版本号必须是 18362.1049+ 或 18363.1049+,次要内部版本号需要高于 .1049。
二、启用虚拟机功能
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动计算机,以完成 WSL 安装并更新到 WSL 2。
三、下载 Linux 内核更新包
- 适用于 x64 计算机的 WSL2 Linux 内核更新包
如果使用的是 ARM64 计算机,请下载 ARM64 包。 如果不确定自己计算机的类型,请打开命令提示符cmd,并输入:
systeminfo | find "系统类型"
。
四、 将 WSL 2 设置为默认版本
以管理员的身份打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
将wsl1转换成wsl2
wsl --set-version Centos 2
五、其他
设置Centos分发为默认值
wslconfig /s Centos
显示已安装的分发及其版本
wsl -l -v
删除安装的分发版本:注销后删除分发版本所在目录
wsl --unregister <分发版>
在命令行运行linux命令
#查wsl2 IP
wsl ip a |wsl grep -w "inet" |wsl cut -d " " -f 6 |wsl cut -d "/" -f 1 | wsl grep -v '127.0.0.1'
安装CentOS8
一、下载 Centos 8 的docker 镜像官方镜像
选择CentOS8分支并下载
二、安装 Chocolatey
Chocolatey 是 Windows 环境下的包管理器,其作用等同于 Mac OS 的 Brew,Ubuntu 的 apt,CentOS 的 yum。官方文档。
以管理员的身份打开 PowerShell:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
三、安装 LxRunOffline
一款非常实用的 WSL 管理软件:LxRunOffline,它可以安装任意发行版到任意目录、转移已安装的 WSL 目录、备份 WSL、设置默认用户和修改环境变量等操作
以管理员的身份打开 PowerShell:
choco install lxrunoffline
`l` , `list` - 列出所有已安装的发行版。
`gd` , `get-default` - 获取 bash.exe 使用的默认发行版。
`sd` , `set-default` - 设置 bash.exe 使用的默认发行版。
`i` , `install` - 安装新的发行版。
`sd` , `set-default` - 设置 bash.exe 使用的默认发行版。
`ui` , `uninstall` - 卸载发行版。
`rg` , `register` - 注册现有的安装目录。
`ur` , `unregister` - 取消注册发行版但不删除安装目录。
`m` , `move` - 将发行版移动到新目录。
`d` , `duplicate` - 在新目录中复制现有发行版。
`e` , `export` - 将发行版的文件系统导出到`.tar.gz` 文件,该文件可以通过 `install` 命令安装。
`r` , `run` - 在发行版中运行命令。
`di` , `get-dir` - 获取发行版的安装目录。
`gv` , `get-version` - 获取发行版的文件系统版本。
`ge` , `get-env` - 获取发行版的默认环境变量。
`se` , `set-env` - 设置发行版的默认环境变量。
`ae` , `add-env` - 添加到发行版的默认环境变量。
`re` , `remove-env` - 从发行版的默认环境变量中删除。
`gu` , `get-uid` - 获取发行版的默认用户的 UID。
`su` , `set-uid` - 设置发行版的默认用户的 UID。
`gk` , `get-kernelcmd` - 获取发行版的默认内核命令行。
`sk` , `set-kernelcmd` - 设置发行版的默认内核命令行。
`gf` , `get-flags` - 获取发行版的一些标志。
`sf` , `set-flags` - 设置发行版的一些标志。
`s` , `shortcut` - 创建启动发行版的快捷方式。
`ec` , `export-config` - 将发行版配置导出到 XML 文件。
`ic` , `import-config` - 从 XML 文件导入发行版的配置。
`sm` , `summary` - 获取发行版的一般信息。
四、LxRunOffline安装CentOS8
LxRunOffline install -n -d <安装路径> -f <安装包路径>.tar.gz
LxRunOffline install -n Centos -d D:/Centos -f .\centos-8-x86_64.tar.xz
五、运行CentOS
Windows Terminal可以通过设置defaultProfile自启动
LxRunOffline run -n Centos
或
wsl -d Centos
六、其他
查看与迁移目录
LxRunOffline di -n Centos
LxRunOffline m -n -d <路径>
备份 WSL
LxRunOffline e -n -f <压缩包路径>.tar.gz
LxRunOffline 备份完会生成一个.xml后缀的同名配置文件。
恢复 WSL
LxRunOffline i -n -d <安装路径> -f <压缩包路径>.tar.gz
LxRunOffline 会读取备份时生成的配置文件并写入配置,前提是同目录且同名。否则你需要加入-c参数指定配置文件。
修改 WSL 名称
查看 WSL 名称。
wsl -l
查看 WSL 安装目录。
LxRunOffline di -n
导出指定的 WSL 配置文件到目标路径。
LxRunOffline ec -n -f <配置文件路径>.xml
配置信息可以输入LxRunOffline sm -n 查看
取消注册(这个操作不会删除目录)
LxRunOffline ur -n
使用新名称注册
LxRunOffline rg -n -d -c <配置文件路径>.xml
CentOS8设置
安装完成后登录用户默认为root,如想使用其他用户请使用LxRunOffline更改默认用户
一、中文支持
dnf install langpacks-zh_CN
echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf
echo 'LANG="zh_CN.UTF-8"' >> /etc/profile
二、Oh My Zsh
dnf install git zsh util-linux-user vim wget epel-release
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone git://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
vi ~/.oh-my-zsh/themes/my.zsh-theme 设置自用主题
local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
PROMPT='${ret_status}$USER@%m %{$fg[cyan]%}%d %{$reset_color%}$(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
.zshrc设置
#修改主题与插件
ZSH_THEME="my"
plugins=(git zsh-syntax-highlighting zsh-autosuggestions wd zsh_reload extract)
#添加vi别名支持颜色高亮
alias vi=vim
三、其他
开启SSH登录
#安装openssh-server
dnf install openssh-server
#自动添加wsl2IP到hosts
https://github.com/shayne/go-wsl2-host/releases
#查看windows防火墙转发规则
netsh interface portproxy show all
#添加转发使用别名替代WSL2 IP
netsh interface portproxy add v4tov4 listenport=【宿主机windows平台监听端口】 listenaddress=0.0.0.0 connectport=【wsl2平台监听端口】 connectaddress=【wsl2平台ip】
netsh interface portproxy add v4tov4 listenport=22 connectaddress=ubuntu.wsl connectport=22 listenaddress=* protocol=tcp
#删除转发
netsh interface portproxy delete v4tov4 listenport=【宿主机windows平台监听端口】 listenaddress=0.0.0.0
#查看wsl2 IP
wsl ip a |wsl grep -w "inet" |wsl cut -d " " -f 6 |wsl cut -d "/" -f 1 | wsl grep -v '127.0.0.1'
在Windows中访问wsl文件
打开文件资源管理器,然后在窗口输入 \\wsl$
更新Win11后无法启动
wsl --update