偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

WSL:在 Windows 系統(tǒng)中開發(fā) Linux 程序的又一神器

系統(tǒng) Linux
WSL(Windows Subsystem for Linux):Windows 系統(tǒng)中的一個子系統(tǒng),在這個子系統(tǒng)上可以運行 Linux 操作系統(tǒng)。

[[412143]]

  • 什么是 WSL?
  • 什么是 WSL2?
  • 激活 WSL 服務(wù)
  • 安裝 Ubuntu-18.04 操作系統(tǒng)
  • 通過 ssh 遠(yuǎn)程登錄
  • 編譯 Hello,World!

作為一名嵌入式軟件開發(fā)工程師,在 Linux 系統(tǒng)下寫代碼、編譯、調(diào)試是避免不了的事情。

但是很少有同學(xué)會直接拿一臺 Linux 真機來作為工作平臺,除非是那種利用遠(yuǎn)程服務(wù)器來編譯的場景。

更普遍的使用場景是:在一臺 Windows/Mac 系統(tǒng)中,安裝虛擬機,然后在虛擬機中安裝 Linux 操作系統(tǒng)。

Windows 系統(tǒng)中常用的虛擬機有:Virtualbox、VMWare,Mac 系統(tǒng)中一般都是用 Parallels Desktop,速度確實比較快!

在很久以前,我參與的項目主要是物聯(lián)網(wǎng)網(wǎng)關(guān),只需要編譯 Linux 系統(tǒng)下的可執(zhí)行程序,因此在日常工作中,都是直接在 Ubuntu 虛擬機中敲代碼(編輯器:VSCode、SubLime)、編譯、調(diào)試。

后來需要開發(fā)跨平臺的應(yīng)用,開發(fā)模式就變成了:

  1. 敲代碼:indows 系統(tǒng)中中的 Visual Studio;
  2. 編譯 Windows 應(yīng)用程序: 直接用 Visual Studio 中的 VC 編譯器來編譯;
  3. 編譯 Linux 應(yīng)用程序:通過遠(yuǎn)程部署的方式,把代碼同步到 Ubuntu 虛擬機中,然后遠(yuǎn)程編譯、調(diào)試;

這樣的開發(fā)模式是屬于比較常見的,只不過每次 Ubuntu 虛擬機比較耗費資源,啟動比較慢而已!

編寫跨平臺的代碼,使用 CMake 工具來管理構(gòu)建過程,也是非常方便的。

之前寫過 2 篇相關(guān)的文章:

  • 《使用 cmake 來搭建跨平臺的應(yīng)用程序框架:C語言版本》
  • 《使用 cmake 來搭建跨平臺的應(yīng)用程序框架:C++版本》

這 2 篇總結(jié),算是一個簡單的工程模板吧。

平時如果我需要寫一些簡單的 Demo 發(fā)給別人,我就會直接復(fù)制一下,然后添加上演示代碼就可以了。

說了這么多,都是在描述跨平臺開發(fā)的工作場景,或者說是開發(fā)模式。

其實,在 Windows 系統(tǒng)中,還有一種安裝 Linux 系統(tǒng)的方式,這就是 WSL/WSL2!

下面,我就把自己的安裝、配置過程與大家分享一下!

什么是 WSL?

這部分沒有什么好掰扯的,直接從微軟官網(wǎng)摘錄如下:

WSL(Windows Subsystem for Linux):Windows 系統(tǒng)中的一個子系統(tǒng),在這個子系統(tǒng)上可以運行 Linux 操作系統(tǒng)。

可以讓開發(fā)人員直接在 Windows 上按原樣運行 GNU/Linux 環(huán)境(包括大多數(shù)命令行工具、實用工具和應(yīng)用程序),且不會產(chǎn)生傳統(tǒng)虛擬機或雙啟動設(shè)置開銷。

圖片

什么是 WSL2?

WSL2 是適用于 Linux 的 Windows 子系統(tǒng)體系結(jié)構(gòu)的一個新版本,它是對基礎(chǔ)體系結(jié)構(gòu)的一次重大改造。

它使用虛擬化技術(shù)和 Linux 內(nèi)核來實現(xiàn)其新功能,主要目標(biāo)是提高文件系統(tǒng)性能和添加完全的系統(tǒng)調(diào)用兼容性。

個人理解:

WSL:并不是一個真正的 Linux 操作系統(tǒng),僅僅是 Linux 應(yīng)用程序與 Windows 操作系統(tǒng)之間的一個適配層。

在這個適配層之上,可以運行 Linux 應(yīng)用程序,有點類似于以前的 cygwin 的方式。

WSL2:它就是一個虛擬機,類似于 Vitual Box,在這個虛擬機之上,運行一個完整的 Linux 操作系統(tǒng)。

相對于 Virtual Box、VMWare 來說,WSL2提供更全面的兼容性、與 Windows 系統(tǒng)的互操作性更好、運行速度更快、占用系統(tǒng)資源更少。

激活 WSL 服務(wù)

按 Win+X, 啟動 Windows PowerShell (管理員),注意:是帶有管理員的這個?。?/p>

或者直接在搜索窗口中輸入 Power, 然后選擇以管理員方式運行:

圖片

PowerShell 的窗口是:

圖片

可以把 PowerShell 理解成升級版的、功能更強勁的 cmd。

在 PowerShell 窗口中,輸入如下指令來激活 WSL 服務(wù):

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

此時,提示需要重啟系統(tǒng)(不用說,肯定選擇 Y):

圖片

電腦重啟之后,按下 Win + R,調(diào)出命令輸入窗口。輸入指令 appwiz.cpl。

點擊左側(cè)的 【啟動或關(guān)閉 Windows 功能】:

圖片

彈出下面這個窗口:

圖片

可以看到:【適用于 Linux 的 Windows 子系統(tǒng)】這一欄已經(jīng)被勾選了,說明 WSL 服務(wù)已經(jīng)啟動。

接下來要做的事情,就是安裝 Ubuntu 操作系統(tǒng)。

安裝 Ubuntu-18.04 操作系統(tǒng)

啟動 【W(wǎng)indows Store】:

圖片

在右上角的搜索欄中,輸入:Ubuntu

圖片

我們這里就選擇 Ubuntu-18.04 吧,這也是我工作中使用的版本。

圖片

下載速度挺快的:

圖片

安裝完成之后,點擊【啟動】按鈕:

圖片

第一次打開速度稍微慢一些,大約 1 分鐘左右吧,提示設(shè)置用戶名、密碼,然后就進入我們熟悉的窗口了:

圖片

這樣,Ubuntu-18.04 系統(tǒng)就安裝好了!

我一般在系統(tǒng)安裝之后,會把 root 用戶的密碼也設(shè)置一下,以后總會需要使用 root 身份來登錄系統(tǒng)的。

  1. $ sudo passwd 
圖片

系統(tǒng)安裝之后,第一件事情一般都是更換軟件源。

可以選擇阿里、清華或者中科大的源,這里就直接使用清華的軟件源:

  1. $ cd /etc/apt 
  2. $ sudo cp sources.list source.list.bak 
  3. $ sudo vim sources.list 

把下面軟件源復(fù)制、粘貼進去:

  1. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse 
  2. # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse 
  3. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse 
  4. # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse 
  5. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse 
  6. # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse 
  7. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse 
  8. # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multive 

保存之后,執(zhí)行更新指令:

  1. $ sudo apt-get update 
  2. $ sudo apt-get upgrade 

這個步驟,請同學(xué)們耐心等待,稍安勿躁。出現(xiàn)提示輸入,選擇 Y 就行了。

通過 ssh 遠(yuǎn)程登錄

如果您覺得這個黑乎乎的窗口有點丑,那么可以通過 Windows 系統(tǒng)中的 Xshell 工具來遠(yuǎn)程登錄(ssh)。

為了這個目的,我們需要在 Ubuntu-18.04 中重新安裝 sshd 服務(wù):

  1. $ sudo apt purge openssh-server 
  2. $ sudo apt install openssh-server 

安裝完畢之后,需要修改配置文件,以運行遠(yuǎn)程登錄:

  1. $ sudo vim  /etc/ssh/sshd_config 

修改1:把 13 行的 #Port 22 改為 Port 22。

修改2:把 32 行的 #PermitRootLogin prohibit-password 改為 PermitRootLogin yes。

修改3:把 56 行的 #PasswordAuthentication yes 改為 PasswordAuthentication yes。

修改之后,啟動 sshd 服務(wù):

  1. $ sudo service ssh restart 
圖片

此時,啟動 Windows 系統(tǒng)中的 Xshell 來遠(yuǎn)程登錄一下,主機名只需要填寫:localhost 即可:

圖片

建立鏈接的時候,需要保存秘鑰:

圖片

然后輸入用戶名和密碼:

圖片
圖片

如果出現(xiàn)下面這個提示,先不用理會它,直接選擇【否】,這是與 Linux 的圖形窗口相關(guān)的,后面會解釋。

圖片

此時,就可以在 Xshell 中愉快的操作 Ubuntu 的命令行窗口了。

圖片

是不是感覺少了點什么東西?那些 Desktop、Documents、Picture 等默認(rèn)文件夾怎么都不見了?

這個問題,后面在演示 WSL2 的時候就見分曉了!

編譯 Hello,World!

最后,我們來編譯一個應(yīng)用程序。首先安裝 gcc 編譯器:

  1. $ sudo apt-get install gcc 

再寫一個 hello.c 文件:

  1. #include <stdio.h> 
  2.  
  3. int main() 
  4.         printf("Hello,World! \n"); 
  5.         return 0; 

然后編譯、執(zhí)行:

  1. ccc@DESKTOP-5LT2QM5:~/tmp$ gcc hello.c -o hello 
  2. ccc@DESKTOP-5LT2QM5:~/tmp$ ./hello 
  3. Hello,World! 

完美!

本文轉(zhuǎn)載自微信公眾號「IOT物聯(lián)網(wǎng)小鎮(zhèn) 」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系IOT物聯(lián)網(wǎng)小鎮(zhèn) 公眾號。

 

責(zé)任編輯:姜華 來源: IOT物聯(lián)網(wǎng)小鎮(zhèn)
相關(guān)推薦

2020-09-14 10:50:24

WindowsWSL 2Linux

2019-06-14 11:15:27

WindowsLinuxWSL

2020-08-28 07:00:00

WSLLinuxWindows 10

2021-07-19 09:37:59

Windows 操作系統(tǒng)Linux

2018-03-28 09:08:39

微軟開源Windows

2021-08-01 08:12:55

Windows 微軟WSL

2019-10-23 10:15:04

MySQL數(shù)據(jù)庫

2022-02-06 20:55:39

jsEsbuild項目

2022-06-07 10:25:45

機器學(xué)習(xí)Shapash

2009-02-20 19:56:26

WindowsLinux雙系統(tǒng)

2021-10-12 07:52:31

Windows 11操作系統(tǒng)微軟

2020-12-24 09:02:04

WindowsLinuxWSL

2022-09-26 09:39:30

LinuxsystemdWSL

2023-05-14 23:38:43

Glarity用戶視頻

2020-09-23 23:03:18

Linux 開發(fā)操作系統(tǒng)

2020-12-16 14:29:40

終端開發(fā)shell

2022-01-16 07:41:46

Windows 11操作系統(tǒng)微軟

2021-11-14 11:45:57

Windows 11操作系統(tǒng)微軟

2012-05-08 13:54:40

ToastPrompt

2014-04-11 11:13:15

CollectlLinux系統(tǒng)監(jiān)控
點贊
收藏

51CTO技術(shù)棧公眾號