我希望能够通过桌面上的单个 ssh 命令在远程服务器上启动屏幕会话。但是 screen 似乎需要一个终端,通过 ssh 运行命令时该终端不可用。
所以很明显
ssh [email protected] screen "tail -f /var/log/messages"
(例如)不起作用,并给出
Must be connected to a terminal.
我希望 ssh 在屏幕下启动命令,以便稍后登录并附加到手动启动的屏幕会话中。
我希望能够通过桌面上的单个 ssh 命令在远程服务器上启动屏幕会话。但是 screen 似乎需要一个终端,通过 ssh 运行命令时该终端不可用。
所以很明显
ssh [email protected] screen "tail -f /var/log/messages"
(例如)不起作用,并给出
Must be connected to a terminal.
我希望 ssh 在屏幕下启动命令,以便稍后登录并附加到手动启动的屏幕会话中。
尝试使用 -t 选项来 ssh
从人 ssh
您可以使用:
这将启动一个分离的屏幕,并在其上运行一个命令。
迟到的答案,但这就是我所做的,我做了一个别名(让我们称之为 t)来做到这一点:
这告诉
ssh
禁用代理和 X11 转发,并告诉screen
附加到正在运行的会话,如果需要,启动一个新会话,^Z
用作 breakout 命令,使用 UTF-8 并对终端保持智能。所有这一切意味着我可以打开一个终端,输入
t
它会在 $MYSERVER 上打开我的屏幕会话。然后我可以打开另一个终端,做同样的事情,然后我会在同一个会话中打开另一个窗口。在同一个屏幕会话中拥有多个终端窗口真的很棒,这样您就可以同时查看两个屏幕选项卡。
通过将以下内容放在我服务器上的 ~/.bashrc 文件中,它会在我第一次登录服务器时启动屏幕会话,或者如果一个已经在运行,则将我重新连接到该会话。
我觉得这很方便: