Re: Faking a TTY on a pipe/socketpair

Liste des GroupesRevenir à cu programmer 
Sujet : Re: Faking a TTY on a pipe/socketpair
De : 643-408-1753 (at) *nospam* kylheku.com (Kaz Kylheku)
Groupes : comp.unix.programmer
Date : 17. Nov 2024, 18:48:23
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20241117093714.675@kylheku.com>
References : 1
User-Agent : slrn/pre1.0.4-9 (Linux)
On 2024-11-16, Muttley@dastardlyhq.com <Muttley@dastardlyhq.com> wrote:
So my question is - is there a way to set up a pipe or socketpair** so that
it appears to be a tty from the exec'd programs point of view, eg ttyname()
returns non null?
[...]
** Yes I know about the master-slave ptm,pts approach and I have done that in
the past but its complete overkill for this purpose.

No; you need a master/slave pseudo TTY pair connected to an active
process, which forwards between that and the socketpair or pipe.

Sockets and pipes cannot be given window dressing so that they look
like tty's. When the standard input (or output) of a process is a tty,
and that process cares about it, it will likely try operations like
tcgetattr.

Programs that use stdio standard input are affected by whether the
output is a TTY or not because the standard libraries on Unixes call
isatty() to determine whether the input constitutes an "interactive
device" according to ISO C, and hence whether to make the output fully
buffered.

The GNU C Library has a mechanism to override this, driven by
environment variables, and a wrapper utility callet "stdbuf"
which uses the environment variables to tell a child process
what buffering discipline to use for stdin, stdour or stderr.

So for that one small way in which it matters whether the standard
input or output is a TTY, at least one platform has a solution:
you don't have to fake out a TTY to trick a program into stdout
or stderr line buffering.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal
Mastodon: @Kazinator@mstdn.ca

Date Sujet#  Auteur
16 Nov 24 * Faking a TTY on a pipe/socketpair95Muttley
16 Nov 24 +* Re: Faking a TTY on a pipe/socketpair5Kenny McCormack
17 Nov 24 i`* Re: Faking a TTY on a pipe/socketpair4Muttley
17 Nov 24 i +- Re: Faking a TTY on a pipe/socketpair1Wolfgang Agnes
17 Nov 24 i `* Re: Faking a TTY on a pipe/socketpair2Kenny McCormack
17 Nov 24 i  `- Re: Faking a TTY on a pipe/socketpair1Muttley
17 Nov 24 +* Re: Faking a TTY on a pipe/socketpair5Kaz Kylheku
17 Nov 24 i+- Re: Faking a TTY on a pipe/socketpair1Muttley
18 Nov 24 i`* Re: Faking a TTY on a pipe/socketpair3Eric Pozharski
18 Nov 24 i `* Re: Faking a TTY on a pipe/socketpair2Kaz Kylheku
19 Nov 24 i  `- Re: Faking a TTY on a pipe/socketpair1Eric Pozharski
18 Nov 24 +* Re: Faking a TTY on a pipe/socketpair4Janis Papanagnou
18 Nov 24 i+- Re: Faking a TTY on a pipe/socketpair1Muttley
18 Nov 24 i`* Re: Faking a TTY on a pipe/socketpair2Richard Kettlewell
18 Nov 24 i `- Re: Faking a TTY on a pipe/socketpair1Muttley
3 Dec 24 +* Re: Faking a TTY on a pipe/socketpair79Muttley
3 Dec 24 i`* Re: Faking a TTY on a pipe/socketpair78Lawrence D'Oliveiro
4 Dec 24 i +* Re: Faking a TTY on a pipe/socketpair75Muttley
5 Dec 24 i i`* Re: Faking a TTY on a pipe/socketpair74Lawrence D'Oliveiro
5 Dec 24 i i +* Re: Faking a TTY on a pipe/socketpair4Kenny McCormack
5 Dec 24 i i i`* Re: Faking a TTY on a pipe/socketpair3Dan Cross
5 Dec 24 i i i `* Re: Faking a TTY on a pipe/socketpair2Kenny McCormack
5 Dec 24 i i i  `- Re: Faking a TTY on a pipe/socketpair1Muttley
5 Dec 24 i i +- Re: Faking a TTY on a pipe/socketpair1Nicolas George
5 Dec 24 i i `* Re: Faking a TTY on a pipe/socketpair68Muttley
5 Dec 24 i i  `* Re: Faking a TTY on a pipe/socketpair67Lawrence D'Oliveiro
6 Dec 24 i i   +* Re: Faking a TTY on a pipe/socketpair10Muttley
6 Dec 24 i i   i`* Re: Faking a TTY on a pipe/socketpair9Lawrence D'Oliveiro
6 Dec 24 i i   i +- Re: Faking a TTY on a pipe/socketpair1John Ames
7 Dec 24 i i   i `* Re: Faking a TTY on a pipe/socketpair7Muttley
7 Dec 24 i i   i  +* Windows-think and systemd (Was: Something completely unrelated to what we're yapping about now)5Kenny McCormack
7 Dec 24 i i   i  i+* Re: Windows-think and systemd (Was: Something completely unrelated to what we're yapping about now)2Muttley
14 Dec 24 i i   i  ii`- AIX (was Re: Windows-think and systemd)1Janis Papanagnou
8 Dec 24 i i   i  i+- Re: Windows-think and systemd (Was: Something completely unrelated to what we're yapping about now)1Kaz Kylheku
9 Dec 24 i i   i  i`- Re: Windows-think and systemd (Was: Something completely unrelated to what we're yapping about now)1Jim Jackson
9 Dec 24 i i   i  `- Re: Faking a TTY on a pipe/socketpair1Rainer Weikusat
6 Dec 24 i i   +- Re: Faking a TTY on a pipe/socketpair1Rainer Weikusat
9 Dec 24 i i   +* Re: Faking a TTY on a pipe/socketpair53Jim Jackson
10 Dec 24 i i   i+* Re: Faking a TTY on a pipe/socketpair2Lawrence D'Oliveiro
10 Dec 24 i i   ii`- Re: Faking a TTY on a pipe/socketpair1Rainer Weikusat
10 Dec 24 i i   i`* Re: Faking a TTY on a pipe/socketpair50Richard Kettlewell
10 Dec 24 i i   i `* Re: Faking a TTY on a pipe/socketpair49Muttley
10 Dec 24 i i   i  +- Re: Faking a TTY on a pipe/socketpair1Jim Jackson
10 Dec 24 i i   i  `* Re: Faking a TTY on a pipe/socketpair47Lawrence D'Oliveiro
10 Dec 24 i i   i   +- Re: Faking a TTY on a pipe/socketpair1Rainer Weikusat
11 Dec 24 i i   i   `* Re: Faking a TTY on a pipe/socketpair45Muttley
11 Dec 24 i i   i    `* Re: Faking a TTY on a pipe/socketpair44Lawrence D'Oliveiro
11 Dec 24 i i   i     +* Re: Faking a TTY on a pipe/socketpair15Jim Jackson
12 Dec 24 i i   i     i`* Re: Faking a TTY on a pipe/socketpair14Nicolas George
12 Dec 24 i i   i     i +* Re: Faking a TTY on a pipe/socketpair2Alexis
12 Dec 24 i i   i     i i`- Re: Faking a TTY on a pipe/socketpair1Nicolas George
12 Dec 24 i i   i     i +* Re: Faking a TTY on a pipe/socketpair3Lawrence D'Oliveiro
12 Dec 24 i i   i     i i`* Re: Faking a TTY on a pipe/socketpair2Muttley
12 Dec 24 i i   i     i i `- Re: Faking a TTY on a pipe/socketpair1Lawrence D'Oliveiro
13 Dec 24 i i   i     i `* Re: Faking a TTY on a pipe/socketpair8Jim Jackson
13 Dec 24 i i   i     i  `* Re: Faking a TTY on a pipe/socketpair7Lawrence D'Oliveiro
14 Dec 24 i i   i     i   `* Re: Faking a TTY on a pipe/socketpair6Jim Jackson
14 Dec 24 i i   i     i    `* Re: Faking a TTY on a pipe/socketpair5Lawrence D'Oliveiro
17 Dec 24 i i   i     i     `* Re: Faking a TTY on a pipe/socketpair4Jim Jackson
17 Dec 24 i i   i     i      `* Re: Faking a TTY on a pipe/socketpair3Lawrence D'Oliveiro
18 Dec 24 i i   i     i       `* Re: Faking a TTY on a pipe/socketpair2Jim Jackson
18 Dec 24 i i   i     i        `- Re: Faking a TTY on a pipe/socketpair1Jim Jackson
12 Dec 24 i i   i     `* Re: Faking a TTY on a pipe/socketpair28Muttley
12 Dec 24 i i   i      `* Re: Faking a TTY on a pipe/socketpair27Lawrence D'Oliveiro
13 Dec 24 i i   i       +* Re: Faking a TTY on a pipe/socketpair24Muttley
13 Dec 24 i i   i       i`* Re: Faking a TTY on a pipe/socketpair23John Ames
14 Dec 24 i i   i       i +* Re: Faking a TTY on a pipe/socketpair21Lawrence D'Oliveiro
14 Dec 24 i i   i       i i+* Re: Faking a TTY on a pipe/socketpair8Rainer Weikusat
15 Dec 24 i i   i       i ii`* Re: Faking a TTY on a pipe/socketpair7Muttley
15 Dec 24 i i   i       i ii `* Re: Faking a TTY on a pipe/socketpair6Rainer Weikusat
16 Dec 24 i i   i       i ii  `* Re: Faking a TTY on a pipe/socketpair5Muttley
16 Dec 24 i i   i       i ii   `* Re: Faking a TTY on a pipe/socketpair4Lawrence D'Oliveiro
17 Dec 24 i i   i       i ii    +* Re: Faking a TTY on a pipe/socketpair2Muttley
17 Dec 24 i i   i       i ii    i`- Re: Faking a TTY on a pipe/socketpair1Lawrence D'Oliveiro
17 Dec 24 i i   i       i ii    `- Re: Faking a TTY on a pipe/socketpair1Rainer Weikusat
16 Dec 24 i i   i       i i`* Re: Faking a TTY on a pipe/socketpair12John Ames
16 Dec 24 i i   i       i i `* Re: Faking a TTY on a pipe/socketpair11Lawrence D'Oliveiro
16 Dec 24 i i   i       i i  +- Re: Faking a TTY on a pipe/socketpair1John Ames
17 Dec 24 i i   i       i i  +* Re: Faking a TTY on a pipe/socketpair8Jim Jackson
17 Dec 24 i i   i       i i  i+* Re: Faking a TTY on a pipe/socketpair3Lawrence D'Oliveiro
17 Dec 24 i i   i       i i  ii`* Re: Faking a TTY on a pipe/socketpair2Muttley
17 Dec 24 i i   i       i i  ii `- Re: Faking a TTY on a pipe/socketpair1Lawrence D'Oliveiro
17 Dec 24 i i   i       i i  i`* Re: Faking a TTY on a pipe/socketpair4Richard Kettlewell
17 Dec 24 i i   i       i i  i +* Re: Faking a TTY on a pipe/socketpair2Lawrence D'Oliveiro
17 Dec 24 i i   i       i i  i i`- Re: Faking a TTY on a pipe/socketpair1Kenny McCormack
17 Dec 24 i i   i       i i  i `- Re: Faking a TTY on a pipe/socketpair1Rainer Weikusat
17 Dec 24 i i   i       i i  `- Re: Faking a TTY on a pipe/socketpair1Rainer Weikusat
14 Dec 24 i i   i       i `- Re: Faking a TTY on a pipe/socketpair1Muttley
13 Dec 24 i i   i       +- Re: Faking a TTY on a pipe/socketpair1Rainer Weikusat
13 Dec 24 i i   i       `- Re: Faking a TTY on a pipe/socketpair1Jim Jackson
14 Dec 24 i i   +- Re: Faking a TTY on a pipe/socketpair1Muttley
14 Dec 24 i i   `- Re: Faking a TTY on a pipe/socketpair1Lawrence D'Oliveiro
14 Dec 24 i +- Re: Faking a TTY on a pipe/socketpair1Muttley
16 Dec 24 i `- macOS and UNIX conformance (was: Faking a TTY on a pipe/socketpair)1Geoff Clare
3 Dec 24 `- Re: Faking a TTY on a pipe/socketpair1Richard Kettlewell

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal