在win11 環境下 新安裝 WSL ubuntu + 換國內鏡像源 + ssh + 桌面環境 + Pyhton 環境 + vim 設置插件安裝

在win11 環境下 新安裝 WSL ubuntu + ssh + gnome 桌面環境 + Pyhton 環境 + vim 設置插件安裝

  • 簡單介紹
  • 詳細流程
    • 換國內鏡像源
    • 安裝 ssh
  • 桌面環境
  • python 環境
  • vim 設置插件安裝

簡單介紹

內容有點長,這里就先簡單描述內容了。主要是快速在 Win11 搭建一個 wsl 的 linux 環境,因為自己是做開發的,平時服務器上就是用于生產環境,不太方便上去再搭建一個測試的程序,所以在本地搭建一個小型的 wsl linux 環境用于測試,如果大家是出于其他目的,可以參考其他內容。有需要交流的,歡迎私信交流。

安裝 Ubuntu 我這里就不做流程日志, 安裝這個特別輕松,可以在 微軟應用商店( Microsoft Store)里面安裝,也可以通過命令的方式安裝。方法非常多,這個步驟就省下來了。

在這里插入圖片描述
截圖省下來,命令我還是貼一下:(主要是方便自己也是方便需要的人)

wsl --install -d Ubuntu

詳細流程

我們安裝好 WSL 的 Ubuntu 發行版的 Linux 后,我們需要輸入用戶名,以及密碼
如下圖:

在這里插入圖片描述

換國內鏡像源

sudo vim /etc/apt/sources.list

在這里插入圖片描述
貼入下面的鏡像源:(清華源)網上也有很多源,華為、中科大, 等等…

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

在這里插入圖片描述

然后保存;

如果不會使用 vim 也可以使用其他的編輯器,如果是使用vim ,不曉得怎么保存的話,可以輸入 :wq!

退出之后,我們就要更新一下 :

sudo apt update

在這里插入圖片描述

看到都更新了就代表換源成功了(通過鏈接查看,是不是從我們還源的地址獲取的更新就知道了)

安裝 ssh

由于之前已經更新過了:如果中途中斷的話,還要再執行一遍 sudo apt-get update

如果沒有中斷的話,就直接執行下面的語句就行了。

sudo apt install openssh-server -y

安裝完成之后重啟一下:(正常情況下也不需要重啟,但是有些個別情況,如果后面的流程走不通了。就回來重啟一下再繼續流程)

sudo service ssh restart

我們直接通過 ssh 來遠程一下:工具有很多,我這里推薦使用 :vscode ,finalShell

如果是編碼的話,就建議 vscode ,如果是運維就建議: finalShell (個人觀點)

官網:

https://www.hostbuf.com/

根據下面截圖的來:

在這里插入圖片描述
在這里插入圖片描述
下載之后就是安裝,安裝完成后就直接打開它,繼續下面流程

在這里插入圖片描述
點擊左上角的文件夾圖標

在這里插入圖片描述
再點擊 SSH 連接(Linux)

在這里插入圖片描述
輸入 Ip 地址、賬號、密碼

我們可以回到控制臺輸入 ip addr 再通過下面截圖的地方,找到一個地址,我們連接這個地址就可以了

在這里插入圖片描述

連上之后的情況就可以參考下圖了。
在這里插入圖片描述
這里再多介紹一個 使用 root 登錄的流程

1、先進行 root 密碼新增(新用戶肯定沒有,如果有的話,就不用這步驟)

sudo passwd root

修改ssh登錄的配置, /etc/ssh/sshd_config 文件,修改為允許root登錄

sudo vim /etc/ssh/sshd_config

在這里插入圖片描述

看下圖 ,將: #PermitRootLogin prohibit-password

這一行,改為 PermitRootLogin yes

在這里插入圖片描述
在這里插入圖片描述
修改成功后,我們重啟ssh服務使剛才的ssh配置的修改生效

sudo service ssh restart

再通過下面命令可以測試登錄

ssh root@localhost

在這里插入圖片描述

桌面環境

安裝 ubuntu-desktop

 sudo apt install ubuntu-desktop -y 

ubuntu-desktop 包含了 Ubuntu 桌面環境所需的所有組件,安裝后系統會具備完整的桌面環境 (所以安裝會很久:當然也看網速)

在這里插入圖片描述

sudo apt install -y xrdp

xrdp 是一個開源的遠程桌面協議(RDP)服務器, 有了這個,就能夠通過 Windows 系統自帶的遠程桌面連接工具或者其他支持 RDP 協議的客戶端來遠程連接到 Ubuntu 系統。

在這里插入圖片描述

sudo adduser xrdp ssl-cert

ssl-cert 用戶組,用于管理 SSL 證書,把 xrdp 用戶添加到這個組里,能讓 xrdp 服務使用 SSL 證書來加密遠程連接,增強連接的安全性。

sudo systemctl restart xrdp

需要重啟服務使更改生效

在這里插入圖片描述

主要是輸入主機名,如下圖:(其他看個人習慣,我是習慣都輸入一樣的)
在這里插入圖片描述
在這里插入圖片描述

輸入用戶名+密碼,就可以了
在這里插入圖片描述
在這里插入圖片描述

python 環境

一般情況, wsl 的 Ubuntu(我測試過的18 、20 的 ubuntu 發行版)都是自帶 Python3 的,所以直接在控制臺輸入 python3 就可以進入到 Python 程序里面了

在這里插入圖片描述
我這里就是 python 3.12.3

在這里插入圖片描述

如果 需要安裝新的 python 環境可以繼續下面流程(一般情況下自帶的都夠用,不過如果需要訓練模型的話,就還需要安裝指定的版本:先檢查一下是否自帶的就支持,如果支持就不用重復安裝了)

安裝 Python 3

sudo apt install python3

安裝 Python 包管理工具 pip

sudo apt install python3-pip

安裝完成后,通過下面命令可以驗證 Python 和 pip 是否安裝成功

python3 --version
pip3 --version

(部分有需要的情況也可以)創建虛擬環境

創建一個新的虛擬環境,下面命令中 myvenv 就是虛擬環境的名稱,可以根據實際使用自己更換

python3 -m venv myvenv

激活虛擬環境

source myvenv/bin/activate

使用完成后,如果需要切換回去,可以退出環境使用下面命令

deactivate

vim 設置插件安裝

sudo apt update
sudo apt install -y gdebi-core
sudo gdebi Clash.Verge_2.2.2_amd64.deb

在這里插入圖片描述
配置之后:我們簡單ping 測試一下啊

在這里插入圖片描述

接下來就是正題:進入下載+安裝+使用 vim-plug 的流程在這里插入圖片描述

執行下面命令 下載 vim-plug

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

打開 Vim 的配置文件 ~/.vimrc

vim ~/.vimrc

把下面內容貼進去,我們安裝一個文件瀏覽器的插件

call plug#begin('~/.vim/plugged')  
Plug 'preservim/nerdtree' 
call plug#end()

在這里插入圖片描述
保存并退出 ~/.vimrc 文件(在 Vim 中輸入 :wq)。
重新打開 Vim,然后在 Vim 命令模式下輸入以下命令

:PlugInstall

這個命令是用來安裝我們剛剛貼入的安裝插件的代碼,可以理解為 Vim 會自動下載并安裝你在 ~/.vimrc 中定義的所有插件。

下圖就是下載成功了。

在這里插入圖片描述

然后我們在普通模式下,再輸入下面代碼

:NERDTree

在這里插入圖片描述
不過輸入這么長的代碼會有些不方便,這里建議設置快捷鍵:

我們先退出當前窗口 :q 然后繼續進入 vim ~/.vimrc

追加代碼:

map <F2> :NERDTreeToggle<CR>

保存后退出,再使用 vim 進入目錄,就可以通過 F2 來進行目錄的打開和關閉了

下面我再貼一些,我平時喜歡用的

" 插件管理部分
call plug#begin('~/.vim/plugged')" 已安裝的 NERDTree 插件
Plug 'preservim/nerdtree' " 括號匹配高亮插件 Vim-Rainbow
Plug 'frazrepo/vim-rainbow'" 代碼注釋插件 NERD Commenter
Plug 'preservim/nerdcommenter'" 模糊查找插件 fzf
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'" 版本控制插件 gitgutter
Plug 'airblade/vim-gitgutter'call plug#end()" 快捷鍵設置部分" NERDTree 快捷鍵
map <F2> :NERDTreeToggle<CR>" Ctrl + S 保存文件
nnoremap <C-s> :w<CR>
inoremap <C-s> <Esc>:w<CR>a" Ctrl + W 退出 Vim
nnoremap <C-w> :q<CR>
inoremap <C-w> <Esc>:q<CR>" 設置行號
set number" 設置鼠標
set mouse=a" 普通模式下,輸入 jj 進入插入模式
nmap jj i" 插入模式下,輸入 jj 退出插入模式
inoremap jj <Esc>" 設置 Leader 鍵為逗號
let mapleader = ','" NERD Commenter 快捷鍵
nmap <leader>cc <plug>NERDCommenterComment
nmap <leader>cn <plug>NERDCommenterUncomment" fzf 命令快捷鍵
command! -bang -nargs=? FZF\ call fzf#vim#files(<q-args>, fzf#vim#with_preview({'options': '--reverse'}), <bang>0)" 其他常用快捷鍵
" 移動光標類
" 按單詞移動
nmap w w
nmap e e
nmap b b" 行內快速移動
nmap 0 0
nmap $ $
nmap ^ ^" 文件內快速跳轉
nmap gg gg
nmap G G
nmap <expr> <C-n> (v:count == 0 ? '1' : v:count) . 'G'" 文本操作類
" 復制粘貼
nmap yy yy
nmap <expr> <C-y> (v:count == 0 ? '1' : v:count) . 'yy'
nmap p p
nmap P P" 刪除
nmap dd dd
nmap <expr> <C-d> (v:count == 0 ? '1' : v:count) . 'dd'
nmap dw dw" 撤銷與恢復
nmap u u
nmap <C-r> <C-r>" 字符操作
nmap r r
nmap ~ ~" 縮進調整
nmap >> >>
nmap << <<" 搜索替換類
nmap / /
nmap ? ?
nmap n n
nmap N N
nmap :s :s
nmap :%s :%s" 插件配置部分" Vim-Rainbow 配置
let g:rainbow_active = 1" gitgutter 配置
let g:gitgutter_enabled = 1    

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74555.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74555.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74555.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python 命名空間與作用域 可變與不可變對象 閉包

python 命名空間與作用域 可變與不可變對象 閉包 作用域規則順序為&#xff1a; L->E->G->B 如果變量在局部內找不到&#xff0c;便會去局部外的局部找&#xff08;例如閉包&#xff09;&#xff0c;再找不到就會去全局找&#xff0c;再找不到就去內置中找。 若要在函…

安裝 TabbyAPI+Exllamav2 和 vLLM 的詳細步驟

在 5090 顯卡上成功安裝 TabbyAPIExllamav2 和 vLLM 并非易事&#xff0c;經過一番摸索&#xff0c;我總結了以下詳細步驟&#xff0c;希望能幫助大家少走彎路。 重要提示&#xff1a; 用戶提供的 PyTorch 安裝使用了 cu128&#xff0c;這并非標準 CUDA 版本。請根據你的系統實…

使用url-loader處理圖片等資源文件

&#x1f90d; 前端開發工程師、技術日更博主、已過CET6 &#x1f368; 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 &#x1f560; 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 &#x1f35a; 藍橋云課簽約作者、…

EIP-712:類型化結構化數據的哈希與簽名

1. 引言 以太坊 EIP-712: 類型化結構化數據的哈希與簽名&#xff0c;是一種用于對類型化結構化數據&#xff08;而不僅僅是字節串&#xff09;進行哈希和簽名 的標準。 其包括&#xff1a; 編碼函數正確性的理論框架&#xff0c;類似于 Solidity 結構體并兼容的結構化數據規…

contourformer:實時的輪廓分割transformer

論文地址:https://arxiv.org/abs/2501.17688 github:https://github.com/talebolano/Contourformer 模型結構 框架建立在 D-FINE 對象檢測模型之上,并將邊界框的回歸擴展到輪廓的回歸。為了實現高效的訓練,Contourformer 采用迭代方法進行輪廓變形,并引入降噪機制來加速…

【JavaScript】原型鏈 prototype 和 this 關鍵字的練習(老虎機)

這個老虎機練習主要考察JavaScript中的原型鏈&#xff08;prototype&#xff09;和this關鍵字的使用。 主要思路 創建三個輪盤&#xff08;reels&#xff09;實例&#xff1a;我們需要創建3個獨立的輪盤對象&#xff0c;它們都委托&#xff08;delegate&#xff09;到基礎的ree…

vue項目data functions should return an object

在vue項目中提示錯誤&#xff0c;data functions should return an object Message.error(err)錯了&#xff0c;Message.error()是element-ui的組件&#xff0c;只能接受字符串&#xff0c;不能接受對象。 改為Message.error(err.message)就好了 我的錯誤是 Message.error(er…

leetcode刷題 - 數組理論基礎

數組是內存空間連續存儲、相同類型數據的集合。遍歷方式&#xff1a;下標索引 下標&#xff1a;從 0 開始 數組的元素不能刪除&#xff0c;只能覆蓋 定義一維數組&#xff1a; int arr0[10]; int arr1[10] { 100, 90,80,70,60,50,40,30,20,10 }; int arr2[ ] { 100,90,80,7…

狀態機思想編程練習

狀態機實現LED流水燈 本次實驗&#xff0c;我們將利用狀態機的思想來進行Verilog編程實現一個LED流水燈&#xff0c;并通過Modelsim來進行模擬仿真&#xff0c;再到DE2-115開發板上進行驗證。 ? 首先進行主要代碼的編寫。 module led (input sys_clk,input sys_…

數據結構|排序算法(一)快速排序

一、排序概念 排序是數據結構中的一個重要概念&#xff0c;它是指將一組數據元素按照特定的順序進行排列的過程&#xff0c;默認是從小到大排序。 常見的八大排序算法&#xff1a; 插入排序、希爾排序、冒泡排序、快速排序、選擇排序、堆排序、歸并排序、基數排序 二、快速…

如何確保MQ消息隊列不丟失:Java實現與流程分析

前言 在分布式系統中&#xff0c;消息隊列&#xff08;Message Queue, MQ&#xff09;是核心組件之一&#xff0c;用于解耦系統、異步處理和削峰填谷。然而&#xff0c;消息的可靠性傳遞是使用MQ時需要重點考慮的問題。如果消息在傳輸過程中丟失&#xff0c;可能會導致數據不一…

關于termux運行pc交叉編譯的aarch64 elf的問題

在Linux系統上交叉編譯Nim程序到Android Termux環境需要特殊處理&#xff0c;以下是詳細的解決方案&#xff1a; 問題根源分析 ??ABI不兼容?? Android使用bionic libc而非標準glibc&#xff0c;直接編譯的Linux ARM二進制無法直接運行 ??動態鏈接錯誤?? 默認編譯會鏈…

為PXIe控制器配置NI Linux實時操作系統安裝軟件

一、升級BIOS 使用NI Linux Real-Time操作系統的PXI硬件支持頁面來確定NI Linux Real-Time是否支持您的PXIe控制器&#xff0c;以及是否需要更新控制器BIOS。 按照BIOS下載頁面上的“安裝說明”部分安裝BIOS更新。 注意&#xff1a;NI在NI 2020軟件版本中刪除對cRIO的Phar Lap和…

《汽車噪聲控制》課程作業

作業內容 在MATLAB繪制給出單個正弦波或余弦波的時域圖和頻域圖 繪制實測數據的時域圖和頻域圖 圖1 單個正弦波的時頻圖 圖1 單個正弦波的時頻圖 % 正弦波參數設置 f0 1000; % 信號頻率 1kHz Fs 16384; % 采樣頻率 16kHz T 0.05; % 信號持續時間 0.05秒 A 0.8; % 信號幅度…

Baklib內容中臺AI技術協同應用

內容中臺與AI協同創新 在數字化轉型進程中&#xff0c;內容中臺通過人工智能技術的深度整合&#xff0c;正重塑企業信息管理范式。以Baklib內容中臺為例&#xff0c;其通過智能語義分析引擎解析用戶意圖&#xff0c;結合知識圖譜構建技術動態關聯碎片化信息&#xff0c;實現從…

壓測工具開發實戰篇(二)——構建側邊欄以及設置圖標字體

你好&#xff0c;我是安然無虞。 文章目錄 構建側邊欄QtAwesome使用調整側邊欄寬度了解: sizePolicy屬性偽狀態 在閱讀本文之前, 有需要的老鐵可以先回顧一下上篇文章: 壓測工具開發(一)——使用Qt Designer構建簡單界面 構建側邊欄 我們要實現類似于下面這樣的側邊欄功能: …

Axure RP9.0教程: 查詢條件隱藏與顯示(綜合了動態面板狀態切換及展開收縮效果實現)

文章目錄 引言I 原型顯示/隱藏搜索框思路步驟詳細操作II 若依 ruoyi 顯示/隱藏搜索框 & 顯示隱藏列自定義設置顯示隱藏列顯示/隱藏搜索框引言 數據篩選有大量的查詢條件時,可以選擇查詢隱藏效果。 I 原型顯示/隱藏搜索框 綜合了動態面板狀態切換及展開收縮效果實現 思…

解鎖工業通信:Profibus DP到ModbusTCP網關指南!

解鎖工業通信&#xff1a;Profibus DP到ModbusTCP網關指南&#xff01; 在工業自動化領域&#xff0c;隨著技術的不斷進步和應用場景的日益復雜&#xff0c;不同設備和系統之間的通訊協議兼容性問題成為了工程師們面臨的一大挑戰。尤其是在Profibus DP和Modbus/TCP這兩種廣泛應…

3維格式轉換(二)

基于python的三維模型演化可視化 本項目的主要內容為總結了3種不同的可視化方案( trimesh + matplotlib 庫、 pyvista 庫、 vedo 庫),并通過案例對可視化效果進行展示,最終通過模型動態演化案例給出最佳效果的可視化方案 本期結構圖為 本期博客結構圖 0 環境搭建 項目開…

docker導出image再導入到其它docker中

導出image docker save -o gxc_tenant.tar vue_tenant:1.0 eitc_tenant:1.0 redis:latest docker.io/mysql:8.0 minio/minio導入image docker load -i gxc_tenant.tar