Kemungkinan Duplikat:
Apa perbedaan yang tepat antara 'terminal', 'shell', 'tty' dan 'konsol'?
Saya selalu melihat poin dan tty ketika saya menggunakan who
perintah tapi saya tidak pernah mengerti bagaimana mereka berbeda? Adakah yang bisa menjelaskan ini kepada saya?
Jawaban yang Diterima:
Sebuah tty adalah perangkat terminal asli, backend adalah perangkat keras atau kernel yang diemulasi.
Sebuah pty (perangkat terminal semu) adalah perangkat terminal yang diemulasi oleh program lain (contoh:xterm
, screen
, atau ssh
adalah program tersebut). Sebuah poin adalah bagian budak dari pty .
(Info lebih lanjut dapat ditemukan di man pty
.)
Ringkasan singkat :
Sebuah pty dibuat oleh proses melalui posix_openpt()
(yang biasanya membuka perangkat khusus /dev/ptmx
), dan dibentuk oleh sepasang perangkat karakter dua arah:
-
Bagian master, yang merupakan deskriptor file yang diperoleh melalui proses ini melalui panggilan ini, digunakan untuk mengemulasi terminal. Setelah beberapa inisialisasi, bagian kedua dapat dibuka dengan
unlockpt()
, dan master digunakan untuk menerima atau mengirim karakter ke bagian kedua ini (slave). -
Bagian budak, yang ditambatkan dalam sistem file sebagai
/dev/pts/x
(nama asli dapat diperoleh oleh master melaluiptsname()
) berperilaku seperti perangkat terminal asli (/dev/ttyx
). Dalam kebanyakan kasus, shell dimulai yang menggunakannya sebagai terminal pengendali.