MacOS 平台上的应用程序还是比较齐全的,像有些 Linux 软件不提供 Windows 包、有些 Windows 软件不提供 Linux 包,但基本都会提供 MacOS 的包。
不过有时候需要用 PC 来处理一些工作上的事情,需要用的软件不能全都很好地在 Windows 或 Linux 上运行,用 VirtualBox 、VMWare 等虚拟机仍然难以达到像 MacOS 在统一平台上使用所带来的便捷性。
了解到很多人认为 VS Code 的 WSL 扩展功能非常实用,以至于一些人去给 JetBrains提建议让 IDEA 也有类似的 WSL 扩展能力,但显然这个功能短期内不会出现。
我想起 Linux 中的 X 是可以走网络的,所以就像看看能否在 Windows 中跑 X Server 、在 WSL 中跑 X 应用程序,然后实现从 Windows 上直接显示 WSL 中 GUI 程序的界面。
一开始我用了 Xming 来作为 X Server,但后来这个软件要求必须赞助才能下载,所以我换了 Cygwin 里的 xlaunch,这玩意用起来、看起来和 Xming 完全一样(我怀疑哪个才是原版),甚至依靠 Cygwin 背书感觉更靠谱。
基本思路是:
经验证完全可行,显示正常,无卡顿,而且打开的 GUI 界面能很好响应 Windows 中拖拽到左右边填充左右半边和拖拽到上边最大化的手势。
我调好了 xlaunch 的配置、写了启动脚本、配置了快捷方式,能够实现在 Windows 里双击快捷方式直接打开 WSL 里的终端模拟器,以及在终端模拟器里运行任何 GUI 程序都直接在 Windows 里显示。把相关配置和使用方法发到了GitHub上,欢迎提 Issue 和 PR 。
1
bjzhou1990 2020-07-28 14:34:52 +08:00
不光 GUI,声音都可以,wsl 刚出来的时候就玩过了
|
2
Pagliacii 2020-07-28 14:37:26 +08:00
|
3
devcat 2020-07-28 14:38:16 +08:00
wsl 刚出的时候,就可以通过 xming 等来输出 wsl 的 x 信号,但是我当时只跑通了简单的 x 程序,跑类似 xfce 这种 desktopevironment 失败了,最终就没怎么再折腾 wsl 的 gui 了
|
4
libook OP @devcat 其实想想,是不是没必要整个 Desktop 都搞出来,Windows 上的 X Server 有一种模式是无缝的,就是让 X 程序界面像普通 Windows 窗口界面一样和其他 Windows 窗口混在一起用。
|
5
nannanziyu 2020-07-28 15:37:16 +08:00 1
MacOS 平台上的应用程序还是比较齐全的,像有些 Linux 软件不提供 Windows 包、有些 Windows 软件不提供 Linux 包,但基本都会提供 MacOS 的包。
------------------------------------------------------------------------------------------------ ??? |
6
deorth 2020-07-29 03:19:08 +08:00
WSL2 自带图形
|
7
tsdbg 2020-07-31 01:32:14 +08:00
@deorth 自带了么?怎么玩?我前段时间才刚遇到 WSL2 自带神奇 DNS 导致 github 连不上,修改 DNS 导致无法设置 XServer 。
|
8
codehz 2020-07-31 16:41:55 +08:00
xming 还是有 bug 的。。。比如 vscode 那种自绘窗口装饰的,就会在最大化的时候直接全屏
|
9
mrcn 2020-08-01 01:43:48 +08:00 via Android
用 vcxsrv 就行了 然后设置一个 DISPLAY 的环境变量。输入法是个麻烦。
|
10
typetraits 2020-08-01 10:16:23 +08:00
WSL 里面能跑 KDE 吗
|
11
mingl0280 2020-08-01 16:17:04 +08:00 via Android
cygwin 的 xlaunch 不就是 vcxsrv 么……
|
12
ClutchBear 2020-08-18 18:34:01 +08:00
没有合适的输入法
|
13
libook OP @ClutchBear 按照我的方法,因为是用的 Win10 上的 XServer,所以可以使用 Win10 的输入法。
|
14
libook OP |
15
libook OP @typetraits
@devcat 因为我的需求只是想用那些具体的软件(毕竟写代码不依赖特定的 Desktop 环境),只要这些软件最终能兼容 Windows 自己的窗口管理器就好,所以没有考虑再把 Linux 上的 Desktop 环境搞出来。 你们如果有这方面的兴趣可以自己 Hack 一下,发到 V2EX 分享给大家。 |
16
mingl0280 2020-08-19 16:13:42 +08:00 via Android
@libook 还真不是,XMing 之类的老 XServer 有可能打不开窗口,我之前被这个坑过
|
17
libook OP @mingl0280 我以前一直在这个方案上用 XMing,是没问题的,所以估计可能不是 XMing 完全用不了,具体得看看其他配置或环境是否有问题。我换 Cygwin 纯粹是因为 XMing 新版都需要捐助才能下载,从理论上来说,就是需要一个在 Windows 上跑的的 XServer,你只要找到一个可用的软件,成功在 Windows 上运行兼容 WSL 内的 XClient 的 XServer 就行。
|