Hacker News new | past | comments | ask | show | jobs | submit login

Something has to launch getty. I launched it from the terminal because I had to run MAME interactively to find out what PTY it created - if I had a hardware serial port with a fixed name, then yeah, I could tell make init run a getty on it at system startup without having to disassociate from an existing controlling terminal.



At the point when you run:

TERM=vt102 LC_ALL=C COLUMNS=80 LINES=24 /bin/sh </dev/pts/10 >/dev/pts/10 2>/dev/pts/10

Can you run this instead?

TERM=vt102 LC_ALL=C COLUMNS=80 LINES=24 /sbin/agetty </dev/pts/10 >/dev/pts/10 2>/dev/pts/10


I don't think that exact command-line would work:

- agetty would inherit the controlling terminal of the shell it launched from, and it doesn't know how to dissociate itself, so it would still need a tool like setsid

- agetty launches login, which needs root permissions, so you'd still need sudo

- agetty/login reset the environment for the new session, so setting those environment variables would have to effect

- not a semantic problem, just a syntactic one, but agetty manages the TTY named on its command line, it doesn't pay attention to its stdin/out/err, so the redirections wouldn't help

Taking all those changes into account, you get the command line from the "no job control" section at the end of the article.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: