参考:
安装基础环境
sudo sh ubuntu_setup_env.sh
- #!/bin/bash
- set -e
-
- SSHD_LISTEN_ADDRESS=127.0.0.1
-
- 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 ninja-build 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 '/^PermitRootLogin/ 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 "PermitRootLogin yes" | 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 "PermitRootLogin yes"
- echo "PasswordAuthentication yes"
配置ssh, 在WSL端运行以下脚本,注意将其中的端口号改成windows中没用到的。 这里默认的端口号是2222.
File | Settings | Build, Execution, Deployment | Toolchains
选择”Build,Execution,Deployment“中的”Toolchains“,点击左侧”+“,选择"WSL",添加后会出现右侧选项,其他设置都是默认,只需要配置”Credentials“,点击后面的设置(齿轮)


将”Port“改为”2222“,在”User name“和”Password“中填入自己WSL中的用户名和密码,点击"OK"


这一步主要是为了将远程项目文件和本地项目文件互相映射。其作用机制是,如果本地修改了,那么远端也会同步修改。
Deployment path 是远程端的项目路径,并且是相对路径,根目录已经在Connection中配置好了。
Local Path 是本地的项目路径,是绝对路径。
例如我wsl中是 /home/mdotdot/ClickHouse 那么这里的Deployment Path 就是ClickHouse

如果文件只在远端 ,则选择download 。
如果文件只在本地,则需要upload。
如果两边都有, 选择sync 同步。
时间会有点长,非常长,吃了个饭打了四把游戏还没结束。
编辑于 2022-03-03 18:36