必须来吹一波自己移植的 Windows WSL 终端了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
zealot0630
V2EX    程序员

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

 3  
  •   zealot0630 2018 年 12 月 5 日 8696 次点击
    这是一个创建于 2661 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看到隔壁在讨论 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 月 5 日 via Android
    能配置成 vscode 的集成终端么?
    atx
        2
    atx  
       2018 年 12 月 5 日
    要安装 WSL? 还以为是个独立的软件
    ShineSmile
        3
    ShineSmile  
       2018 年 12 月 5 日 via Android
    可以用 gitbash 吗
    wsl 不想装
    Cooky
        4
    Cooky  
       2018 年 12 月 5 日 via Android
    别吹了,Console.exe 这玩意根本不可能跳过
    winglight2016
        5
    winglight2016  
       2018 年 12 月 5 日
    给 lz 头像点赞
    zealot0630
        6
    zealot0630  
    OP
       2018 年 12 月 5 日
    @Cooky 别把无知当牛逼,WSL 里面创建 pty,master 端走 tcp。通俗讲,就是类似 ssh 的实现。
    huaxianyan
        7
    huaxianyan  
       2018 年 12 月 5 日
    为什么打开之后窗口最小,调整大小很容易未响应
    Cooky
        8
    Cooky  
       2018 年 12 月 5 日
    @zealot0630 吹了半天就是个 putty,windows 原生终端你做个试试,你能绕过 Console.exe 才是牛逼,无知的小鬼
    aheadlead
        9
    aheadlead  
       2018 年 12 月 6 日   1
    @Cooky #8
    https://i.loli.net/2018/12/06/5c07f66e47ce9.jpg
    不知道这也为啥可以打嘴炮……

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

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

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

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

    希望能给科普一下
    多甩两篇文档也是好的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3673 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 10:32 PVG 18:32 LAX 03:32 JFK 06:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86