Only the current virtual terminal stays running

tldr; how do I allow multiple virtual terminals to run concurrently?

I use my computer for personal and work, so I have a login for work and a login for personal (and a separate admin which is the only administrator account). What I do is log in to both work and personal at the same time. I had been using Control-Alt-F1 to get to the login screen and switch, but I started using Control-Alt-F[N] to go to a specific virtual terminal.

Each of these logins used to stay running independently. For instance, if I was in the work login, the personal one would stay running (for instance, Thunderbird would continue to check for new mail.) Recently only one session at a time would stay running.

The thing I changed that I believe caused this was to start using Xorg instead of Wayland as Firefox tended to hang a Wayland session periodically. This fixed the Firefox problem but now my sessions are not running concurrently.

I have been searching but the search-terms are too generic: “virtual terminal suspends”, etc. just brings up a lot of irrelevant information. I’ve been searching through /etc configuration files to try and find something with no luck. I’m hoping that someone will know what I’m talking about and point me in the right direction.

Thanks in advance.

1 Like

Keep-alive packets?

1 Like

The sessions aren’t disconnecting, they just pause running … sleep? suspend? not sure what it’s called [edit: I think “stopped” i.e. SIGSTOP]. I guess like when you run a long program and hit Control-Z to get a prompt; the background task stops running temporarily. When I switch users, the new user’s processes start up, and all the old user’s processes pause.

I want it to leave all the processes running in the background.

1 Like

Is there a hog process using all the CPU? (Ostensibly at a higher priority.)

First thing I check for on my multiuser systems. Especially when 500+ users “pause” and dozens generate a “Service Now” ticket flagged as an “Incident” and dozens of phone calls.

I imagine process management is somewhat primitive on single-user systems even versus an old 30 year multi-user system. (You can’t just get 500 users to do a control-Y, there have to be “tools”.)

1 Like

Did more searching down the rabbit hole without much luck.

I checked ps -u not_current_user -o pid,stat,command and all the processes are “S” = interruptible sleep, so I guess that means that nothing is sending something to wake them up… Checking ps -u current_user -o pid,stat,command has everything “S” as well except, of course for ps which is “R” = running.

Nonetheless, current_user is running as normal, but not_current_user is stopped. I expected to see a “T” = “stopped by job control signal” for one of the parent processes of not_current_user to formally stop the non-current login.

1 Like