在win11 环境下 新安装 WSL ubuntu + 换国内镜像源 + ssh + 桌面环境 + Pyhton 环境 + vim 设置插件安装

在win11 环境下 新安装 WSL ubuntu + ssh + gnome 桌面环境 + Pyhton 环境 + vim 设置插件安装

简单介绍

内容有点长,这里就先简单描述内容了。主要是快速在 Win11 搭建一个 wsl 的 linux 环境,因为自己是做开发的,平时服务器上就是用于生产环境,不太方便上去再搭建一个测试的程序,所以在本地搭建一个小型的 wsl linux 环境用于测试,如果大家是出于其他目的,可以参考其他内容。有需要交流的,欢迎私信交流。

安装 Ubuntu 我这里就不做流程日志, 安装这个特别轻松,可以在 微软应用商店( Microsoft Store)里面安装,也可以通过命令的方式安装。方法非常多,这个步骤就省下来了。

截图省下来,命令我还是贴一下:(主要是方便自己也是方便需要的人)

bash 复制代码
wsl --install -d Ubuntu

详细流程

我们安装好 WSL 的 Ubuntu 发行版的 Linux 后,我们需要输入用户名,以及密码

如下图:

换国内镜像源

bash 复制代码
sudo vim /etc/apt/sources.list

贴入下面的镜像源:(清华源)网上也有很多源,华为、中科大, 等等...

bash 复制代码
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!

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

bash 复制代码
sudo apt update

看到都更新了就代表换源成功了(通过链接查看,是不是从我们还源的地址获取的更新就知道了)

安装 ssh

由于之前已经更新过了:如果中途中断的话,还要再执行一遍 sudo apt-get update

如果没有中断的话,就直接执行下面的语句就行了。

bash 复制代码
sudo apt install openssh-server -y

安装完成之后重启一下:(正常情况下也不需要重启,但是有些个别情况,如果后面的流程走不通了。就回来重启一下再继续流程)

bash 复制代码
sudo service ssh restart

我们直接通过 ssh 来远程一下:工具有很多,我这里推荐使用 :vscode ,finalShell

如果是编码的话,就建议 vscode ,如果是运维就建议: finalShell (个人观点)

官网:

bash 复制代码
https://www.hostbuf.com/

根据下面截图的来:


下载之后就是安装,安装完成后就直接打开它,继续下面流程

点击左上角的文件夹图标

再点击 SSH 连接(Linux)

输入 Ip 地址、账号、密码

我们可以回到控制台输入 ip addr 再通过下面截图的地方,找到一个地址,我们连接这个地址就可以了

连上之后的情况就可以参考下图了。

这里再多介绍一个 使用 root 登录的流程

1、先进行 root 密码新增(新用户肯定没有,如果有的话,就不用这步骤)

bash 复制代码
sudo passwd root

修改ssh登录的配置, /etc/ssh/sshd_config 文件,修改为允许root登录

bash 复制代码
sudo vim /etc/ssh/sshd_config

看下图 ,将: #PermitRootLogin prohibit-password

这一行,改为 PermitRootLogin yes


修改成功后,我们重启ssh服务使刚才的ssh配置的修改生效

bash 复制代码
sudo service ssh restart

再通过下面命令可以测试登录

bash 复制代码
ssh root@localhost

桌面环境

安装 ubuntu-desktop

bash 复制代码
 sudo apt install ubuntu-desktop -y 

ubuntu-desktop 包含了 Ubuntu 桌面环境所需的所有组件,安装后系统会具备完整的桌面环境 (所以安装会很久:当然也看网速)

bash 复制代码
sudo apt install -y xrdp

xrdp 是一个开源的远程桌面协议(RDP)服务器, 有了这个,就能够通过 Windows 系统自带的远程桌面连接工具或者其他支持 RDP 协议的客户端来远程连接到 Ubuntu 系统。

bash 复制代码
sudo adduser xrdp ssl-cert

ssl-cert 用户组,用于管理 SSL 证书,把 xrdp 用户添加到这个组里,能让 xrdp 服务使用 SSL 证书来加密远程连接,增强连接的安全性。

bash 复制代码
sudo systemctl restart xrdp

需要重启服务使更改生效

主要是输入主机名,如下图:(其他看个人习惯,我是习惯都输入一样的)

输入用户名+密码,就可以了

python 环境

一般情况, wsl 的 Ubuntu(我测试过的18 、20 的 ubuntu 发行版)都是自带 Python3 的,所以直接在控制台输入 python3 就可以进入到 Python 程序里面了

我这里就是 python 3.12.3

如果 需要安装新的 python 环境可以继续下面流程(一般情况下自带的都够用,不过如果需要训练模型的话,就还需要安装指定的版本:先检查一下是否自带的就支持,如果支持就不用重复安装了)

安装 Python 3

bash 复制代码
sudo apt install python3

安装 Python 包管理工具 pip

bash 复制代码
sudo apt install python3-pip

安装完成后,通过下面命令可以验证 Python 和 pip 是否安装成功

bash 复制代码
python3 --version
pip3 --version

(部分有需要的情况也可以)创建虚拟环境

创建一个新的虚拟环境,下面命令中 myvenv 就是虚拟环境的名称,可以根据实际使用自己更换

bash 复制代码
python3 -m venv myvenv

激活虚拟环境

bash 复制代码
source myvenv/bin/activate

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

bash 复制代码
deactivate

vim 设置插件安装

bash 复制代码
sudo apt update
sudo apt install -y gdebi-core
sudo gdebi Clash.Verge_2.2.2_amd64.deb

配置之后:我们简单ping 测试一下啊

接下来就是正题:进入下载+安装+使用 vim-plug 的流程

执行下面命令 下载 vim-plug

bash 复制代码
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

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

bash 复制代码
vim ~/.vimrc

把下面内容贴进去,我们安装一个文件浏览器的插件

bash 复制代码
call plug#begin('~/.vim/plugged')  
Plug 'preservim/nerdtree' 
call plug#end()

保存并退出 ~/.vimrc 文件(在 Vim 中输入 :wq)。

重新打开 Vim,然后在 Vim 命令模式下输入以下命令

bash 复制代码
:PlugInstall

这个命令是用来安装我们刚刚贴入的安装插件的代码,可以理解为 Vim 会自动下载并安装你在 ~/.vimrc 中定义的所有插件。

下图就是下载成功了。

然后我们在普通模式下,再输入下面代码

bash 复制代码
:NERDTree

不过输入这么长的代码会有些不方便,这里建议设置快捷键:

我们先退出当前窗口 :q 然后继续进入 vim ~/.vimrc

追加代码:

bash 复制代码
map <F2> :NERDTreeToggle<CR>

保存后退出,再使用 vim 进入目录,就可以通过 F2 来进行目录的打开和关闭了

下面我再贴一些,我平时喜欢用的

bash 复制代码
" 插件管理部分
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    
相关推荐
开发小菜Go1 小时前
小菜Go:Ubuntu下Go语言开发环境搭建
linux·运维·ubuntu·vim
椰萝Yerosius9 小时前
Ubuntu Wayland启动腾讯会议并实现原生屏幕共享
linux·ubuntu·腾讯会议
fei_sun16 小时前
获取ssh密钥
运维·ssh
java搬砖工-苤-初心不变18 小时前
解决 Go 模块与 GitLab 私有仓库权限问题:SSH、HTTPS 和自动认证指南
golang·ssh·gitlab
信必诺19 小时前
CMake —— 2、cmake在windows与linux下动态链接库编译与链接实例(附:过程代码与CMakeLists.txt)
windows·ubuntu·cmake·动态链接库·linux\
矛取矛求21 小时前
VMware 安装 Ubuntu 全流程实战指南:从零搭建到深度优化
linux·运维·ubuntu
Hey! Hey!21 小时前
Ubuntu桌面系统安装VirtualBox教程
linux·运维·ubuntu
musk12121 天前
vim 中快速删除引号中的字符串
linux·编辑器·vim
让子弹飞021 天前
15.1linux设备树下的platform驱动编写(知识)_csdn
linux·ubuntu·platform·stm32mp157·驱动的分离和分层