win10 中的 Linux 子系统默认无法开机自启动,并且 ssh 服务也需要每次启动 bash 后手动启动,这里使用两个脚本来让 Linux 子系统在系统启动时也自行启动,并且将 ssh 服务打开。
win10 配置
- 创建一个批处理脚本
wslstartup.bat
,写入如下内容: - 复制
powershell.exe -WindowStyle Hidden -c "bash /init.sh "
- 这里表示隐藏窗口启动 Linux 子系统,并执行
/init.sh
shell 脚本。 - 打开运行,输入
shell:startup
回车,打开 windows 启动文件夹,将创建的批处理脚本移动进去。
Linux 子系统配置
- 在根目录创建
init.sh
shell 脚本,写入以下内容: - 复制
#!/bin/bash pn=$(ps aux | grep -v grep |grep sshd|wc -l) if [ "${pn}" != "0" ]; then pid=$(ps aux|grep -v grep|grep /usr/sbin/sshd|awk '{print $2}') echo "123456" | sudo -S kill $pid fi echo "123456" | sudo -S /usr/sbin/service ssh start
- 其中
echo
的内容为默认登陆用户的登陆密码。 - 更改脚本权限,和更改属主和属组为默认用户:
- 复制
# chmod 755 /init.sh # chown user:user /init.sh
- 配置完成后,下次开机就可以自启动 Linux 子系统,并且将 ssh 服务启动,我们就可以在 xshell 等软件中登陆子系统了。