Ubuntu 是否可以使用批处理脚本在WSL2中启动xfce4?

Ubuntu 是否可以使用批处理脚本在WSL2中启动xfce4?,ubuntu,batch-file,autohotkey,windows-subsystem-for-linux,xfce,Ubuntu,Batch File,Autohotkey,Windows Subsystem For Linux,Xfce,所以我刚刚开始使用自动热键来快捷地完成一些我必须做的事情。其中之一是使Windows+Shift+L成为启动虚拟桌面的快捷方式 一些注意事项: 我使用的是Windows 10 Home(2004版) 我正在使用WSL2 我正在使用Ubuntu 20.04 我正在使用XServer的XLaunch AHK文件如下所示: ; Global hotkeys #+l::Run, C:\Users\conne\WSL\linuxmachine.bat 此文件运行我的批处理文件,该文件是问题的来源 为

所以我刚刚开始使用自动热键来快捷地完成一些我必须做的事情。其中之一是使Windows+Shift+L成为启动虚拟桌面的快捷方式

一些注意事项:

  • 我使用的是Windows 10 Home(2004版)
  • 我正在使用WSL2
  • 我正在使用Ubuntu 20.04
  • 我正在使用XServer的XLaunch
AHK文件如下所示:

; Global hotkeys
#+l::Run, C:\Users\conne\WSL\linuxmachine.bat
此文件运行我的批处理文件,该文件是问题的来源

为了让虚拟桌面运行,我必须运行XLaunch文件来运行XServer,然后(在Ubuntu 20.04中)运行

我已经尝试通过如下所示的批处理文件执行此操作

START C:\Users\conne\WSL\XLaunch.xlaunch

wsl.exe startxfce4
这将很好地启动XServer,但当它必须运行xfce4启动时,我会收到一条错误消息:

/usr/bin/startxfce4: Starting X server

/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server
我猜机器拒绝我运行命令,除非我实际使用Ubuntu,而不是这个方法


如有任何建议,将不胜感激

您无权运行X服务器。要更改此设置,请编辑
/etc/X11/Xwrapper.config
,使其显示:

allowed_users=anybody
needs_root_rights=yes
完成后,您很可能会遇到另一个问题,即找不到屏幕。我不知道您是否注意到了这一点,但如果您在
~/.bashrc
中创建了一个别名,并尝试使用“wsl command”运行它,它将不会接受它,并表示找不到命令。这意味着您需要在执行任何操作之前,使
wsl.exe
也查看
~/.bashrc
文件,因为
显示
配置位于该文件中

我将粘贴从这里找到的解决方案

因此,在这种情况下,它将是

wsl bash -ic startxfce4
执行此操作后,如果在.bashrc文件中正确配置了display,则它应该可以工作。不管怎么说,这对我很有效

wsl bash -ic command
wsl bash -ic startxfce4