Dav*_*uer 35 command-line windows-subsystem-for-linux
适用于 Linux 的 Windows 子系统 (WSL) 的终端相当小。我没有经常使用 Windows 上的终端——我通常使用 Ubuntu 或 OSX——但我很惊讶默认终端是如此裸露。
是否可以:
将 Windows 终端程序连接到 WSL 或
从 WSL 启动 Ubuntu 终端程序作为 X 窗口?
aik*_*eru 26
我个人选择后者:在多窗口模式下使用 VcXsrv 作为我的 X 服务器,然后启动 xfce4-terminal(因为 gnome-terminal 有视觉问题,我不想尝试学习如何修复),突然我有了具有字体和颜色支持的称职终端。
我发现我需要将这些添加到我的 bashrc 中...
export DISPLAY="localhost:0"
export TERM=xterm-256color
Run Code Online (Sandbox Code Playgroud)
执行从这个reddit的修复为DBUS:
sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf
Run Code Online (Sandbox Code Playgroud)
我还安装了 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);
Run Code Online (Sandbox Code Playgroud)
And*_*Mao 22
花了一些时间才弄清楚其他答案中的所有隐含步骤,所以这里是一步一步的总结:
sudo apt-get install xfce4-terminal.export DISPLAY=:0到您的.bashrc. (将它添加到.profile或.bash_profile 对我不起作用)。这将允许您xfce4-terminal从 bash 正确启动,但与下面的命令正交。在快捷方式或运行提示中运行以下命令(如@OhJeez 在评论中建议的那样):
powershell -windowstyle hidden -Command "iex \"bash ~ -c 'DISPLAY=:0 xfce4-terminal'\" "
Run Code Online (Sandbox Code Playgroud)其他注意事项:
~开始bash你的home目录,你可以删除它在任何目录下的启动.vbs文件中,而不是。因此,将其放入 中很方便C:\Users\foo,例如。Bra*_*ung 13
今天建议您使用微软开源的“Windows终端” 。
正式版本可于今年 6 月中旬从 Windows Store 获取。
但您也可以使用下面的预览版本来体验它。 https://github.com/yanglr/WindowsDevTools/blob/master/awosomeTerminal/WindowsTerminal_SelfSigned_x86_x64_arm64.7z
安装完成后,运行结果如下:
小智 11
我为 Linux 的 Windows 子系统(WSL)创建(并使用)了一个名为wsl-terminal 的开源终端,它基于mintty和wslbridge。
在全新的 Ubuntu 安装中,我刚刚安装了 XMing(在 Windows 中)然后(在 Ubuntu 中)xfce4-terminal,在我之后export DISPLAY=:0,它工作了。
为了摆脱 Windows 的默认控制台,这个 VBS 脚本完成了这项工作:
WScript.CreateObject("WScript.Shell").run "bash -l -c xfce4-terminal", 0, True
Run Code Online (Sandbox Code Playgroud)
(在您的.profile. 中设置了 $DISPLAY 。)
编辑:为了使脚本可以固定,请创建一个带有 target 的快捷方式wscript "C:\path\to\thescript.vbs"。