微软最近两年情怀不断,除了推出神器vscode以外,还有win 10下的基于Ubuntu等linux发行版的sub system功能。毕竟这是sub system,运行速度肯定没有纯Linux系统快,适合偶尔使用Linux命令的win用户!
一、安装win10
该安装过程可以通过多种途径:U盘安装,升级安装均可!
二、启用 WSL (Window Sub system Linux)
- 命令行启用:
用管理员方式打开power shell并键入命令
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- 图形界面启用:
在左下角的搜索框中输入功能即可看到第一个出来的启用和关闭windows功能,进入并勾选使用于Linux的windows子系统。如下图所示:
需要重启电脑
三、下载和安装Linux发行版
- 1、官方网站下载
- 2、命令行下载发行版 :
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing
- 3、Microsoft Store下载(推荐)
现在有五个版本可供我们选择:Ubuntu、openSUSE、SUSE Linux、Debian、Kali Linux
Tips : 推荐Ubuntu ,Debian。
四、启动与初始化设置:
1、 首次启动,初始化安装,等待几分钟:
2、 安装完成后,按提示设置用户名和密码,完成初始化。输入密码时不会显示出来,直接输入,然后回车确认就好。
- 3、设置 root 密码:
sudo passwd root完成!已经可以在 Windows 中使用 Ubuntu 子系统了。
五、更改源与更新软件
由于自带的源速度比较满,所以建议更换国内的镜像源
- 备份并编辑源文件:
# 备份 sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
# 编辑
sudo vim /etc/apt/sources.list
将文件中内容替换为阿里云的源:
- 更新源与已安装的软件:
# 更新源
sudo apt-get update
# 更新已安装的包
sudo apt-get upgrade
等待一段时间!
六、切换用户:
打开 Ubuntu 默认以初始化时创建的普通用户账户登陆,但一些命令需要 root 权限才可以运行。
我们可以使用直接在命令前加 sudo 的方式,也可以切换账户:
- 切换到 root 账户:sudo -i,输入密码
- 切换回普通账户:Ctrl + D 或 exit 或 su 用户名
七、自定义 Bash 终端提示符
修改命令提示符即修改变量 PS1 的值,打开配置文件 .bashrc
vim ~/.bashrc
在配置文件末尾加入以下内容:
PS1="\[\033[38;5;134m\]>\[\033[38;5;15m\] \[\033[38;5;45m\]\u\[\033[38;5;15m\] \[\033[38;5;7m\]@\[\033[38;5;15m\] \[\033[38;5;40m\]\h\[\033[38;5;15m\] \[\033[38;5;7m\]:\[\033[38;5;15m\] {\[\033[38;5;11m\]\w\[\033[38;5;15m\]} \[\033[38;5;7m\]-\[\033[38;5;15m\] \[\033[38;5;7m\]\t\[\033[38;5;15m\] \n\[\033[38;5;9m\]\\$ \[\033[0m\]"
保存退出,刷新配置:
source ~/.bashrc
八、更换主题配色
- solarized-dark.reg : 黑色主题
- solarized-light.reg : 亮色主题
- windows-defaults.reg: 默认主题
- 安装:点击导入注册表即可,重启就可以了。
九、Xshell 连接子系统
- 配置 ssh server
自带的 ssh server 使用 Xshell 可能一直连不上,卸载掉自带的 ssh server,重新安装后即可。
- 卸载自带的 ssh server
sudo apt-get remove openssh-server
- 安装 ssh server
sudo apt-get install openssh-server
- 修改 ssh server 配置
sudo vim /etc/ssh/sshd_config
- 修改如下几项:
#Port 2222 # 默认 22 已占用,换为 2222
UsePrivilegeSeparation no # yes -> no
# 允许 root 账户登陆,需要使用 Xshell 登陆 root 账户的话修改为 yes
PermitRootLogin yes
PasswordAuthentication yes # no -> yes
- 启动 ssh server
sudo service ssh --full-restart
- 连接
保持 Ubuntu 开启状态!打开 Xshell 或其它 ssh 工具,填入账户信息连接:
- ip:127.0.0.1 (本地回环地址)
- 端口:2222
- 用户名 & 密码
十、使用技巧:
设置默认登陆用户:
子系统默认登录账户为我们初始化时设置的普通账户,我们可以把默认账户更改为 root。
打开 windows 的 PowerShell,修改默认账户为 root:
ubuntu config --default-user root
需要修改为其它账户的话,把命令中的 root 改为其它用户名即可。
WSL 访问本地window文件:
本地文件系统的各磁盘挂载在
/mnt
目录下,如 C 盘在子系统中的位置是:/mnt/c
本地window访问 WSL 文件:
Ubuntu 子系统的根目录位置:
C:\Users\username\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
需要将子系统中的文件拷贝到本地时可以直接访问;不建议在外部手动更改子系统里的文件。
恢复修复崩溃的子系统:
如果不小心把子系统搞崩溃了怎么办?这里有两种方法。
1、直接右键卸载,再从 Microsoft Store 重新安装。
2、推荐打开 PowerShell,运行
ubuntu clean
,该命令会清除 Ubuntu 的所有文件和配置,但是不会卸载应用,相当于重置,省得重新安装应用了。输入
ubuntu help
可以查看更多指令。
粘贴:
在 Ubuntu 窗口中不能用 Ctrl + V,复制内容后,直接在窗口中点击右键即可进行粘贴。
十一、安装图形界面:
安装 xorg
sudo apt-get install xorg
安装xfce4
sudo apt-get install xfce4
安装xrdp
sudo apt-get install xrdp
配置xrdp(配置端口)
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
向xsession中写入xfce4-session
sudo echo xfce4-session >~/.xsession
重启xrdp服务
sudo service xrdp restart
如果有防火墙,允许即可。
在Cortana中搜索远程桌面连接,点击进入,输入本机IP(本地回环地址127.0.0.1,可用来测试):端口(3390或者3389),以及子系统用户名
登陆成功,显示Ubuntu的图形界面。
注:每次远程连接之前都要在终端中启动xrdp,并且窗口不能关闭。
sudo service xrdp start
更新软件包:
sudo apt upgrade -y
安装中文语言包:
sudo apt install -y language-pack-zh-hans language-pack-zh-hans-base
设置本地化环境变量:
echo "LANG=zh_CN.UTF-8" >> ~/.profile
重新打开 Ubuntu,完成!