开始屏幕在带有 SSH 的流浪框中分离,如何



我卡住了:

我有一个带有服务器的 Vagrant 盒子,当我使用 vagrant ssh 登录并启动我的脚本以在分离的屏幕会话中启动服务器时,可以:

vagrant ssh
screen -d -m -S sesionServer bash run_server.sh

我可以看到我的屏幕会话与屏幕列表处于活动状态,并且服务器运行正常。

但是我需要在一个命令中启动所有这些,IM试图执行:

vagrant ssh -c 'screen -d -m -L -S test1 bash run_server.sh'

但我只有一个"与 127.0.0.1 的连接关闭。

如何使用流浪的 ssh 执行屏幕命令?

我相信

这是同一个问题?

TL;DR vagrant ssh 不会将 pty 分配给 ssh 会话。在屏幕命令之前使用vagrant ssh -- -t前缀。

您也可以在Vagrantfile中设置:

VAGRANTFILE_API_VERSION = "2">

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    # Needed in order to run screen
    # https://www.vagrantup.com/docs/vagrantfile/ssh_settings.html
    # http://stackoverflow.com/questions/27545745/start-screen-detached-in-a-vagrant-box-with-ssh-how
    config.ssh.pty = true

最新更新