Speaking about Linux and in particular Ubuntu (from 14.04) systems:
Case 1 - As pointed out in this answer, processes that allocate a pseudo-terminal don't need to make a login: for example,
cups. Anyway they are not listed in the
who command output.
Case 2 - If I make a GUI login, the executable
xfce4-terminal, according to the desktop environment) can open a lot of pseudo-terminals, with my user already logged in, and for each opened pseudo-terminal a new line in the
who command output will appear.
1) Both a process and a user can open a terminal, so they must have some common features (because they can act in a similar way) and some differences. From the point of view of the system shell, what is the difference between a user (who obviously needs to login when opens a terminal and is listed in the
who command) and a process (who does not need to login to use a terminal and who is not listed in the
who command)? My doubt is about the fact that a process can open a terminal when he wants and without any check by the system, while a user must always make a login.
2) How can the unique login in the GUI "unlock" all the logins for the pseudo-terminals opened by the terminal emulator? This is not valid if I open
/dev/tty1 through CtrlAltF1.