在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