我将跟着 official docs官方文档进行操作
如果尚未安装WSL2,请转到此博客 blog
安装WSL2和CLion后,以管理员身份打开PowerShell并运行下面代码
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
然后重新启动计算机
打开ubuntu并运行这个命令来安装c++工具
sudo apt-get install cmake gcc clang gdb build-essential
你要等很长时间。(这里我用powershell,建议你用ubuntu来运行这个命令)
使用下面的命令来下载运行脚本 script,用于配置ssh等端口设置
wget https://raw.githubusercontent.com/JetBrains/clion-wsl/master/ubuntu_setup_env.sh && bash ubuntu_setup_env.sh
如果您在中国,您可能无法通过此命令下载脚本
但别担心,这是脚本的内容
#!/bin/bash
set -e
SSHD_LISTEN_ADDRESS=127.0.0.1
if [ -e "/dev/vsock" ]; then # in case of WSL2
SSHD_LISTEN_ADDRESS=0.0.0.0
fi
SSHD_PORT=2222
SSHD_FILE=/etc/ssh/sshd_config
SUDOERS_FILE=/etc/sudoers
# 0. update package lists
sudo apt-get update
# 0.1. reinstall sshd (workaround for initial version of WSL)
sudo apt remove -y --purge openssh-server
sudo apt install -y openssh-server
# 0.2. install basic dependencies
sudo apt install -y cmake gcc clang gdb valgrind build-essential
# 1.1. configure sshd
sudo cp $SSHD_FILE ${SSHD_FILE}.`date '+%Y-%m-%d_%H-%M-%S'`.back
sudo sed -i '/^Port/ d' $SSHD_FILE
sudo sed -i '/^ListenAddress/ d' $SSHD_FILE
sudo sed -i '/^UsePrivilegeSeparation/ d' $SSHD_FILE
sudo sed -i '/^PasswordAuthentication/ d' $SSHD_FILE
echo "# configured by CLion" | sudo tee -a $SSHD_FILE
echo "ListenAddress ${SSHD_LISTEN_ADDRESS}" | sudo tee -a $SSHD_FILE
echo "Port ${SSHD_PORT}" | sudo tee -a $SSHD_FILE
echo "UsePrivilegeSeparation no" | sudo tee -a $SSHD_FILE
echo "PasswordAuthentication yes" | sudo tee -a $SSHD_FILE
# 1.2. apply new settings
sudo service ssh --full-restart
# 2. autostart: run sshd
sed -i '/^sudo service ssh --full-restart/ d' ~/.bashrc
echo "%sudo ALL=(ALL) NOPASSWD: /usr/sbin/service ssh --full-restart" | sudo tee -a $SUDOERS_FILE
cat << 'EOF' >> ~/.bashrc
sshd_status=$(service ssh status)
if [[ $sshd_status = *"is not running"* ]]; then
sudo service ssh --full-restart
fi
EOF
# summary: SSHD config info
echo
echo "SSH server parameters ($SSHD_FILE):"
echo "ListenAddress ${SSHD_LISTEN_ADDRESS}"
echo "Port ${SSHD_PORT}"
echo "UsePrivilegeSeparation no"
echo "PasswordAuthentication yes"
复制此内容,然后跟我来
转到linux文件系统
转到此路径并创建一个名为
ubuntu_setup_env.sh
的txt文本,将内容粘贴到此文件。
然后运行下面代码来执行
注意: 当前路径应该是你
ubuntu_setup_env.sh
文件所在的路径
bash ubuntu_setup_env.sh
可以看到他会帮你配置好ssh
然后运行这个命令,注意用户名应该是您的用户名
ssh username@localhost -p2222
!注意:在使用之前,有一个很大的前提是,你的电脑必须要关系快速启动功能,否则你时无法连接的
然后在Clion中去 Settings / Preferences | Build, Execution, Deployment | Toolchains and click plus icon to create a new toolchain. Select WSL from the Environment list.
点击设置
Credentials setting
填写你的WSL信息,然后测试连接并确定
如果您遇到错误,这意味着您需要配置一个文件,让我告诉您如何解决它。
到你自己对应的路径,类似我的路径,也就是用户的目录
创建一个文件名叫
.wslconfig
然后他的内容是
[wsl2]
localhostForwarding=true
保存并在powershell中输入下面的命令关闭你的WSL
wsl --shutdown
再次打开WSL
最后打开你的Clion会发现可以便宜执行代码了!
欢迎大家来我的博客: Zhong Wanli
本篇文章的英文版: Clion with wsl2