2015-03-08 65 views
0

我有一個pi通過hdmi連接到我的電視。它設置爲在引導時自動登錄到控制檯(而不是x-windows)。爲了控制電視屏幕的輸出,我必須使用連接到我的電視上的鍵盤。如何在ssh會話中劫持tty1的輸入流?

我想能夠通過ssh登錄到pi然後劫持tty1 stdin流,但仍然允許stdout成爲hdmi接口。我怎樣才能做到這一點?

我看着'屏幕',但它看起來像它接管了標準輸入和輸出沒有能力只選擇標準輸入。

[email protected] ~ # uname -a 
Linux nana 3.4.104+ #1 SMP PREEMPT Thu Jan 8 15:40:40 CET 2015 armv7l GNU/Linux 

回答

2

這裏最簡單的事情是打開另一個shell並將其輸出重定向到您的tty1 stdout流中。

script是一個優秀的程序,用於捕獲程序輸出到文件。例如,你可以這樣做:

script -t0 /dev/tty1 bash 

-t參數使得script刷新其緩衝區/dev/tty1每個字符按,而不是每一個換行符。

請注意,這不會控制tty1外殼。相反,它只是將輸出從一個新的shell引入它。

如果您想要在tty1和ssh之間共享一個持久性shell,您可以使用screen/tmux。在你的tty1上,打開一個會話(手動或登錄)。然後,您可以簡單地ssh並附加到它。同時,tty1和ssh都可以控制完全相同的會話。

+0

非常感謝!腳本就是我正在尋找的東西。遇到的麻煩是試圖用sudo來運行它。 su'ed根源和它完美的工作。 – Deanie 2015-03-08 23:57:46