शायद ये स्कीमा स्थिति को स्पष्ट कर सकते हैं। यह सामान्य सेटिंग है:
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)
स्क्रीन (और अन्य) क्या करता है कुछ छद्म टर्मिनल डिवाइस आवंटित कर रहा है (जैसे 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
आप Terminal 3
स्क्रीन सत्र के लिए एक और टर्मिनल, xterm, जो भी (कहते हैं ) संलग्न कर सकते हैं ।
तो नहीं, आप एक अलग टर्मिनल से जुड़ी प्रक्रियाओं के साथ सीधे stdin / stdout के माध्यम से संवाद नहीं कर सकते। आप केवल इस प्रक्रिया के माध्यम से ऐसा कर सकते हैं जो इस टर्मिनल को नियंत्रित कर रहा है यदि यह एक छद्म टर्मिनल होता है, और यदि इस प्रक्रिया को ऐसा करने के लिए संक्षिप्त किया गया था (जैसे स्क्रीन है)।