Windows Subsystem for Linux(WSL)的终端体验是否有更好的?

Windows Subsystem for Linux(WSL)的终端体验是否有更好的?

Windows Subsystem for Linux (WSL) 的终端相当简单。我很少使用 Windows 上的终端 - 我通常使用 Ubuntu 或 OSX - 但我很惊讶默认终端如此简单。

是否有可能:

  1. 将 Windows 终端程序连接到 WSL 或

  2. 从 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

花了一点时间来弄清楚其他答案中隐含的所有步骤,因此这里是逐步总结:

  1. 在 Windows 上,安装虚拟主机或者西明
  2. 在 Windows 的 Bash 中,安装终端:sudo apt-get install xfce4-terminal
  3. 添加export DISPLAY=:0到您的.bashrc。(将其添加到.profile.bash_profile 对我来说没用)。这将允许您从 bash 正确启动xfce4-terminal,但与下面的命令正交。
  4. 在快捷方式或运行提示中运行以下命令(正如@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

安装完成后运行结果如下:

图片1

图片2

图片3

图4

答案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"

相关内容