在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登录
看下图 ,将: #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