Terminal
如何在不使用螢幕的情況下在 tty 之間切換?
因此,假設您將 Linux 安裝一直引導到桌面。你啟動了一個 gnome-terminal/konsole/whatever,這樣你就有了一個可以輸入命令的 tty。
現在假設我通過 SSH 連接到同一台機器。它會將我綁定到另一個 tty 以輸入命令。
現在假設我想將我的 tty 從我原來的 SSH 一個“切換”到之前開始的 gnome-terminal 一個。
基本上我在問是否有任何方法可以做同樣的事情
screen -x
但沒有螢幕?我知道您可以通過將某些內容回顯到 /dev 文件中輕鬆地將輸出發送到另一個 tty,但我不知道如何“查看”tty 中的內容。
有任何想法嗎?
也許這些模式可以澄清情況。這是通常的設置:
Terminal (/dev/ttyX or /dev/pts/x) device | (screen)<--[<output]----x-------(stdout) Process1 Terminal (keyboard)---[input >]---o-\----->(stdin) \ \ (hardware console or \ `----(stdout) Process2 virtual console or terminal `---->(stdin) emulators like xterm, …)
並且沒有辦法
Process3
像這樣插入一些新的:Terminal device | (screen)<---o---[<output]--x------(stdout) Process1 Terminal (keyboard)---/-x--[input >]-o-\---->(stdin) | / \ \ | | \ `---(stdout) Process2 | | `--->(stdin) | | \ `---------------------(stdout) Process3 `--------------------->(stdin)
screen(和其他人)所做的是分配一些偽終端設備(如 xterm 所做的)並將其重定向到一個或多個“真實”終端(物理、虛擬或模擬):
Terminal pseudo devices ,--> Terminal (/dev/pts/x) | _______/ device Terminal <--[<output]--- | | | 1 ---[input >]--> |screen | <--[<output]---x-----(stdout) Process1 |Process| ---[input >]--o-\--->(stdin) Terminal <--[<output]--- | | \ \ 2 ---[input >]--> |_______| \ `--(stdout) Process2 `-->(stdin)
使用
screen -x
您可以將另一個終端 xterm 或其他任何(例如Terminal 3
)附加到螢幕會話。所以不,您不能直接通過標準輸入/標準輸出與連接到不同終端的程序進行通信。如果它恰好是一個偽終端,並且如果這個過程被設想這樣做(就像螢幕一樣),你只能通過控制這個終端的過程來做到這一點。