V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LonnyWong
V2EX  ›  程序员

开源 ssh 客户端:支持自定义主题和颜色,看看你喜欢哪一种?

  •  1
     
  •   LonnyWong · 311 天前 · 6167 次点击
    这是一个创建于 311 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • trzsz ssh ( tssh ) 是个 ssh 客户端,但不是一个终端,而是运行在其他终端的本地 shell 里的 ssh 程序,扩展了 ssh 的功能,协助其他终端提供更好的使用体验,开源地址:https://github.com/trzsz/trzsz-ssh

    • 在开源立项时,我随便写了个主题风格,并没有花太多精力去美化它(想着多人用了再说),而将更多的精力投入到内在美(功能)。现在 GitHub Star 超过 1K 了,是时候打扮的漂漂亮亮的了。

    • 开始选用了 promptui 实现 TUI 界面,后来发现 bubbletea 更强大,更新更积极,但我不想放弃已写的代码,于是就再次魔改 promptui,让它支持 lipgloss,完美解决。

    • 写了三个主题风格,抛砖引玉,我觉得还是不够漂亮,但是我的美术水平有限,期待大家一起来贡献更多漂亮的主题风格,让用户选的“眼花缭乱”。

    • 每个人的审美都不太一样,这里请大家帮忙选出一个最好看的,设为默认值。等以后有人设计出更漂亮的,默认值会根据投票数量进行修改。

    • 主题风格的颜色是可以自定义的,并且与终端的设置有关,除了看我的录屏,最好是自己安装来试试,go install github.com/trzsz/trzsz-ssh/cmd/tssh@main 然后运行 ~/go/bin/tssh

    • 投票链接:https://github.com/trzsz/trzsz-ssh/issues/75

    • 请大家在 V2 讨论,在 issue 里的评论会被我删除,为以后大家贡献的新主题风格预留位置。锁定 issue 好像就不能投票了?

    • tiny 小巧风 https://trzsz.github.io/images/tssh_tiny.gif tiny theme

    • simple 简约风 https://trzsz.github.io/images/tssh_simple.gif simple theme

    • table 表格风 https://trzsz.github.io/images/tssh_table.gif table theme

    65 条回复    2024-11-05 22:04:28 +08:00
    rihkddd
        1
    rihkddd  
       311 天前
    tiny 一票
    LonnyWong
        2
    LonnyWong  
    OP
       311 天前
    @rihkddd 不是 table 比较惊艳吗?
    jeanz
        3
    jeanz  
       311 天前
    tiny +1
    另外两个感觉太空了,信息密度不高
    afutureus
        4
    afutureus  
       311 天前
    tiny + 1
    LonnyWong
        5
    LonnyWong  
    OP
       311 天前 via iPhone
    @rihkddd
    @jeanz
    @afutureus

    不是吧?大家这么一致的审美?

    开始的版本就跟 tiny 差不多,我觉得有一点点密了,就简单搞了个 simple 出来,然后又觉得有一点疏了,就想着中间填充一些细线,搞了个 table 出来。

    这就纠结了,默认哪个呢?我更期待有人一起来设计更好看的主题。
    sjtulyj
        6
    sjtulyj  
       311 天前
    装好 tssh 后没有 trz tsz 命令怎么解决 ?
    shiyuu
        7
    shiyuu  
       311 天前
    我是 MobaXterm+WindTerm
    LonnyWong
        8
    LonnyWong  
    OP
       311 天前
    @sjtulyj 我这次还花了很长的时间重写了文档,在 https://github.com/trzsz/trzsz-ssh 中找 trzsz ( trz / tsz ) 那个中文链接。

    简单说,就是服务器上要安装 trzsz ,建议安装 go 版,开源地址: https://github.com/trzsz/trzsz-go


    <https://github.com/trzsz/trzsz-ssh/blob/main/README.cn.md#%E6%94%AF%E6%8C%81-trzsz>
    LonnyWong
        9
    LonnyWong  
    OP
       311 天前
    @shiyuu #7 试用一下 trzsz-ssh ( tssh ) 可能会发现新大陆?支持在任意有本地 shell 的终端中使用。

    PS:本地 shell 是指正常的,例如原生终端等。不是 xshell 那种阉割的本地 shell 。
    Maysec
        10
    Maysec  
       311 天前
    tiny 很棒!
    weilongs
        11
    weilongs  
       311 天前
    喜欢 tiny , 但是我第一次使用这个。我在配置文件写入好像没变化。不清楚怎么去体验到。
    AmaQuinton
        12
    AmaQuinton  
       311 天前
    windows 安装 tssh ,trz 上传第二个文件时会闪退、上传第一个文件没问题;会偶现鼠标键盘操作无效,过一会儿在任务管理器里面关闭 Terminal 才能解决

    在 intellij idea 里面看日志使用 tssh 很方便,上传文件又换回了 xshell 、xftp 组合
    LonnyWong
        13
    LonnyWong  
    OP
       311 天前
    @weilongs #11 新的功能还没发布,还在 main 分支中。
    你这样安装 go install github.com/trzsz/trzsz-ssh/cmd/tssh@main 然后运行 ~/go/bin/tssh ,就可以体验到了。
    LonnyWong
        14
    LonnyWong  
    OP
       311 天前
    @AmaQuinton 闪退时,有错误输出吗?提个 issue ?

    tssh -v 看看是哪个版本?
    tssh 是直接登录到服务器,还是有经过跳板机?
    有没有 ProxyCommand 之类使用代理?
    weilongs
        15
    weilongs  
       311 天前
    @LonnyWong 哦 我还以为我操作问题。那没事,我就暂时默认主题。等正式版发了再体验主题。tiny 我喜欢,哈哈。
    AmaQuinton
        16
    AmaQuinton  
       311 天前
    @LonnyWong #14 issue 已提交
    LonnyWong
        17
    LonnyWong  
    OP
       311 天前
    @AmaQuinton 感谢反馈。换一个文件也会这样?
    sjtulyj
        18
    sjtulyj  
       311 天前
    @LonnyWong trzsz trzsz-ssh 这些名字也太像了, 根本不知道是同一个软件的不同语言版本还是不同软件
    LonnyWong
        19
    LonnyWong  
    OP
       311 天前
    @sjtulyj #18 先有 trzsz ( trz / tsz ),后有 tssh ,就是支持 trzsz 的 ssh 。

    本地安装 go 版 trzsz 后,trzsz ssh 这样运行也是可以的,是运行的 trzsz 程序,然后调用 ssh 子程序。

    tssh 是自己实现了 ssh 的功能,然后内置了 trzsz 的功能,都是 go 写的,实际上也是将 trzsz 作为一个 package 来依赖的。
    sjtulyj
        20
    sjtulyj  
       311 天前
    @LonnyWong 有没有可能 trz tsz tssh 都放在一个仓库里, 3 个一起装 ?
    nxuu
        21
    nxuu  
       311 天前
    webssh
    sjtulyj
        22
    sjtulyj  
       311 天前
    或者一行命令全装上
    sjtulyj
        23
    sjtulyj  
       311 天前
    或者一行命令 3 个全装上
    LonnyWong
        24
    LonnyWong  
    OP
       311 天前
    @sjtulyj #22 一般来说,是本地安装 tssh ,远程服务器安装 trzsz 就够了。
    LonnyWong
        25
    LonnyWong  
    OP
       311 天前
    @sjtulyj 本地不需要安装 trz tsz ,所以没放在一个包里。
    LonnyWong
        26
    LonnyWong  
    OP
       311 天前
    @nxuu #21 tssh 是用 go 写的,可以编译成 wasm ,然后运行在 web 浏览器里。不过,我还没空去研究,可能还要想办法解决读取 ~/.ssh/config 的问题吧,私钥不能读取,只能手输密码登录?
    sjtulyj
        27
    sjtulyj  
       311 天前
    @LonnyWong 我倒是不介意多装
    LonnyWong
        28
    LonnyWong  
    OP
       311 天前
    @sjtulyj 你可以一行命令安装的,如:

    brew install trzsz-ssh trzsz-go

    scoop install tssh trzsz

    brew 中,tssh 名字被占了,所以用全名,trzsz 被我自己的 python 版 trzsz 占了,所以加个 -go 后缀。其他基本都是 tssh 和 trzzz 这两个名字。
    LonnyWong
        29
    LonnyWong  
    OP
       311 天前
    #28 最后的 trzzz 输入错误,是 trzsz 哈。
    timnottom
        30
    timnottom  
       311 天前
    插楼问一下,能不能在第一次使用 tssh 连接后,自动保存连接信息到~/.ssh/config ?
    LonnyWong
        31
    LonnyWong  
    OP
       311 天前
    @timnottom 你可以在第一次用 tssh --new-host 登录,就会保存到 ~/.ssh/config 中。
    timnottom
        32
    timnottom  
       311 天前
    @LonnyWong #31 比如说,我连接信息有变(例如端口号变了),怎样通过 tssh 更新 config ?

    ps:windows 下,着实不想手动打开 config 文件
    LonnyWong
        33
    LonnyWong  
    OP
       311 天前
    @timnottom 这个现在还不支持哈,或者实现一个 tssh --edit-host 的功能?
    zlhsvc
        34
    zlhsvc  
       311 天前
    tiny +1
    个人感觉简单实用就好,表格的好看是好看,但用起来信息密度不够,而且有的情况下样式会乱
    timnottom
        35
    timnottom  
       311 天前
    @LonnyWong #33 😁我看行,windows 下修改 config 文件要点很多次鼠标,很烦
    LonnyWong
        36
    LonnyWong  
    OP
       311 天前
    @timnottom Windows 也有 vim 和 nvim 的,不过我用起来感觉还是没有 Linux 和 Mac 的舒适,可能是我没花什么时间去配置它吧。
    nuII
        37
    nuII  
       311 天前
    table 的表格框太大了,我个人来说 terminal 界面下信息越聚集越好,其他两个列没对齐是个减分项
    LonnyWong
        38
    LonnyWong  
    OP
       311 天前
    @nuII 好吧,表格对齐不是很好搞,有空时再研究研究。
    rihkddd
        39
    rihkddd  
       311 天前   ❤️ 1
    @LonnyWong #2 打开 tssh 之后,最快能登录上机器就是最好的体验,一般来说大部分手里十几个机器的情况,tiny 提供了比较高的信息密度,在视野中心区域就能放下所有的机器。我觉得配色之类的不是关键,因为这个界面不是需要长时间停留的(反过来说停留时间太长,反倒是说明功能没做好)。
    kneo
        40
    kneo  
       311 天前 via Android
    体验都很糟糕。第一个相对好点。
    主要问题是:过滤的时候,底下的 ssh details 跟着一起上下动,右边的 enter to lock 也在左右动。
    相对来说,是表格还是列表,间距是否紧凑,反而都是次要的。
    broken123
        41
    broken123  
       310 天前
    我用 Warp
    programMrxu
        42
    programMrxu  
       310 天前
    感觉 tiny 比较好
    LonnyWong
        43
    LonnyWong  
    OP
       310 天前
    @broken123 #41 tssh 支持在 warp 中使用的,专门为它写了文档。
    sjtulyj
        44
    sjtulyj  
       310 天前
    放在以前我会用,
    不过现在用 `wezterm ssh` , 冲突了
    LonnyWong
        45
    LonnyWong  
    OP
       310 天前 via iPhone
    @sjtulyj #44 tssh 与 wezterm 冲突?没有吧。
    sjtulyj
        46
    sjtulyj  
       310 天前
    `wezterm ssh` 和 tssh 是竞争关系
    LonnyWong
        47
    LonnyWong  
    OP
       310 天前 via iPhone
    @sjtulyj #46 竞争关系?看来你还是没看懂我本贴的第一句啊。

    wezterm 和 tssh 不是竞争关系,你可以 wezterm tssh 这样用的。tssh 和绝大部分终端都不是竞争关系,是合作关系。

    你如果说 ssh 和 tssh 是竞争关系,那还勉强说的通,但 tssh 也不是要跟 ssh 争,是力求兼容 ssh 的。
    sjtulyj
        48
    sjtulyj  
       310 天前
    @LonnyWong 不知道你有没有用过 wezterm connect, wezterm ssh
    其实就是 ssh 客户端的选择
    lstz
        49
    lstz  
       310 天前
    tiny 更喜欢
    LonnyWong
        50
    LonnyWong  
    OP
       310 天前 via iPhone
    @sjtulyj #48 你把 tssh 重命名为 ssh ,然后放到 /usr/local/bin/ 下,然后用 wezterm connect 看看会不会调起 tssh ? trz tsz 是不是能传文件?

    另外,把 wezterm ssh 中的 ssh 换成 tssh ,即 wezterm tssh 是不是也一切正常,并且支持 trz tsz 传文件?
    yechentide
        51
    yechentide  
       310 天前
    看到 TUI 的部分感觉有点眼熟,果然是 bubbletea 哈哈
    LonnyWong
        52
    LonnyWong  
    OP
       310 天前 via iPhone
    @yechentide tiny 和 simple 是 promptui
    addenvex
        53
    addenvex  
       310 天前
    tiny+1
    hermanarturo
        54
    hermanarturo  
       310 天前
    tiny + 1
    LonnyWong
        55
    LonnyWong  
    OP
       310 天前 via iPhone
    这次更新,除了个提供多种主题可选外,最大的特点就是颜色支持自定义,大家无需再看我乱选的颜色了,可以按自己的喜好来设置。
    sjtulyj
        56
    sjtulyj  
       310 天前
    @LonnyWong fail
    shervy
        57
    shervy  
       310 天前 via iPhone
    terminus
    Achophiark
        58
    Achophiark  
       310 天前 via Android
    tiny 还是顺眼
    sungo
        59
    sungo  
       309 天前 via Android
    遇到过假死的情况,就是上传文件时
    LonnyWong
        60
    LonnyWong  
    OP
       309 天前
    @sungo 能复现不?是否有超时退出了?大约 20 秒。网络可能突然中断了,那是没办法的,有正常超时退出就好。
    Ehco1996
        61
    Ehco1996  
       309 天前
    点个赞 感谢付出
    xycost233
        62
    xycost233  
       309 天前
    tiny + 1
    molezznet
        63
    molezznet  
       22 天前
    10M 确实小巧,有没有可能设置读取当前 exe 程序所在目录 config 和私钥, 想作为 u 盘便携工具带着维护 ……
    LonnyWong
        64
    LonnyWong  
    OP
       22 天前
    @molezznet 可以 -F 指定配置文件,-i 指定私钥文件。
    molezznet
        65
    molezznet  
       22 天前
    @LonnyWong 好使方便,弄成 bat 带着跑。
    readme 里好像真没你说的这个法子
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5464 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:42 · PVG 16:42 · LAX 00:42 · JFK 03:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.