#05 What is TTY, PTY and PTS?
#05 What is TTY, PTY and PTS?
- အားလုံးဘဲ မင်္ဂလာပါဗျာ။ ကျွန်တော် ဒီ post လေးမှာတော့
TTYPTYPTSစတဲ့ အကြောင်းအရာလေးတွေကို sharing ပြုလုပ်ပေးချင်ပါတယ်။
What is TTY ?
ttyကို teletypewriter လို့ခေါ်ပါတယ်။ttyနဲ့ptsတွေသည်terminal interfaceတွေ ဖြစ်ကြပါတယ်။ttyသည်physical teletype terminalအမျိုးအစား ဖြစ်ပြီးptsသည်virtual terminal deviceအမျိုးအစား ဖြစ်ပါတယ်။- User သည် command line interface ကိုအသုံးပြုပြီး linux system ကို access ပြုလုပ်တဲ့အခါ terrminal application ဒါမဟုတ် console ကနေတစ်ဆင့် ခိုင်းစေရပါတယ်။
- Terminal သည် Linux system ကို command line ကနေ တစ်ဆင့် ခိုင်းစေနိုင်ဖို့ရန်အတွက် user အား shell program နဲ့ ချိတ်ဆက်နိုင်အောင် လုပ်ဆောင်ပေးတဲ့ နေရာလေးဆိုတာ ကျွန်တော်တို့ သိခဲ့ပြီး ဖြစ်ပါတယ်။
Terminalအနေနဲ့ user အသုံးပြုခွင့်ရှိတဲ့ privileges level နဲ့ shell program ကို ချိတ်ဆက်နိုင် အောင်ttyorptsdevice connection အမျိုးအစား တစ်ခုခု ကို အသုံးပြုပြီး command input/output တွေ ပြုလုပ်နိုင်အောင် လုပ်ဆောင်ပေးမှာ ဖြစ်ပါတယ်။- Linux system ကို pysically direct access ပြုလုပ်ရာမှ အသုံးပြုတဲ့ console environment ဒါမှမဟုတ် terminal app အများစုမှာ
ttydevice connection အမျိုးအစားကို အသုံးပြုပါတယ်။ -
ptsdevice connection အမျိုးအစားကိုတော့ linux system ကို physically direct access ပြုလုပ်တာမျိုးမဟုတ်တဲ့ network ပေါ် ကနေ shell access ကို remote management ရယူတဲ့ နေရာမျိုးတွေမှာ အသုံးပြုပါတယ်။ ttyနဲ့ptsတို့သည် device အမျိုးအစားထဲတွင် ပါဝင်တဲ့အတွက်ကြောင့်/dev/directory အောက်မှာ character special file အနေနဲ့ ရှိမှာ ဖြစ်ပါတယ်။filecommand ကိုအသုံးပြုပြီး file type အမျိုးအစားကို စစ်ကြည့်လို့ရပါတယ်။
Using Console Interface
Console interfaceသည်ttydevice connection ကို အသုံးပြုတဲ့ terminal အမျိုးအစား ဖြစ်ပါတယ်။- Console မှာ user ရိုက်လိုက်တဲ့ command or text input/output တွေ သည်
ttydevice connection တွေကို အသုံးပြုပြီး shell program ဆီကို သွားတာ ဖြစ်ပါတယ်။ ttydevice connection တွေမှာလည်း unique id တွေရှိပါတယ်။ttycommand ကို အသုံးပြုပြီး ကိုယ့်လက်ရှိအသုံးပြုနေတဲ့ttyid number ကို စစ်ကြည့်နိုင်ပါတယ်။ (ဥပမာ -/dev/tty1,/dev/tty2,/dev/tty3)
Ctrl+Alt+F1toCtrl+Alt+F6ကို နှိပ်ပြီး console environment မှာttydevice connection id အမျိုးမျိုးကို ပြောင်းလဲ အသုံးပြုနိုင်ပါတယ်။- Linux Server အများစုသည် console environment တွေဖြစ်ကြပါတယ်။ လိုအပ်မှသာ GUI Environment ကို ထည့်သွင်း installed ပြုလုပ်ကြတာဖြစ်ပါတယ်။
Understanding About PTY and PTS
PTYကို Pseudo-Terminal Master-Slave Pair လို့ ခေါ်ပါတယ်။PTYPseudo Terminal သည် physical terminal device ဖြစ်တဲ့ttyရဲ့ အလုပ်လုပ်ပုံကို တုပ ပြုလုပ်ထားတဲ့ virtual terminal device အမျိုးအစား ဖြစ်ပါတယ်။PTSကိုတော့ Pseudo-Terminal Slave လို့ ခေါ်ပါတယ်။
- သူတို့ကို software-based terminal session ဒါမဟုတ် ssh လိုမျိုး remote management terminal session တွေမှာ အသုံးပြုကြတာ ဖြစ်ပါတယ်။
-
နောက်ပြီး GNONE Desktop Environment မှာပါဝင်တဲ့ Terminal Emulator တွေသည်လည်း PTY-PTS device pair ကို အသုံးပြုပြီး shell နဲ့ ချိတ်ဆက် တာ ဖြစ်ပါတယ်။

- အပေါ်က example မှာဆိုရင် client computer တစ်လုံးကနေ ssh protocol ကို အသုံးပြုပြီး network ပေါ်ကနေ remote server မှာရှိတဲ့ user ရဲ့ shell access ရယူတာ ဖြစ်ပါတယ်။
- server side မှာ ကြည့်မယ်ဆိုရင် ssh daemon သည် ssh client ဆီကလာတဲ့ command input/ouput data တွေကို master end device ဖြစ်တဲ့
PTYPsedu-Terminal ဆီကို ပေးပို့ပေးတာ ဖြစ်ပါတယ်။ PTYPTSdevice pair သည် အတူတကွ လုပ်ဆောင်တာ ဖြစ်တဲ့အတွက်ကြောင့်PTYpseudo terminal ဆီကို ရောက်ရှိလာတဲ့ command input/output data သည်PTSPseudo-Terminal Slave device ဆီကို ရောက်ရှိမှာ ဖြစ်ပါတယ်။- နောက်ဆုံးမှာ
PTSdevice မှ တစ်ဆင့် user ရဲ့ shell program ဆီကို command input/output data တွေ ရောက်ရှိသွားမှာ ဖြစ်ပါတယ်။
-
အထပ်ပါ example ကို ကြည့်မယ်ဆိုရင် user -
sysadminရဲ့ shell နဲ့ ချိတ်ဆက်ထားတဲ့ptsdevice connection (4) ခု ရှိတာ တွေ့ရမှာ ဖြစ်ပါတယ်။ (/dev/pts/0/dev/pts/1/dev/pts/2/dev/pts/3) - နောက်ထပ် နည်းလမ်းတွေကတော့
whoorwcommand ကို အသုံးပြုပြီး ကိုယ့် linux server ကို connect ပြုလုပ်ထားတဲ့shell sessionsတွေ ဒါမှမဟုတ်ttyorptsdevice connection တွေကို စစ်ကြည့်နိုင်ပါတယ်။ - အခု လောက်ဆိုရင်
terminalနဲ့shellprogram ကြားမှာttyorptsdevice connection တွေကို အသုံးပြုပြီး ချိတ်ဆက်လုပ်ဆောင် ပုံတွေကို နားလည် လောက်ပြီလို့ ထင်ပါတယ်။
This post is licensed under
CC BY 4.0
by the author.






