【问题标题】:"Must be connected to a terminal error" with screen -x command on a Linux Container在 Linux 容器上使用 screen -x 命令“必须连接到终端错误”
【发布时间】:2016-09-13 13:24:12
【问题描述】:

我正在使用带有 Proxmox 4 的 Linux 容器。 当我连接到 Ubuntu 16.04 容器时:

pct enter <id>

我运行一个带有屏幕的脚本并尝试观察正在运行的进程:

screen -x <processname>

我得到了错误:

必须连接到终端错误

当我连接时:

ssh -t <user>@<container_ip>

它可以工作,我可以将显示器附加到屏幕上。

当我使用 pct enter 连接时,如何使用 screen -x

【问题讨论】:

  • 不清楚-x 为您提供了什么。你试过screen -t -x .. 吗?祝你好运。
  • screen -x 允许显示使用 screen 命令启动的后台脚本。当我使用命令screen -t -x 时,我得到了同样的错误:必须连接到终端

标签: linux containers gnu-screen proxmox


【解决方案1】:

我找到了适用于相同情况的解决方案(https://www.svennd.be/screen-in-lxc-attach)

执行这个

脚本 /dev/null

然后你可以运行屏幕,等等

【讨论】:

  • 但这并不能解释问题的原因是什么;它只是用一个伪终端绕过它。
  • 什么是?我不明白它如何允许启动屏幕会话?
【解决方案2】:

这主要是因为您必须拥有的原因 切换用户 使用命令sudo su 或用户更改命令给当前终端用户。 您将需要拥有您正在使用的外壳。 你可以通过运行这个来做到这一点: script /dev/null.

或者, 您可以使用 user(在创建屏幕时使用)重新启动终端会话,而不是使用 切换用户命令

要了解活动屏幕: screen -list

【讨论】:

  • 这种解释完全没有意义。 script不是拥有shell的命令,sudo与缺少控制终端无关,因为它不调整控制终端。
【解决方案3】:

或者,您可以在“hohup”中启动会话并发送到后台

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-10
  • 1970-01-01
  • 2018-05-17
  • 1970-01-01
  • 1970-01-01
  • 2015-05-19
  • 2020-11-11
相关资源
最近更新 更多