V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zealot0630
V2EX  ›  程序员

必须来吹一波自己移植的 Windows WSL 终端了

  •  3
     
  •   zealot0630 · 2018-12-05 17:16:47 +08:00 · 7851 次点击
    这是一个创建于 2204 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看到隔壁在讨论 Windows 终端,吹一下自己移植的 Term:

    https://github.com/kghost/qterminal

    Linux 下 QTerminal 的移植,对 XTerm 支持比所有 windows 下终端都完善。

    原生 Win32 程序,QT 实现,性能秒杀一群 js 实现( Hyper 之流,越用越卡,放置两天就没法用了)

    完全跳过 CMD.ext/Console.exe ,用 qtermwidget 解析 XTerm 序列,对 linux 的 term 特性支持秒杀 ConEmu

    25 条回复    2019-05-13 13:08:31 +08:00
    beginor
        1
    beginor  
       2018-12-05 18:47:21 +08:00 via Android
    能配置成 vscode 的集成终端么?
    lc1450
        2
    lc1450  
       2018-12-05 19:01:35 +08:00
    要安装 WSL? 还以为是个独立的软件
    ShineSmile
        3
    ShineSmile  
       2018-12-05 19:04:11 +08:00 via Android
    可以用 gitbash 吗
    wsl 不想装
    Cooky
        4
    Cooky  
       2018-12-05 19:07:54 +08:00 via Android
    别吹了,Console.exe 这玩意根本不可能跳过
    winglight2016
        5
    winglight2016  
       2018-12-05 19:11:04 +08:00
    给 lz 头像点赞👍
    zealot0630
        6
    zealot0630  
    OP
       2018-12-05 21:06:18 +08:00
    @Cooky 别把无知当牛逼,WSL 里面创建 pty,master 端走 tcp。通俗讲,就是类似 ssh 的实现。
    huaxianyan
        7
    huaxianyan  
       2018-12-05 22:11:11 +08:00
    为什么打开之后窗口最小,调整大小很容易未响应
    Cooky
        8
    Cooky  
       2018-12-05 23:44:53 +08:00
    @zealot0630 吹了半天就是个 putty,windows 原生终端你做个试试,你能绕过 Console.exe 才是牛逼,无知的小鬼
    aheadlead
        9
    aheadlead  
       2018-12-06 00:02:40 +08:00   ❤️ 1
    @Cooky #8
    https://i.loli.net/2018/12/06/5c07f66e47ce9.jpg
    不知道这也为啥可以打嘴炮……

    绕过 Console.exe 能带来什么价值?
    Cooky
        10
    Cooky  
       2018-12-06 00:05:17 +08:00
    @aheadlead 你问我我问谁,我说句实话就招怼?
    BOYPT
        11
    BOYPT  
       2018-12-06 01:06:05 +08:00
    qt 库看起来有点重量级
    试试 wsltty,基于 mintty 和 wslbridge 的集成,实现原理和楼主的应该一样的。整体安装包 2M。
    congeec
        12
    congeec  
       2018-12-06 01:16:22 +08:00
    @Cooky 能做个类似 putty 的对我来说就够了
    FrankHB
        13
    FrankHB  
       2018-12-06 01:33:53 +08:00
    不走 con 跟 ConEmu 就没什么可比性了。Win32 下可没什么 pty,不走 con 要么就 mintty 之类自己模拟一个,特供 WSL 的这里自然弃疗咯。对同时要开 cmd 窗口又嫌多的有些鸡肋,而且现在还没实现多实例么……( ConEmu 管你是不是终端直接到处 attach 了。)
    geelaw
        14
    geelaw  
       2018-12-06 04:26:18 +08:00 via iPhone
    Console.exe 是啥…你是想说 conhost.exe ?

    不用 conhost 可以自己模拟一个吧,似乎 PowerShell ISE 就是那样的?
    Cooky
        16
    Cooky  
       2018-12-06 07:44:22 +08:00 via Android
    @congeec conhost 总算有个稳定的 API 了?
    hanxiV2EX
        17
    hanxiV2EX  
       2018-12-06 07:59:23 +08:00 via Android
    赞一个,多一个选择了
    jsfaint
        18
    jsfaint  
       2018-12-06 09:41:46 +08:00   ❤️ 2
    @geelaw #11 这货感觉就是杠精附体,你看他发帖子没有一个好好说话的
    jsfaint
        19
    jsfaint  
       2018-12-06 09:42:59 +08:00
    @hanxiV2EX #13 那个 pr 你咋关了,我早上抽出空刚准备看,发现 close 了
    zealot0630
        20
    zealot0630  
    OP
       2018-12-06 10:09:28 +08:00
    @congeec conpty 这玩意就是垃圾,这东西 xterm 序列还是用 conhost 翻译,然后把翻译完的再转换回成 xterm seq 发给你,前几天我还因为这个去喷了微软那个开发者。
    zealot0630
        21
    zealot0630  
    OP
       2018-12-06 10:11:10 +08:00   ❤️ 2
    @aheadlead 很多 xterm 特性 conhost 不支持,只能绕过这东西去搞
    zealot0630
        22
    zealot0630  
    OP
       2018-12-06 10:17:24 +08:00
    @congeec conpty 补充一下,这东西设计出来为了强行支持多后端,WSL,Win32 Console API 都想支持,所有后端先由它翻译成中间通用内部结构,然后这个内部结构再翻译成 XTerm Seq 发给前段。

    用了这玩意,它首先把它不支持的 xterm 特性过滤掉了,然后又强行在两次翻译时候引入一陀又一陀 bug,简直渣到不能更渣。
    ShineSmile
        23
    ShineSmile  
       2018-12-06 17:32:46 +08:00
    仰望楼上大佬们

    希望能给科普一下
    多甩两篇文档也是好的
    hanxiV2EX
        24
    hanxiV2EX  
       2018-12-06 18:35:21 +08:00 via Android
    @jsfaint 😂歪楼了,我看了 leaderf 也只支持搜索最近的目录,我就觉得搜索最远的目录应该只是我个人的需求而已。如果都支持从外面传 root 目录的话就可以由用户决定了。
    enoz
        25
    enoz  
       2019-05-13 13:08:31 +08:00 via Android
    仰望楼上大佬们

    希望能给科普一下
    多甩两篇文档也是好的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5817 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 02:30 · PVG 10:30 · LAX 18:30 · JFK 21:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.