V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
dogye
V2EX  ›  Go 编程语言

使用 go 调用 ssh 命令实现交互式的终端,调整终端的长宽

  •  
  •   dogye · 2020-08-09 11:42:07 +08:00 · 2359 次点击
    这是一个创建于 1327 天前的主题,其中的信息可能已经有所发展或是发生改变。

    调用 linux 自带的 ssh 命令实现交互的访问时,怎么调整长和宽

    4 条回复    2020-08-11 11:36:35 +08:00
    wildlife
        1
    wildlife  
       2020-08-09 15:38:54 +08:00
    var s *ssh.Session
    s.WindowChange(resize.Rows, resize.Cols)
    dogye
        2
    dogye  
    OP
       2020-08-09 16:22:37 +08:00
    @wildlife 不用 session,直接使用 linux 自带的 ssh
    使用 exec.Command,这种有没有办法实现呢
    yuchenyang1994
        3
    yuchenyang1994  
       2020-08-10 14:24:22 +08:00
    我弄过,不太完美

    cmd := exec.Command("ssh", "-t". "xxxx")
    cmd.Stdout = os.Stdout
    cmd.Stdin = os.Stdin
    cmd.Stderr = os.Stderr
    cmd.Run()
    dogye
        4
    dogye  
    OP
       2020-08-11 11:36:35 +08:00
    @yuchenyang1994 恩,我是按照这个实现的,不过 ssh -t 之后分配的 pty 没有办法调整窗口的大小
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1560 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 102ms · UTC 17:00 · PVG 01:00 · LAX 10:00 · JFK 13:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.