局域网访问Win11下的WSL中的jupyter notebook
问题:在ubuntu上训练深度学习模型比在Windows上速度快。于是在Win11上装了WSL,WSL上装了ubuntu,ubuntu上装了conda,conda上装了jupyter notebook。用来一阵发现风扇声音太大了,不利于思考,还是喜欢用笔记本,更安静。
目标:在笔记本上写代码,在台式机上训练模型。两台电脑间隔远点,就不会那么吵闹。
方法:
一、台式机上操作
1.powershell中操作
# 1.命令行运行PowerShellwsl hostname -I#输出wsl的IP:172.30.84.146#2.设置ip和端口转发
netsh interface portproxy add v4tov4 listenport=8899 listenaddress=0.0.0.0 connectport=8899 connectaddress=172.30.84.146# listenport=8899 win11监听的端口8899;
# listenaddress=0.0.0.0 win11监听的IP,"0.0.0.0"表示监听所有IP;
# connectport=8899 wsl中需要连接的端口,这里是jupyter notebook的端口;
# connectaddress=172.30.84.146 wsl的IP。# 3.显示有哪些ip和端口转发
netsh interface portproxy show all#用netsh interface portproxy delete v4tov4 listenport=8899 listenaddress=0.0.0.0删除多余的,留刚才1条。
2.win11中添加端口号8899,供局域网访问。参考这篇文章(如何远程访问在WSL运行的Jupyter Notebook)
3.进入ubuntu,进入conda环境,进入安装了Jupyter Notebook的环境。生成密码,记住设置的密码,比如“123456”。
jupyter notebook password
4.生成配置文件,覆盖之前的文件:
jupyter notebook --generate-config
5.用记事本打开配置文件,添加如下设置:
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.port = 8899
c.ServerApp.allow_remote_access = True
c.ServerApp.open_browser = False
c.ServerApp.allow_root = True
c.ServerApp.allow_origin = '0.0.0.0'
6.powershell中先关闭wsl
wsl --shutdown
7.启动ubuntu中jupyter notebook,在win11用浏览器打开生成的地址,提示输入密码,输入“123456”,显示出文件目录,这是正常打开了jupyter notebook。
8.win11中运行命令行,查看win11的ipv4地址:
ipconfig
#输出:192.168.0.123
9.在与上述台式机同一局域网中的笔记本上打开浏览器,输入访问地址:
192.168.0.123:8899
结果和步骤7中浏览器显示相同。
结束!