Skip to content

WSL 安装 Arch 遇到的一些问题

没错,继物理机、VMware、VirtualBox之后,开始使用 WSL 了。原因是不想在折腾了,有很多时候需要用到 Windows,比如腾讯会议以及Office系列(还是担心WPS不兼容)。之所以使用 WSL,因为他和宿主机的无缝配合实在太香啦。

参考一:https://zhuanlan.zhihu.com/p/567827887

参考二:https://zhuanlan.zhihu.com/p/159273093

安装 WSL 和 Ubuntu

1. 通过 控制面板->程序->启用或关闭 Windows 功能 开启 虚拟机平台适用于 Linux 的 Windows 子系统;
2. 略

安装 Xrdp 和 i3wm

  • 安装、配置、启动 xrdp
$ sudo apt install xrdp -y #安装xrdp
$ sudo vim /etc/xrdp/xrdp.ini #将3389端口改为3390端口
$ sudo service xrdp start #启动xrdp服务
 * Starting Remote Desktop Protocol server [ OK ]
  • 测试远程连接

打开mstsc.exe, 输入localhost:3390, 在打开的窗口的窗口中输入用户名密码, 查看是否成功进入。

  • 安装i3
$ sudo apt install i3 -y #安装i3
$ sudo service xrdp stop #关闭xrdp服务
 * Stopping Remote Desktop Protocol server [ OK ]
  • 重启WSL2和进入i3

打开PowerShell, 运行wsl --shutdown重启WSL 2, 在Ubuntu中$ sudo service xrdp start重新打开xrdp服务,还是原来的页面,再次输入用户名和密码后,会进入i3的界面。

实现一键启动

现在已经不错了,但是每次都要先在WSL上开启Xrdp,然后在RDP上连接,输入用户名和密码,太麻烦了,现在来解决这个问题。

  • 配置当前用户执行sudo命令免密码
# 创建配置文件
$ sudo vim /etc/sudoers.d/your_name
# 增加一行内容:your_name ALL=(ALL) NOPASSWD: ALL
  • 创建一键启动脚本
# 创建脚本
$ vim ~/.local/bin/remote.sh

# 内容如下
sudo /etc/init.d/xrdp start
sleep 1    # 强制等待一秒,否则可能出现xrdp启动没完成导致无法连接
mstsc.exe /v:localhost:3390

# 给脚本加上可执行权限
$ chmod +x ~/.local/bin/remote.sh

# 测试
$ ~/.local/bin/remote.sh
  • 配置xrdp保存登录账号密码
# 修改配置文件
$ sudo vim /etc/xrdp/xrdp.ini
# 找到`[Xorg]`配置部分,修改对应的条目
username=your_name
password=your_password

貌似登陆界面没法省略(就是那个OK按钮),不过也就一个回车键的事情。

  • 创建一键启动快捷方式

在桌面上新建一个快捷方式,对象位置内容填写如下内容,最后双击试试。

wsl ~/.local/bin/remote.sh

Comments