在wsl上运行百度网盘 deb 包
因为接收到一个任务需要百度网盘,这种软件我一向不喜欢安装到pc上,所以打算尝试在wsl上运行,我先尝试了很多发行版,以及配置很多桌面环境,因为一开始没搞懂里面的机制,在简单的解决包和依赖问题之后,所以一直跑不起来,依赖没有报错之后,程序能跑了,但是不知道为什么一直报一个goodbye然后就退出了,后来在尝试kali wsl发行版+kex-win 之后终于能跑百度网盘了
机制
简单说一下,wsl中跑gui(图形交互程序)主要是用wslg.exe,这个软件作为“显示器组件”接收了Linux gui发送的图形渲染数据--wayland协议的通信数据,用RDP(远程传输)发送到宿主机显示,相当于wslg中同时跑了Linux的远程桌面同步服务器和Windows远程桌面客户端,而这里面涉及的其他问题,gui 发送给desktop environment程序的数据和desktop environment和gui同通信,以及如果gui发送的数据是x11协议的数据,就需要找到其他的解决方案了(wsl的xwayland兼容做得不好),比如x server,等等,但是我感觉都不理想,而百度网盘这坨大便显然有这种问题。
解决方案
在尝试了很多发行版,很多桌面环境以及很多中x-server后,我还尝试了笨重的,和宿主机通信不方便的VMware,但是实在太不好,折腾了3天左右,看到了kde,一开始看到我以为是kali的桌面环境,我就下载了kali wsl,没想到才发现没有什么特别的关系,然后我又乱钻文档,从里面找到一个非常好的东西,win-kex,抱着试试的心理快速配上去,然后发现是纯正的,不需要x11 windows客户端的纯wslg 软件,wslg 里就能直接显示了主桌面,既然还可以,那就试试装上百度网盘,我靠也还可以
步骤
Windows store里找到kali发行版下载,这里提供链接,Windows store依旧需要关掉代理
打开kali会是一个纯终端
名字,密码
返回到Windows宿主机终端(powershell,cmd,pwsh)
notepad "$env:USERPROFILE\.wslconfig"[wsl2]
systemd=true
#这里是开启一个Linux的系统服务回到wsl
sed -i "s@http://http.kali.org/kali@https://mirrors.tuna.tsinghua.edu.cn/kali@g" /etc/apt/sources.list #换到清华源
sudo apt updatesudo apt install -y kali-win-kex
#安装win-kex#可以启动试试
kex在宿主机浏览器或者直接在kali内firebox下载百度网盘deb
#如果是宿主机
cd /mnt/c/Users/bakam/Downloads
#记得改用户名#如果是kali下载的
ls
#或者进入文件管理器找找下载文件夹,进入,安装deb
sudo apt install .deb #记得修改成匹配的文件名
#一般会报错没装libsound2
sudo install libasound2t64
#启动
gtk-launch baidunetdisk
!!!
现在发现Ubuntu也是可以直接使用百度网盘,之前是因为直接启动,应该使用标准gtk-launch启动百度网盘,需要一个桌面环境,使用ubuntu-desktop包
和上面差不多

#桌面选择gtk-launch baidunetdisk

