Hyperkit's go api could not create console on stdio.
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- go
调研方向
首先跟踪 StdioInteractiveConsole 和 ConsoleStdio 的 Go API 路径直到 run(),然后检查 isTerminal(os.Stdout) 条件以及后续的 StdoutPipe() 调用。在 stdio 连接到 TTY 的情况下重现这两种情况,并确认 TTY 情况不再返回错误的错误信息,且 ConsoleStdio 不再报告 "exec: Stdout already set."
由索引模型根据 Issue 内容生成。
描述
Could not create console on stdio with ConsoleStdio or StdioInteractiveConsole
Case 1. StdioInteractiveConsole
If I set the value of Serial.InteractiveConsole to StdioInteractiveConsole to create console on stdio, it return an error:
If StdioInteractiveConsole is set, stdio must be a TTY.
Unlike the description of the error, this error occurs when isTerminal() condition returns true. That is, although stdio is a tty, error occurs.
if isTerminal(os.Stdout) {
return errors.New("If StdioInteractiveConsole is set, stdio must be a TTY")
}
Case 2. ConsoleStdio
If I set the value of Hyperkit.Console (without Serial) field to ConsoleStdio and call run(), an error occurs: exec: Stdout already set.
With stdio console, cmd.Stdout is set to os.Stdout (cmd.Stdout = os.Stdout). But the next line, cmd.StdoutPipe() method is called and the method return error when cmd.Stdout is not nil.
- 主要语言
- C
- 星标
- 3.7k
- 派生
- 336
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
moby/hyperkit 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 35/100
-
难度 5/5 一周以上 新手友好度 15/100
-
难度 4/5 3-5 天 新手友好度 25/100
-
难度 4/5 3-5 天 新手友好度 20/100
-
难度 3/5 1-2 天 新手友好度 38/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 1/5 1 小时以内 新手友好度 90/100
-
难度 2/5 1-3 小时 新手友好度 82/100
NVIDIA/k8s-device-plugin#2061 · 1 条评论 ·
-
task
难度 2/5 1-3 小时 新手友好度 70/100
vsanthanam/JBird#429 ·