web-dev-qa-db-ja.com

ssh、screen、コマンドを実行し、一度にデタッチしますか?

サーバーを起動するのが好きです(基本的にはjupiter-notebook)SSH内の画面セッションで、SSHを実行させてから、すぐにデタッチします。一つずつそれをする:

ssh USER@Host
screen -d -m /home/USER/anaconda3/bin/jupyter-notebook --ip Host --port 8889 --no-browser

次に、画面から切り離し、最後にSSHから切断します。次に、サーバーを使用します。この場合、すべてが機能します。画面が実行されていることもわかります

ssh -t USER@Host screen -ls

さて、前者を一度に行うにはどうすればよいですか?

ssh -t USER@Host "screen -d -m /home/USER/anaconda3/bin/jupyter-notebook --ip Host --port 8889 --no-browser"

動作しません。私は何が間違っているのですか?

ありがとう

1
xaratustra

あなたはかなり近いですが、画面を起動するのにTTYは必要ありません-それはそれ自身のPTYを作成します。ただし、次のように、sshセッションをバックグラウンドに配置して、画面プロセスの実行を継続できるようにする必要があります。

ssh -f USER@Host 'screen -dm command'

名前を付けると、実行中の画面セッションに対して実行できるその他のことについて、 この回答 も表示される場合があります。

1
crimson-egret