Win10 子系統(tǒng)使用筆記

最近體驗(yàn)了下Win10子系統(tǒng) Ubuntu 18.04 LST ,先說(shuō)說(shuō)優(yōu)缺點(diǎn),

優(yōu)點(diǎn):安裝簡(jiǎn)便,啟動(dòng)快速。
缺點(diǎn):沒(méi)發(fā)直接使用桌面環(huán)境,沒(méi)法直接安裝docker服務(wù)。

關(guān)于缺點(diǎn):
1. 可以使用VNC工具獲得桌面環(huán)境能力,但是桌面中的應(yīng)用聯(lián)網(wǎng)會(huì)問(wèn)題,暫時(shí)不知如何解決。
2. docker服務(wù)可以使用win10桌面版的,這就意味著需要開(kāi)啟 hyper-v 服務(wù),安卓模擬器將無(wú)法使用。

不做Linux桌面下的聯(lián)網(wǎng)程序開(kāi)發(fā),或者既要用Docker,又要用安卓模擬器,使用Win10子系統(tǒng) WSL,能提供不錯(cuò)的Linux開(kāi)發(fā)環(huán)境。另外,需要注意的WSL的系統(tǒng)和原生版本還是有不少區(qū)別的,想使用完整系統(tǒng)功能,請(qǐng)用vbox或vmware虛擬機(jī)。

安裝

  1. 開(kāi)啟Linux子系統(tǒng),以管理員權(quán)限打開(kāi) PowerShell
   # 啟用虛擬機(jī)平臺(tái)
   Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
   # 開(kāi)啟Linux子系統(tǒng)
   Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  1. 開(kāi)啟開(kāi)發(fā)者模式,WIN + S 搜索 開(kāi)發(fā)者設(shè)置,打開(kāi)后選擇 開(kāi)發(fā)者模式
  2. WIN + S 搜索 store, 打開(kāi) Microsoft Store(微軟應(yīng)用商店),搜索 Ubuntu ,選擇 Ubuntu 18.04 LST 進(jìn)行安裝
  3. 待安裝完成后,從應(yīng)用中打開(kāi) Ubuntu 18.04 LST
Installing, this may take a few minutes...
  Please create a default UNIX user account. The username does not need to match your Windows username.
  For more information visit: https://aka.ms/wslusers
  # 輸入管理員用戶名,這里我取名為g
  Enter new UNIX username: g
  # 輸入管理員密碼
  Enter new UNIX password:
  # 再次輸入管理員密碼
  Retype new UNIX password:
  passwd: password updated successfully
  Installation successful!
  # 至此所有安裝全部完成

整個(gè)安裝過(guò)程還算簡(jiǎn)單,比vbox和vmware方便不少,并且由于WSL是服務(wù),所以連接到shell管理也特別快,在我的筆記本上,打開(kāi)耗時(shí)大概3~5秒

安裝桌面環(huán)境

桌面環(huán)境不是必需品,除非你要用來(lái)做Linux桌面開(kāi)發(fā),否則不推薦安裝,畢竟沒(méi)有設(shè)置網(wǎng)絡(luò)的方法,桌面環(huán)境下的聯(lián)網(wǎng)程序無(wú)法使用。

  1. 更換apt源,使用阿里云提供源
   sudo cp sources.list sources.list.bak && sudo vim sources.list
   # 輸入 100dd 清空文件,按 i 插入,粘貼如下內(nèi)容
   
   deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
   deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
   deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
   deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
   deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
   deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
   deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
   deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
   deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
   deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
   
   # 輸入:wq或:x,保存并退出
   
   # 更新并升級(jí)系統(tǒng)
   sudo apt update
   sudo apt upgrade
  1. 安裝桌面環(huán)境,以安裝gnome為例
    # 安裝桌面環(huán)境
    sudo apt install ubuntu-desktop
    # 安裝 gnome
    sudo apt install gnome
    # 安裝VNC服務(wù)和gnome組件
    sudo apt install vnc4server gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
    
    # 文泉驛-微米黑
    # sudo apt-get install ttf-wqy-microhei  
    # 文泉驛-正黑
    # sudo apt-get install ttf-wqy-zenhei  
    # 文泉驛-點(diǎn)陣宋體
    # sudo apt-get install xfonts-wqy 
  1. 配置vnc服務(wù)啟動(dòng)腳本
vim ~/.vnc/xstartup

#!/bin/sh

export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

gnome-panel &
gnome-settings-daemon &
gnome-session-fallback &

metacity &
nautilus &
gnome-terminal &

保存并退出,chmod u+x ~/.vnc/xstartup

  1. 啟動(dòng)vnc服務(wù)
# 啟動(dòng)vnc服務(wù)
vncserver :1
# 停止vnc服務(wù)
# vncserver -kill :1
  1. 使用vnc viewer 客戶端連接,成功后就可以使用Ubuntu桌面環(huán)境。當(dāng)然,不是vnc服務(wù),你也可以直接打開(kāi)某個(gè)桌面應(yīng)用,首先進(jìn)行如下配置
# 添加到 ~/.bashrc 末尾
echo "export DISPLAY=:0" >> ~/.bashrc
# 讓新配置生效
. ~/.bashrc

然后打開(kāi)MobaXterm,確認(rèn)右上角的 X server 按鈕已經(jīng)開(kāi)啟,彩色表示開(kāi),灰色表示關(guān),輸入命令gnome-terminalfirefox試試。

MobaXterm

常規(guī)操作

使用管理員模式,打開(kāi)PowerShell

  1. 啟動(dòng)停止 wsl 服務(wù)
# 停止子系統(tǒng)服務(wù)
net stop LxssManager
# 啟動(dòng)子系統(tǒng)服務(wù)
net start LxssManager
  1. 備份恢復(fù),導(dǎo)出、導(dǎo)入子系統(tǒng)
# d:\Ubuntu-18.04.tar 導(dǎo)出文件路徑
wsl --export Ubuntu-18.04 d:\Ubuntu-18.04.tar
# d:\wsl\u18.04 子系統(tǒng)導(dǎo)入后的安裝路徑
wsl --import Ubuntu-18.04 d:\wsl\u18.04 d:\Ubuntu-18.04.tar

安裝Docker服務(wù)

實(shí)際上是在Win10中安裝Docker桌面服務(wù),Linux子系統(tǒng)中安裝客戶端,連接Win10上的Docker服務(wù),進(jìn)行操作

  1. 在Ubuntu子系統(tǒng)中安裝Docker
# 更新apt包管理列表
sudo apt-get update -y

# 安裝依賴(lài)包
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

# 加入Docker官方PGP公鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 確認(rèn)指紋
sudo apt-key fingerprint 0EBFCD88

# 將stable(穩(wěn)定版)Docker加入apt源中
#
# If you want to live on the edge, you can change "stable" below to "test" or
# "nightly". I highly recommend sticking with stable!
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

# 更新apt包管理列表
sudo apt-get update -y

# 安裝Docker CE最新版本
sudo apt-get install -y docker-ce

# 允許當(dāng)前用戶訪問(wèn)Docker CLI,不必使用root
sudo usermod -aG docker $USER

# 此時(shí)執(zhí)行 docker version 會(huì)提示如下錯(cuò)誤:
# Cannot connect to the Docker daemon at unix:///var/run/docker.sock.

# 配置Windows Docker服務(wù)地址
echo "export DOCKER_HOST=localhost:2375" >> ~/.bashrc
# 使配置生效
. ~/.bashrc
  1. 安裝 Windows桌面Docker
  2. 勾選 Settings => General => Expose daemon on tcp://localhost:2375 without TLS
  3. 再次在Ubuntu中執(zhí)行 docker version

安裝OpenSSH-Server

默認(rèn)WSL Ubuntu是沒(méi)使用ssh服務(wù)的,當(dāng)然你也可以裝一個(gè),方便遠(yuǎn)程管理

# 安裝服務(wù)
sudo apt install openssh-server

# 生成rsa、ecdsa、ed25519密鑰
sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
sudo ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key

# 修改配置
sudo vim /etc/ssh/sshd_config
# 監(jiān)聽(tīng)端口
Port 22
# 禁止密碼登錄
PasswordAuthentication no
# 開(kāi)啟公鑰登錄
PubkeyAuthentication yes
# 指定登錄公鑰文件
AuthorizedKeysFile  .ssh/authorized_keys .ssh/authorized_keys2
# 退出并保存

# 創(chuàng)建登錄公鑰文件
touch ~/.ssh/authorized_keys
chmod 0700 ~/.ssh/authorized_keys
# 放入你的公鑰

# 啟動(dòng)服務(wù)
sudo service ssh start
# 隨系統(tǒng)啟動(dòng)
sudo systemctl enable ssh
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容