远程屏幕会话

远程屏幕会话

这让我抓狂:

我想在远程服务器 (GCloud) 中使用 4 个屏幕窗口(在同一会话内)并行处理 4 个主题。

长话短说:

  1. 我首先创建一个独立的会话:
gcloud compute ssh server --command "screen -dmS remoteSession"
  1. 然后我使用以下命令(远程)向该会话添加一个新窗口并启动该过程。最后screen -X other是避免更改当前窗口的屏幕(类似于以分离模式创建窗口)。
gcloud compute ssh server --command "screen -x remoteSession -X screen -t window1 ping google.com; screen -X other"

*在本例中,我添加了 ping 命令,而不是我使用的庞大命令。

问题是,当我在 shell 中键入它时,它会起作用,但在脚本中却不起作用。但是,在本地执行此操作时,它可以在脚本中工作(只需执行不带 的命令gcloud compute blabla)。

远程会话似乎创建得很好。但是执行第二步的时候却只是提示No screen session found

有任何想法吗?

答案1

我已经知道发生了什么:

不知何故,当我创建会话时,它是在 中创建的/run/screen/S-uname,但是当执行第二个命令时,它会在 中查找会话/run/screen/S-root(实际上没有sudo在任何一个调用中使用)。

对我来说,快速的答案是使用 sudo 调用第一个命令,允许它在/run/screen/S-root.

欲了解更多信息,您可以查看这里

干杯!

相关内容