Windows Subsystem for Linux (WSL) 的终端相当简单。我很少使用 Windows 上的终端 - 我通常使用 Ubuntu 或 OSX - 但我很惊讶默认终端如此简单。
是否有可能:
将 Windows 终端程序连接到 WSL 或
从 WSL 以 X 窗口形式启动 Ubuntu 终端程序?
答案1
我个人选择后者:在多窗口模式下使用 VcXsrv 作为我的 X 服务器,然后启动 xfce4-terminal(因为 gnome-terminal 存在视觉问题,我不想尝试学习如何修复它),然后我突然就拥有了一个支持字体和颜色的合格终端。
我发现我需要将这些添加到我的 bashrc 中......
export DISPLAY="localhost:0"
export TERM=xterm-256color
做从这个 reddit 修复对于 dbus:
sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf
我还安装了 compiz,并使用 cbwin 项目从我的 xfce4-terminal shell 运行 Windows 程序。
我对这个设置非常满意,并且使用 NeoVim + 大量原生 Linux 插件,尽管我的“工作”机器必须是 Windows。:)
也可以在 Bash-on-Linux-on-Windows 中启动 SSH 服务器,然后连接到它,例如从 MinTTY 连接到它,就像从 Cygwin 连接到它一样。
PS:为了使启动 xfce4-terminal 变得轻松无痛,并且不需要额外的 bash cmd 窗口,我编写了一个程序,它只使用参数启动 bash 进程,以启动没有控制台窗口的 xfce4-terminal。我在 C# 中执行了此操作 - 基本上使用参数“UseShellExecute”false 和“CreateNoWindow”true。然后我将其固定到我的任务栏,几乎无缝衔接。
编辑:VBScript 的答案非常出色。这是相同的脚本,但是是 JScript 版本...
WScript.CreateObject("WScript.Shell").run('bash.exe -l -c "DISPLAY=:0.0 xfce4-terminal"', 0, false);
答案2
花了一点时间来弄清楚其他答案中隐含的所有步骤,因此这里是逐步总结:
- 在 Windows 上,安装虚拟主机或者西明。
- 在 Windows 的 Bash 中,安装终端:
sudo apt-get install xfce4-terminal
。 - 添加
export DISPLAY=:0
到您的.bashrc
。(将其添加到.profile
或.bash_profile
对我来说没用)。这将允许您从 bash 正确启动xfce4-terminal
,但与下面的命令正交。 在快捷方式或运行提示中运行以下命令(正如@OhJeez 在评论中所建议的那样):
powershell -windowstyle hidden -Command "iex \"bash ~ -c 'DISPLAY=:0 xfce4-terminal'\" "
其他说明:
- 启动
~
于bash
您的主目录,您可以将其删除,改为启动于文件所在的任何目录。例如,.vbs
将其放入 中会比较方便。C:\Users\foo
- 请注意,XMing 必须运行才能使脚本工作;为了在 Windows 中自动启动它,您可以按照本文。
- Emacs 24(包含在 Ubuntu 14.04 中)似乎无法与 XMing 配合使用;我不得不按照这篇文章的建议安装较新的版本。
答案3
今天,建议您使用“Windows 终端”它是由微软开源的。
官方版本将于今年 6 月中旬从 Windows Store 获得。
但您也可以使用下面的预览版本来体验它。 https://github.com/yanglr/WindowsDevTools/blob/master/awosomeTerminal/WindowsTerminal_SelfSigned_x86_x64_arm64.7z
安装完成后运行结果如下:
答案4
在全新安装的 Ubuntu 上,我刚刚安装了 XMing(在 Windows 中),然后(在 Ubuntu 中)安装了 xfce4-terminal,之后export DISPLAY=:0
它就可以正常工作了。
为了摆脱 Windows 的默认控制台,此 VBS 脚本执行下列工作:
WScript.CreateObject("WScript.Shell").run "bash -l -c xfce4-terminal", 0, True
(在您的 . 中设置 $DISPLAY .profile
)
编辑:为了使脚本可固定,请创建一个带有目标的快捷方式wscript "C:\path\to\thescript.vbs"
。