WSL2初體驗之使用 docker版 Ubuntu 18.04,VNC遠端控制
一、前言
以前用 Oracle VM VirtualBox,玩 CentOS 7,時不時就卡一些,而且還不流暢(我喜歡平滑順暢完美);無意中發現了 windows WSL2釋出了,感覺很溜啊!內嵌子系統,高大上啊!如果你感興趣,接著看文章吧。借鑑了很多大佬的經驗帖子。
二、基礎知識準備
- docker 映象、容器等概念要理解,常用命令要熟悉。
- ubuntu 與 centOS 常用命令要區分,要會用;ubuntu 18 安裝軟體用:apt-get
- 要保持會折騰的心,要會靜心、有耐心。
三、坑,很多很多坑,_(´ཀ`」∠)_吐了
- 1.Docker Desktop 安裝後,不要對 WIN10優化啟動項,讓它自啟動(重複3遍~~~)。讓我o(╥﹏╥)o會兒,我又重灌了它。
-
- 2.看看如下:Windows 終端 powerShell,炫不? 可以美化的。
- 提前做好 "容器"的埠對映,因為要用 VNC連線;docker run -it -d --name u18-mine -h u18-mine -p 127.0.0.1:5901:5901 -v //g/u18home/soft:/u18home/soft ubuntu:18.04
- 不然,你"容器"中的系統搞了一遍,發現埠不對,你只能去各種倒騰修改 docker配置了。o(╥﹏╥)o
-
-
3.進入 docker ubuntu後,不要著急下載軟體。先去 更換國內源。防止,下錯軟體版本。以免造成依賴死迴圈。
-
4.如果你像我一樣,基於下邊那個映象 pull,恭喜,各種命令都沒有,ORZ~~~,連 sudo/nano/vi/vim/gcc等也沒有。
-
-
5.進入 ubuntu後,不要直接裝 KDE桌面,沒有那麼容易(我還沒成功);先裝個xfce4,相容性好些,VNC 也可以遠端連上。
-
6.不要輕易執行:docker rm <CONTAINER ID>,你會後悔的,剛才搞了一遍,一條命令回到解放前,ε=(´ο`*)))唉。
-
7.想起來,再補充。
四、WSL2
適用於 Linux 的 Windows 子系統安裝指南 (Windows 10)
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#update-to-wsl-2
安裝和設定 Windows 終端
https://docs.microsoft.com/zh-cn/windows/terminal/get-started
Windows Terminal 美化例項
https://zhuanlan.zhihu.com/p/76436374
Windows Terminal 美化主題配色
https://windowsterminalthemes.dev/
1.
2.
3.
4.
5.示例
"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",
"colorScheme": "DimmedMonokai",
"hidden": false,
"useAcrylic": true,
"acrylicOpacity": 0.75
},
{
// Make changes here to the cmd.exe profile.
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "Command Prompt",
"commandline": "cmd.exe",
"colorScheme": "DimmedMonokai",
"hidden": false,
"useAcrylic": true,
"acrylicOpacity": 0.75
},
{
"guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
"hidden": false,
"name": "Ubuntu-18.04",
"source": "Windows.Terminal.Wsl"
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
}
]
},
"schemes": [
{
"name": "BirdsOfParadise",
"black": "#573d26",
"red": "#be2d26",
"green": "#6ba18a",
"yellow": "#e99d2a",
"blue": "#5a86ad",
"purple": "#ac80a6",
"cyan": "#74a6ad",
"white": "#e0dbb7",
"brightBlack": "#9b6c4a",
"brightRed": "#e84627",
"brightGreen": "#95d8ba",
"brightYellow": "#d0d150",
"brightBlue": "#b8d3ed",
"brightPurple": "#d19ecb",
"brightCyan": "#93cfd7",
"brightWhite": "#fff9d5",
"background": "#2a1f1d",
"foreground": "#e0dbb7"
},
{
"name": "BlulocoDark",
"black": "#4a505d",
"red": "#f81141",
"green": "#23974a",
"yellow": "#fd7e57",
"blue": "#285bff",
"purple": "#8c62fd",
"cyan": "#366f9a",
"white": "#ccd5e5",
"brightBlack": "#61697a",
"brightRed": "#fc4a6d",
"brightGreen": "#37bd58",
"brightYellow": "#f6be48",
"brightBlue": "#199ffd",
"brightPurple": "#fc58f6",
"brightCyan": "#50acae",
"brightWhite": "#ffffff",
"background": "#1e2127",
"foreground": "#abb2bf"
},
{
"name": "DimmedMonokai",
"black": "#3a3d43",
"red": "#be3f48",
"green": "#879a3b",
"yellow": "#c5a635",
"blue": "#4f76a1",
"purple": "#855c8d",
"cyan": "#578fa4",
"white": "#b9bcba",
"brightBlack": "#888987",
"brightRed": "#fb001f",
"brightGreen": "#0f722f",
"brightYellow": "#c47033",
"brightBlue": "#186de3",
"brightPurple": "#fb0067",
"brightCyan": "#2e706d",
"brightWhite": "#fdffb9",
"background": "#1f1f1f",
"foreground": "#b9bcba"
}
],
五、WSL2安裝Docker
按照以下2步驟,你就不用擔心拉取的映象,建立的容器佔用C盤了。
https://zhuanlan.zhihu.com/p/163763066
WSL2 Docker Distro遷移
https://blog.csdn.net/simongame/article/details/107032441
六、ubuntu18初體驗
1.每次,以 root使用者身份進入;更改“軟體源地址”。
cp /etc/apt/sources.list /etc/apt/sources.list.bak
想要編輯,使用 vim,安裝缺提示:E: Unable to locate package vim
https://blog.csdn.net/miss1181248983/article/details/88578287
將 deb http://archive.ubuntu.com/ubuntu/trusty main universe restricted multiverse
這個地址新增到/etc/apt/sources.list
檔案中,然後 apt-get update
更新完之後安裝就可以了。
echo deb http://archive.ubuntu.com/ubuntu/trusty main universe restricted multiverse >> /etc/apt/sources.list
https://blog.csdn.net/u012308586/article/details/102953882
阿里源:
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
#更新軟體列表,換源完成。就可以安裝匹配的想要的各種命令了。
apt-get update
#配置GCC
apt-get install build-essential
2.基於命令列更新軟體包的方法
https://blog.csdn.net/davidhzq/article/details/102671746
Ubuntu主要更新升級命令介紹
我們先來看看這幾個命令的功能和區別,這幾個命令看起來很相似,作用上有較大差別千萬不要弄錯了。
- apt-get update
從伺服器獲取全部可用的、最新的軟體包列表,並快取到本地電腦。執行效果如下。 -
hzq@ubuntu:~$ sudo apt-get update [sudo] hzq 的密碼: 命中:1 http://mirrors.yun-idc.com/ubuntu xenial InRelease 命中:2 http://mirrors.yun-idc.com/ubuntu xenial-updates InRelease 命中:3 http://mirrors.yun-idc.com/ubuntu xenial-backports InRelease 命中:4 http://mirrors.yun-idc.com/ubuntu xenial-security InRelease 正在讀取軟體包列表... 完成 hzq@ubuntu:~$
- apt-get upgrade
這個命令,會把本地已安裝的軟體,與剛下載的軟體列表裡對應軟體進行對比,如果發現已安裝的軟體版本太低,就會提示你更新。upgrade 不會刪除在列表中已經沒有的軟體包,也不會安裝有依賴需求但尚未安裝的軟體包。執行效果如下。 -
hzq@ubuntu:~$ sudo apt-get upgrade 正在讀取軟體包列表... 完成 正在分析軟體包的依賴關係樹 正在讀取狀態資訊... 完成 正在計算更新... 完成 升級了 0 個軟體包,新安裝了 0 個軟體包,要解除安裝 0 個軟體包,有 0 個軟體包未被升級。 hzq@ubuntu:~$
- apt-get full-upgrade
根據列表資訊,對需要升級的軟體包進行完整安裝。也就是先刪除軟體,然後完整地重新安裝整個軟體。所以要注意,這個功能是會刪除軟體的,所以執行此命令之前最好備份一下。執行效果如下。 -
hzq@ubuntu:~$ sudo apt-get full-upgrade 正在讀取軟體包列表... 完成 正在分析軟體包的依賴關係樹 正在讀取狀態資訊... 完成 正在計算更新... 完成 下列軟體包是自動安裝的並且現在不需要了: linux-headers-4.15.0-45 linux-headers-4.15.0-45-generic linux-image-4.15.0-45-generic linux-modules-4.15.0-45-generic linux-modules-extra-4.15.0-45-generic snapd-login-service 使用'sudo apt autoremove'來解除安裝它(它們)。 升級了 0 個軟體包,新安裝了 0 個軟體包,要解除安裝 0 個軟體包,有 0 個軟體包未被升級。 hzq@ubuntu:~$
- apt-get dist-upgrade
dist-upgrade 可能會為了解決軟體包衝突而刪除一些已安裝的軟體包,也可能會為了解決軟體包依賴問題安裝新的軟體包。執行效果如下。 -
hzq@ubuntu:~$ sudo apt-get dist-upgrade 正在讀取軟體包列表... 完成 正在分析軟體包的依賴關係樹 正在讀取狀態資訊... 完成 正在計算更新... 完成 下列軟體包是自動安裝的並且現在不需要了: linux-headers-4.15.0-45 linux-headers-4.15.0-45-generic linux-image-4.15.0-45-generic linux-modules-4.15.0-45-generic linux-modules-extra-4.15.0-45-generic snapd-login-service 使用'sudo apt autoremove'來解除安裝它(它們)。 升級了 0 個軟體包,新安裝了 0 個軟體包,要解除安裝 0 個軟體包,有 0 個軟體包未被升級。
- apt list --upgradable
根據列表對比資訊,看看有哪些可更新的軟體,如果沒有則顯示為空。執行效果如下。 -
hzq@ubuntu:~$ sudo apt list --upgradable 正在列表... 完成 hzq@ubuntu:~$
- apt-get autoremove
一般來說,更新完成之後會有一些不需要的舊元件需要清除。此時使用apt autoremove即可完成清理。執行效果如下。 -
hzq@ubuntu:~$ sudo apt-get autoremove 正在讀取軟體包列表... 完成 正在分析軟體包的依賴關係樹 正在讀取狀態資訊... 完成 下列軟體包將被【解除安裝】: linux-headers-4.15.0-45 linux-headers-4.15.0-45-generic linux-image-4.15.0-45-generic linux-modules-4.15.0-45-generic linux-modules-extra-4.15.0-45-generic snapd-login-service 升級了 0 個軟體包,新安裝了 0 個軟體包,要解除安裝 6 個軟體包,有 0 個軟體包未被升級。 解壓縮後將會空出 335 MB 的空間。 您希望繼續執行嗎? [Y/n] y (正在讀取資料庫 ... 系統當前共安裝有 251733 個檔案和目錄。) 正在解除安裝 linux-headers-4.15.0-45-generic (4.15.0-45.48~16.04.1) ... 正在解除安裝 linux-headers-4.15.0-45 (4.15.0-45.48~16.04.1) ... 正在解除安裝 linux-modules-extra-4.15.0-45-generic (4.15.0-45.48~16.04.1) ... 正在解除安裝 linux-image-4.15.0-45-generic (4.15.0-45.48~16.04.1) ... /etc/kernel/postrm.d/initramfs-tools: update-initramfs: Deleting /boot/initrd.img-4.15.0-45-generic /etc/kernel/postrm.d/zz-update-grub: Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-4.15.0-65-generic Found initrd image: /boot/initrd.img-4.15.0-65-generic Found linux image: /boot/vmlinuz-4.15.0-64-generic Found initrd image: /boot/initrd.img-4.15.0-64-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin done 正在解除安裝 linux-modules-4.15.0-45-generic (4.15.0-45.48~16.04.1) ... 正在解除安裝 snapd-login-service (1.33-0ubuntu0.16.04.1) ... 正在處理用於 dbus (1.10.6-1ubuntu3.4) 的觸發器 ... hzq@ubuntu:~$
- 通常情況升級更新步驟
下面給出一般情況的操作流程,你當然可以根據上面命令的含義自己組合使用。 -
sudo apt-get update sudo apt-get upgrade sudo apt list --upgradable //如果沒有了,就直接重啟 sudo apt-get dist-upgrade sudo reboot sudo apt list –upgradable //重啟之後再看一眼
3.出錯、異常處理
- ubuntu錯誤:No usable dialog-like program is installed
- 那麼可能只是因為系統原程式沒有正確安裝的原因,可以執行:
apt-get update && apt-get dist-upgrade
-
Ubuntu下提示E: dpkg was interrupted
mv /usr/bin/localedef /usr/bin/localedef.old
dpkg --configure -a
七、Xfce4 桌面安裝
為什麼首選它?因為,穩定、相容性好,又能實現 VNC遠端連線,KDE想用,還沒成功。
https://blog.csdn.net/fxb163/article/details/84193098
https://cloud.tencent.com/developer/article/1350304
https://www.linuxidc.com/linux/2018-08/153435.htm
在安裝Xfce前需要更新一下系統
sudo apt-get update
安裝Xfce
sudo apt install xfce4 xfce4-goodies
安裝期間好像會出現幾次彈窗,讓你選擇,仔細閱讀下英文就理解了。
安裝VNC Server
sudo apt-get install vnc4server
啟動VNC Server(第一次啟動VNC Server時會要求設定密碼)
vncserver
另外,還需要修改xstartup檔案內容(否則在通過VNC遠端連線時會出現灰屏現象)
vim ~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
按Esc,輸入:wq!儲存退出。
關閉之前開啟的VNC Server視窗
vncserver -kill :1 #注意kill之後有空格
再次啟動VNC Server
八、遠端連線 VNCSERVER
下載 VNC-Viewer:https://www.realvnc.com/en/connect/download/viewer/
相關文章
- VNC遠端控制軟體XP版,VNC遠端控制軟體XP版下載VNC
- vnc遠端控制軟體,vnc遠端控制軟體怎麼使用,vnc server如何安裝?VNCServer
- vnc遠端控制軟體綠色,vnc遠端控制軟體綠色版下載,使用者登入使用教程VNC
- vnc遠端控制軟體中文版,細數五款好用的vnc遠端控制軟體中文版VNC
- vnc遠端控制軟體怎麼用,vnc遠端控制軟體怎麼用,使用教程VNC
- VNC遠端控制,VNC遠端控制連線WindowsVNCWindows
- VNC遠端控制軟體:VNC Server for MacVNCServerMac
- VNC Server for Mac(VNC遠端控制軟體)VNCServerMac
- vnc遠端控制軟體,vnc遠端控制軟體有什麼用,操作教程VNC
- vnc遠端控制軟體x64,vnc遠端控制軟體x64安裝方法,及使用教程VNC
- VNC Server for Mac(VNC遠端控制軟體) v6.11.0啟用版VNCServerMac
- 免費的遠端控制軟體推薦:vnc viewer mac版VNCViewMac
- ESP8266遠端控制——MicroPython 韌體初體驗Python
- Docker筆記之Docker初體驗Docker筆記
- Linux下VNC遠端控制的使用方法LinuxVNC
- VNC遠端協助軟體,VNC遠端協助軟體下載!VNC
- vnc遠端畫面不能控制,為什麼vnc遠端畫面不能控制?原因詳解VNC
- VNC遠端控制Linux桌面(zt)VNCLinux
- VNC遠端控制Linux桌面(轉)VNCLinux
- vnc遠端畫面不能控制,vnc遠端畫面不能控制是為什麼?原因詳解VNC
- Ubuntu18.04 xrdp多使用者遠端桌面Ubuntu
- VNC Connect Enterprise Mac(遠端桌面控制軟體)VNCMac
- vnc遠端控制linux主機(轉)VNCLinux
- 遠端控制遠端桌面ubutuGeek之remmina remote desktop client ubuntuREMclientUbuntu
- Window VNC遠端控制LINUX:VNC詳細配置介紹VNCLinux
- Linux VNC遠端控制安裝日記LinuxVNC
- vnc遠端桌面,4款vnc遠端桌面介紹。VNC
- vnc遠端連線linux,vnc遠端連線linux的具體方法。VNCLinux
- vnc遠端連線linux,vnc遠端連線linux的具體操作VNCLinux
- CentOS使用配置VNC遠端連線CentOSVNC
- ubuntu 18.04 安裝dockerUbuntuDocker
- How to Install and Configure VNC on Ubuntu 18.04VNCUbuntu
- Ubuntu18.04下安裝Docker並配置SSL證書加密遠端連線UbuntuDocker加密
- Docker容器初體驗Docker
- Docker for Mac 初體驗DockerMac
- Docker 容器初體驗Docker
- VNC遠端連線,如何VNC遠端連線伺服器VNC伺服器
- vnc程式, 遠端桌面VNCC程式