Ssh
如何從我的桌面在遠端伺服器上通過 ssh 命令啟動螢幕會話?
我希望能夠通過桌面上的單個 ssh 命令在遠端伺服器上啟動螢幕會話。但是 screen 似乎需要一個終端,通過 ssh 執行命令時該終端不可用。
所以很明顯
ssh root@my.machine screen "tail -f /var/log/messages"
(例如)不起作用,並給出
Must be connected to a terminal.
我希望 ssh 在螢幕下啟動命令,以便稍後登錄並附加到手動啟動的螢幕會話中。
嘗試使用 -t 選項來 ssh
ssh -t root@my.machine screen "tail -f /var/log/messages"
從人 ssh
-t 強制偽 tty 分配。這可以用來執行仲裁 將基於螢幕的程序放在遠端機器上,可以是 非常有用,例如在實現菜單服務時。多個 -t 即使 ssh 沒有本地 tty,選項也會強制分配 tty。
您可以使用:
ssh root@host screen -m -d "tail -f /var/log/messages"
這將啟動一個分離的螢幕,並在其上執行一個命令。
-m causes screen to ignore the $STY environment variable. With "screen -m" creation of a new session is enforced, regardless whether screen is called from within another screen session or not. This flag has a special meaning in connection with the `-d' option: -d -m Start screen in "detached" mode. This creates a new session but doesn't attach to it. This is useful for system startup scripts.