デスクトップの単一のsshコマンドからリモートサーバーでスクリーンセッションを起動できるようにしたい。ただし、画面には端末が必要なようです。端末は、sshを介してコマンドを実行するときに使用できません。 だから明らか ssh root@my.machine screen "tail -f /var/log/messages" (例として)動作せず、与える Must be connected to a terminal. 後でログインして、手動で起動した画面セッションに接続できるように、sshが画面の下でコマンドを起動するようにします。
これは機能するコマンドです: $ echo 'hi there' | docker run -i ubuntu cat hi there これは、エラーメッセージで応答するコマンドです。 $ echo 'hi there' | docker run -it ubuntu cat the input device is not a TTY ここで何が起こるかを正確に把握したいと思います。「-tを削除すると修正されます」だけではありません。 私docker runの-tオプションは「擬似TTYを割り当てる」の略であり、TTYの略の歴史的な概要を読んだことがありますが、ここではどのような契約に違反しているかを理解する助けにはなりませんでした。