Questions tagged [pty]

Pseudoterminals (also spelled “pseudotty” or “PTY”) are pseudo-devices used with ttys whose emulators run in userspace. Use [tag:tty] for broad (text terminal)-related questions, and [tag:console] for terminal devices pertaining to the system console.

Filter by
Sorted by
Tagged with
0
votes
0answers
57 views

PTY Master and File Descriptors

I boot a Linux machine up and I open a virtual terminal (Virtual Console): # tty /dev/tty1 I connect to this machine remotely from another one by using SSH: # tty /dev/pts/0 # lsof /dev/ptmx ...
1
vote
1answer
36 views

How bash sets tty attributes before and after running a command?

Open xterm, run tty and see pseudo terminal slave file (let's say it is /dev/pts/0). Then open another xterm and run $ stty -F /dev/pts/0 speed 38400 baud; line = 0; lnext = <undef>; discard = &...
2
votes
1answer
92 views

What is the difference between IXON and IXOFF tty attributes?

To be specific, let's speak in pseudo-terminal terms. Suppose we have file descriptors master and slave for a pseudo-terminal pair (suppose it is a controlling tty). Disabling IXON on master (or slave,...
0
votes
1answer
43 views

Detect pty buffer capacity

I am using the tty subsystem of Linux to emulate serial ports. The emulated serial ports are used by an application that expects a physical serial port. In my case, the application is running under ...
0
votes
0answers
37 views

Why does changing my home directory in WSL break my PATH but only in the second window in tmux?

A bit ago, I found it necessary to set my home directory to my One Drive in WSL. Thanks to this post I was even able to get my permissions working correctly within WSL (Ubuntu 16.04 LTS). However, ...
0
votes
0answers
21 views

How does gnome-terminal receive information from the pseudo-teletype on X? [duplicate]

I have the following terminal session: [OP@localhost ~]$ tty /dev/pts/2 [OP@localhost ~]$ echo hello > /dev/pts/2 hello My question is how the application gnome-terminal, receives the string "...
0
votes
0answers
53 views

Restricted shell within docker container

Some context for my question: I am working on a pty NodeJS server running in docker where I want to provide users connecting to the shell an isolated environment where they can play around with ...
1
vote
1answer
37 views

Why blocking read() on a pty returns when process on the other end dies?

When slave side of pty is not opened, strace on the process, which does read(master_fd, &byte, 1);, shows this: read(3, So, when nobody is connected to the slave side of pty, read() waits for ...
1
vote
1answer
132 views

How TTY differs from an ordinary file? [duplicate]

I'm trying to understand ssh's -t option: -t Force pseudo-terminal allocation. This can be used to execute arbitrary screen- based programs on a remote machine, which can be ...
0
votes
0answers
30 views

Why does macOS specific terminal shortcuts like Left-arrow + Option work in a remote shell on Ubuntu with a dedicated pty?

Why do macOS specific terminal shortcuts like Left-arrow + Option work in a remote shell on Ubuntu with a dedicated pty? I'm trying to understand why macOS specific terminal shortcuts like Left-arrow ...
2
votes
1answer
107 views

PTY master missing read function

How can terminal emulator read from ptm device while it missing read function? There is a PTY driver: https://github.com/torvalds/linux/blob/master/drivers/tty/pty.c. I see pty_write function, but can'...
2
votes
1answer
224 views

What exactly tty line discipline does with input from pty slave device?

I know that tty line discipline processes special characters (such as ^C, ^? and etc), but it is only about input from pty master device. But what about input from pty slave device? What tty line ...
2
votes
1answer
64 views

Can terminal parameter changes on the slave side be detected on master?

A process (creator) creates a pseudo-terminal master/slave[/dev/pts/1] pair. Another process (consumer) opens /dev/pts/1 and changes the serial terminal parameters with tcsetattr. Is there a way for ...
0
votes
2answers
39 views

less: advertise terminfo through pipe

If I do ls | less, ls detects that it isn't connected to a terminal, which is fair enough. Except that less is connected to a terminal. In this setup, ls could produce the coloured and columnised ...
21
votes
1answer
2k views

What does 'script /dev/null' do?

Every time I log into a VM with root, su into a user account, and try to use screen it throws an error: Cannot open your terminal '/dev/pts/0' - please check. A Stack Overflow post said I needed to ...
1
vote
1answer
748 views

ssh - Disable pseudo-terminal allocation

ssh client option "-T" is Disable pseudo-terminal allocation. If I turn on this option, the remote sshd will not allocate a pty to run remote command. How the output of remote command transfer back ...
0
votes
1answer
389 views

Where does `/dev/pts/ptmx` come from? [duplicate]

On my Archlinux, /dev/pts is mounted by the devpts, so who created the /dev/pts/ptmx device node? What's the purpose of this node? it's the same (Major=5 Minor=2) device node same as /dev/ptmx/, but ...
1
vote
2answers
546 views

How can we find out the pseudoterminal master and slave from each other? [duplicate]

A pseudoterminal has a pair of master and slave. How can we find out the master device file from a slave device file (e.g. /etc/pts/3)? I only find /dev/ptmx and /dev/pts/ptmx, but they can't be ...
2
votes
1answer
804 views

Virtual serial port between docker containers

I can create two linked virtual serial ports on a Linux system with socat, and pretend one end is a serial device, and the other one is some code that uses the device. The socat command would look ...
1
vote
0answers
317 views

PTY allocation request failed on channel 0

My remote vm server's password has expired, i cann't change password. [user@localhost ~]$ ssh root@x.x.x.x root@x.x.x.x's password: PTY allocation request failed on channel 0 WARNING: Your password ...
1
vote
1answer
273 views

read(2) blocking behaviour changes when pts is closed resulting in read() returning error: -1 (EIO)

I'm trying to figure out how I can reliably loop a read on a pt master I have. I open the ptmx, grant and unlock it as per usual: * ptmx stuff */ /* get the master (ptmx) */ int32_t masterfd = open("/...
2
votes
1answer
125 views

Do pty devices have two input buffers?

When terminal devices are in cooked mode, bytes input into terminal is cached and processed by kernel, some bytes are used for line editting and "cosumed", making read return one line a time. But for ...
1
vote
2answers
57 views

Why application does not run from SCREEN without delay?

Suppose we need to run application in screen and keep it running when screen exits. The following command does the job, but only if "sleep 1" is appended to it. Why it does not work without "sleep 1"? ...
-2
votes
1answer
94 views

Can't open a screen on pty freshly created [closed]

I have a program that communicates through a serial protocol uart. I would like to test this protocol using simple terminal emulator running on the same computer. This program opens /dev/tty. I would ...
0
votes
1answer
42 views

Software flow control: why TX is blocked on terminal?

Why terminal cannot send data after ^S was pressed? I have always thought that ^S is used by terminal to tell tty driver that tty driver must not transmit data from application TO terminal (when it is ...
0
votes
0answers
180 views

Why does ssh allocate a tty on server side?

Basically when you run an interactive program on the server you need to use ssh -t instead of ssh. For example: This works: ssh -t user@server top. This doesn't work: ssh user@server top. Question ...
2
votes
1answer
122 views

Are all the slaves paired with the same master?

In bash in lxterminal $ tty /dev/pts/2 $ ls /dev/ptmx -l crw-rw-rw- 1 root tty 5, 2 May 26 09:38 /dev/ptmx On Ubuntu, is there only one master for all the processes, and all the slaves are paired ...
1
vote
2answers
648 views

Do the output of command `tty` and the file `/dev/tty` both refer to the controlling terminal of the current bash process?

From man tty tty - print the file name of the terminal connected to standard input $ tty /dev/pts/2 From APUE: Historically, the name of the controlling terminal in most versions of the UNIX ...
1
vote
2answers
79 views

Does the master device appear just like a standard terminal to the driver program?

From the Linux Programming Interface The key point about a pseudoterminal is that the slave device appears just like a standard terminal. All of the operations that can be applied to a terminal ...
1
vote
1answer
427 views

systemd.service : use pty so force flush of stdout?

I have a service that I want to run under systemd. It is written in perl, where by default output is line buffered if STDOUT is connected to a terminal. (Which seems similar to python) The ...
0
votes
1answer
164 views

Is it possible to use a pseudoterminal to redirect PPP’s dataflow to an application?

I want to set PPP in order to use a pseudoterminal slave (/dev/pts/N) instead of a physical serial link, handle its data flow in an application (from /dev/ptmx) and redirect that flow … somewhere ...
2
votes
0answers
204 views

Opening character device for reading in parallel by multiple processes on Linux

I would like to open a character device e.g. /dev/tty1 by multiple processes in a way that would not interfere reads between them. I noticed that if one process consumes a byte, no other process would ...
0
votes
1answer
243 views

When tmux exits (closes pty master), background processes from startup scripts die — why?

I'm having difficulty understanding an answer I received to a question I posed about tmux — specifically, re: what the pseudoterminal does with child processes when it exits. Original Question I ...
2
votes
1answer
240 views

Running a pseudoterminal inside a pseudoterminal

I'm trying to understand how the programs like screen and script control I/O. My knowledge of terminal, tty etc. comes from reading the 'tty demystified' article, and all the SE answers I could find....
1
vote
1answer
1k views

Why is the ssh utility considered a pty?

I've read here that ssh is considered a pty. Why? If I run an ssh command in my console (say, in a Debian server), where comes the "pty" aspect of ssh here? For me, it's like I'm using any other ...
4
votes
1answer
288 views

BSD-style pseudoterminals vs. UNIX 98 pseudoterminals

Based on what I have read about pseudoterminals in Linux, there are two types of pseudoterminals: BSD-style pseudoterminals (which is deprecated) and UNIX 98 pseudoterminals. I have created two ...
0
votes
1answer
178 views

Find unused pseudoterminal pair in systemd service?

Application for which I'm writing service file expects its STDIN to be connected to the tty, or in other words to be run on the terminal. Systemd has the following settings which do the trick for my ...
2
votes
0answers
579 views

Setting up Linux Bluetooth 4.0 serial port - gatttool/socat?

Bluetooth LE/ 4 is different from traditional Bluetooth serial port profiles and old instructions don't work. Bluetooth LE is basically all user mode, and there are some instructions on accessing LE ...
2
votes
1answer
5k views

socat - UART logging and redirecting

I am currently trying to log all communication from and to /dev/ttyUSB0 and simultaneously be able to connect minicom/screen to the same device for interaction. I tried a couple of tools and ...
2
votes
1answer
432 views

Why changing tty settings on one file descriptor affects another?

ECHO setting is enabled on stdin and stdout by default. But why if we disable ECHO on stdin, it is also disabled on stdout? They have two separate descriptors - 0 and 1, so why they are changed ...
12
votes
1answer
681 views

Why are two ^D presses necessary to exit `cat`? [duplicate]

Let's run cat and then type a then ^D - you will see that cat did not exit. Compare it with cat + a + Enter + ^D - now cat did exit. So, why two ^D presses are necessary to exit cat in the first ...
4
votes
1answer
429 views

Does the process on the slave side of a pty talks to the line discipline or to the slave tty driver?

I have found two contradictory images of how a pseudo terminal (pty) works. The first image shows that the process on the slave side of a pty talks to the line discipline: The second image shows ...
1
vote
2answers
308 views

Why does Fedora have two `ptmx` files?

I know that the file /dev/ptmx is used to generate a master file for a pseudo-terminal. But I have found out that Fedora has another ptmx file (/dev/pts/ptmx): What is the purpose of this second file?...
2
votes
4answers
334 views

Does a virtual terminal have a master end?

When I open a terminal emulator (xterm for example), xterm will have a master end (/dev/ptmx), and a slave end (/dev/pts/#). But what about when I open a virtual terminal (by pressing Ctrl+Alt+F#), ...
2
votes
0answers
809 views

Socat open TCP only when PTY opened

I am trying to link a virtual PTY with a remote device which accepts TCP connections on port 23. The opening and closing of the socket on the target device is a significant event and part of the ...
5
votes
1answer
372 views

How does the Terminal and the Shell exchange data?

In Linux, a Terminal is associated with a Shell. The Terminal send input to the Shell (for example: pwd), and the Shell send the output back to the Terminal (for example: /home/paul). This diagram ...
0
votes
2answers
1k views

/dev/pts/* group writable in permissions but not in reality

Whenether I execute the command ls -lh on /dev/pts I get: crw--w---- 1 usr1 tty 136, 0 Mar 16 16:41 0 Which does seem to allow users that belong to the same group as usr1 to write that into that. ...
7
votes
3answers
9k views

What is the difference between **pts** and **tty** and **:0**?

Please help me to distinguish pts from gui mode generated from tty. booting to multi-user.target I did this: sudo systemctl set-default multi-user.target reboot login with regular user ...
3
votes
1answer
2k views

Is there a way to reptyr a make process or any process with subprocesses?

Consider the following Makefile. all: yes If I run make and suspend using Ctrl-Z, and then start screen or tmux, followed by an attempt to reptyr, I get the following error. $ reptyr 5328 [-] ...
1
vote
1answer
4k views

How to disable requiretty on ubuntu 16.04 [closed]

I"m using packer to create automated linux golden images. When I try and run a script that requires sudo, I get the following error sudo: no tty present and no askpass program specified This error ...