Windows系统配置CLion使用WSL(Windows Subsystem for Linux)

在Windows10系统上配置CLion使用WSL(Windows Subsystem for Linux)是一个非常复杂但强大的设置过程。这个过程允许用户在Windows平台下使用Linux的工具链来构建和开发项目

1:开启WSL

控制面板->程序->程序和功能->启用或关闭Windows功能:勾选<适用于Linux的Windows子系统>;确定,然后重启电脑

2:安装Ubuntu,微软商店安装,ubuntu

查看你window有那些linux和是否和是否在运行


C:WindowsSystem32>wsl -l -v
  NAME                      STATE           VERSION
* Ubuntu                    Running         1
  podman-machine-default    Stopped         2

C:WindowsSystem32>

查看ubuntu系统信息


root@HDX-XG:~#
root@HDX-XG:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.1 LTS
Release:        24.04
Codename:       noble
root@HDX-XG:~#

关闭Ubuntu命令,wsl –shutdown


C:WindowsSystem32>wsl --shutdown

C:WindowsSystem32>wsl -l -v
  NAME                      STATE           VERSION
* Ubuntu                    Stopped         1
  podman-machine-default    Stopped         2

3:安装Windows Terminal

4:安装各种环境

4-1:(常用)方法1 更新软件包列表并重试(不然等下执行会报各种错类似404)


sudo apt-get update
sudo apt-get install cmake gcc clang gdb build-essential

4-1-1:如果sudo apt-get update或者安装install其他包失败,可以先试一下是否需要联网ping www.baidu.com


root@HDX-XG:~# ping www.baidu.com
ping: www.baidu.com: Temporary failure in name resolution
root@HDX-XG:~# cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver fec0:0:0:ffff::1
nameserver fec0:0:0:ffff::2
nameserver fec0:0:0:ffff::3

4-1-2:配置ubuntu服务上网,然后在执行更新和安装命令,关闭 WSL 的自动 DNS 配置:编辑 WSL 的网络配置文件:


sudo nano /etc/wsl.conf

4-1-3:添加以下内容(告诉 WSL 不要自动管理 resolv.conf):


[network]
generateResolvConf = false

保存退出(nano 按 Ctrl+O → 回车 → Ctrl+X)


root@HDX-XG:~#
root@HDX-XG:~# cat /etc/wsl.conf
[boot]
systemd=true
[network]
generateResolvConf = false
root@HDX-XG:~#

4-1-4:删除旧的 resolv.conf 并重建:


sudo rm -f /etc/resolv.conf  # 删除自动生成的文件
sudo nano /etc/resolv.conf   # 新建并编辑

4-1-5:手动写入公共 DNS(例如阿里云或 Google 的 DNS):


nameserver 223.5.5.5    # 阿里云 DNS(推荐国内使用)
nameserver 223.6.6.6    # 阿里云备用 DNS
# 或 Google DNS(国外可用):
# nameserver 8.8.8.8
# nameserver 8.8.4.4

保存退出


root@HDX-XG:~# cat /etc/resolv.conf
nameserver 223.5.5.5    # 阿里云 DNS(推荐国内使用)
nameserver 223.6.6.6
root@HDX-XG:~#

4-1-6:设置文件权限防止被修改(可选):


sudo chattr +i /etc/resolv.conf  # 锁定文件,禁止修改

4-1-7:再次测试并更新软件源或者安装报


sudo apt-get update  # 此时应能正常拉取源列表

 sudo apt-get install openssh-server

4-1-8:切换 WSL 版本:若当前是 WSL 2,尝试切换到 WSL 1(网络兼容性更好但性能稍弱):


wsl --set-version Ubuntu 1  # 替换为你的发行版名称(如 Ubuntu)

4-1-9:重新安装 WSL 发行版:若网络问题持续,可卸载后重新安装(注意备份数据)


wsl --unregister Ubuntu  # 注销当前发行版
wsl --install -d Ubuntu  # 重新安装

4-2:方法2 使用 –fix-missing 选项


sudo apt-get update
sudo apt-get install cmake gcc clang gdb build-essential --fix-missing

4-3:方法3 更换软件源镜像,如果当前镜像有问题,可以更换到其他镜像:


# 备份当前配置
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

# 使用国内镜像(例如阿里云)
sudo sed -i 's://[^/]*.ubuntu.com://mirrors.aliyun.com:g' /etc/apt/sources.list

# 或者使用清华镜像
sudo sed -i 's://[^/]*.ubuntu.com://mirrors.tuna.tsinghua.edu.cn:g' /etc/apt/sources.list

sudo apt-get update
sudo apt-get install cmake gcc clang gdb build-essential

5:配置clion,选择wsl然后点击确定就会自动检测了

6:项目配置使用

7:window系统,在 Ubuntu 中安装并启动 SSH 服务

7-1:WSL 默认未安装 SSH 服务,需手动配置:打开 Ubuntu 终端(通过 wsl 或 ubuntu 命令进入),安装 OpenSSH 服务器:


sudo apt install openssh-server  # 安装 SSH 服务

7-2:配置 SSH 服务(默认配置可能不允许密码登录,需修改):


sudo nano /etc/ssh/sshd_config  # 编辑配置文件

找到并修改以下配置(按 Ctrl+W 搜索关键词):
PasswordAuthentication yes(允许密码登录,默认可能为 no,把注释去掉)
PermitRootLogin yes(可选,允许 root 用户登录,默认可能为 prohibit-password,把注释去掉)
保存退出(Ctrl+O → 回车 → Ctrl+X)

7-3:重启 SSH 服务:


sudo service ssh restart

7-4:查看 SSH 服务状态


sudo service ssh status

7-5:获取 WSL Ubuntu 的 IP 地址,Xshell 需要通过 IP 连接 WSL,在 Ubuntu 中执行以下命令获取 IP:hostname -I,输出类似:172.28.xx.xx(WSL 本地 IP)


root@DESKTOP-9SD7K4B:~# hostname -I
172.18.197.202
root@DESKTOP-9SD7K4B:~#

7-6:就可以使用shell链接如下,输入密码即可


PS C:Usersdell> ssh root@localhost
root@localhost's password:

7-7:su – root,su – 账号的形式可以尝试密码

7-8:如果不知道密码,先进入ubuntu服务,如下操作

7-9:进入ubuntu可以直接修改密码,执行以下命令,使用 sudo 权限获取临时管理员权限,sudo passwd root


root@DESKTOP-9SD7K4B:/#
root@DESKTOP-9SD7K4B:/# sudo passwd root
New password:
Retype new password:
passwd: password updated successfully
root@DESKTOP-9SD7K4B:/#

8:要在 Windows 系统中可视化 Ubuntu(一般不可视化),可以通过 XRDP 或 VNC 等方案来实现,以下是具体方法

8-1:使用 XRDP

安装 XRDP 和桌面环境:在 Ubuntu 终端中运行以下命令:


sudo apt update
# 安装轻量级桌面环境Xfce(若已有桌面环境可跳过)
sudo apt install xfce4 xfce4-goodies -y
# 安装XRDP服务
sudo apt install xrdp -y

配置 XRDP 并启动服务:


# 启动并设置开机自启
sudo systemctl enable --now xrdp
# 放行防火墙端口(3389是RDP默认端口)
sudo ufw allow 3389

客户端连接:在 Windows 中,按下Win + R,输入mstsc打开 “远程桌面连接”,输入 Ubuntu 服务器的 IP 地址,点击 “连接”,在登录界面选择 “Xorg” 会话类型,输入 Ubuntu 用户名和密码即可连接

8-2:使用 VNC

安装 VNC 服务和桌面环境:在 Ubuntu 终端中运行以下命令:


sudo apt update
# 安装轻量级桌面环境Xfce
sudo apt install xfce4 xfce4-goodies -y
# 安装VNC服务端(以TightVNC为例)
sudo apt install tightvncserver -y

配置 VNC 密码并启动服务:


# 首次启动VNC并设置密码
vncserver
# 停止默认实例以修改配置
vncserver -kill :1
# 编辑VNC启动脚本
cat << EOF > ~/.vnc/xstartup
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
EOF
# 赋予脚本执行权限
chmod +x ~/.vnc/xstartup
# 重新启动VNC服务
vncserver -geometry 1920x1080 :1

客户端连接:在 Windows 中下载并安装 VNC Viewer,输入 Ubuntu 服务器的 IP 地址和端口(如192.168.1.100:5901),输入设置的 VNC 密码即可连接。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容