I have no TTYs?

Hello,

I am running GDM and GNOME. I just realized that when I press Ctrl-Alt+Fx nothing happens. I was expecting to have some text-mode login screens, but no. I am stuck in the GUI.

I logged out and tried the same from the login screen of GDM and still no luck.

Have I somehow disabled text-mode TTYs, or are they maybe non-default or something? What can I do to investigate this?

I think I recall some processes driving the ttys but this is what I currently get on my machine:

[user@host ~]$ ps -ef | grep tty
user     5357    5327  0 16:36 tty2     00:00:00 /usr/lib/gdm-x-session --run-script /usr/bin/gnome-session
user     5359    5357  6 16:36 tty2     00:00:33 /usr/lib/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -novtswitch -verbose 3
user     5384    5357  0 16:36 tty2     00:00:00 /usr/lib/gnome-session-binary
user     9863    9820  0 16:44 pts/0    00:00:00 grep tty
[user@host ~]$ tty
/dev/pts/0

On this laptop, I need to press Fn as well to get to TTY:

Ctrl-Fn-Alt+F3

1 Like

Try the comand line:

sudo chvt 3

2 Likes

Nice to learn about this. I ran it and nothing happened. I truly believe the software is not installed:

$ yay -Qq | grep tty
kitty
kitty-shell-integration
kitty-terminfo

I think I need to install one of these packages. Apparently Arch uses agetty by default. Is this the safest choice for EndeavourOS as well (one requiring least configuration)?

I must say I’m tempted by fbgetty, wonder if it’d be easy to set up.

I’,

That is weird. It is my understanding that tty is part of the coreutils package which is as the name states part of the core utilities and is installed by default.

1 Like

Try

pacman -Ql coreutils | grep tty

Or:

 type tty
1 Like

Are you using a laptop and you need to press an additional key, like Fn?

Can you switch TTYs while in or before GDM?

So, I got:

$ pacman -Ql coreutils | grep tty
coreutils /usr/bin/stty
coreutils /usr/bin/tty
coreutils /usr/share/man/man1/stty.1.gz
coreutils /usr/share/man/man1/tty.1.gz

So this is from gnome terminal:

$ tty
/dev/pts/0

Can you switch TTYs while in or before GDM?

When in GDM I cannot. I have auto-login, so I logged out to get back to GDM and tried Ctrl-Alt-Fx there, but no luck…

Should I disable auto-login and try immediately? I’m not sure it would matter tbh…

I also tried a grep from systemctl, and got:

$ systemctl status | grep tty
           │ ├─system-getty.slice
           │ │ └─getty@tty2.service
           │ │   └─10500 /sbin/agetty -o "-p -- \\u" --noclear - linux
               │ ├─10897 /usr/lib/Xorg vt3 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -novtswitch -verbose 3
                 │ │   └─19236 grep tty

EDIT: Also queried agetty and got the below:

$ yay -Qo /sbin/agetty
/usr/bin/agetty is owned by util-linux 2.38-1

Actually @anon13373109 has something interesting: sudo chvt 3 does throw me to the textual login console!

However, I still cannot switch with Ctrl+Alt+Fx (I log in as root to the terminal and run chvt 2 to go back to my X session).

So this is a keyboard problem? My keyboard is a standard US layout Keychron K1 SE…

I need some application that monitors X events and shows keypresses… Though the key did not work when in the text terminal I managed to get to with chvt 3…

Some more info: I get the same behavior with Wayland.

I also stopped running Barrier which I recon might have been monitoring keystrokes at a “low leve” but it has not made a difference…

Yes, just in cass.

Well, this sucks… Apparently my Keychron does not register the function keys! This only happens in Linux. Is this a driver issue then?

Its firmware allows Fn+X+L for 4 seconds to flip between function-key mode and media-key mode. I tried that and the keyboard flashes (indicating it has flipped), but again the same thing happens: I can’t flip to a text console.

Also, clearly they work as media keys because F10/F11/F12 are mute/volDown/volUp respectively, and they work as such. Pressing Fn+Fx (where Fn is the physical “function” key next to Ctrl/Alt and Fx is any of the function keys at the top) still makes them register as media keys (e.g. Fn+F11 and Fn+F12 do the same as F11/F12 on their own: they change the volume down/up)…

Man this is going to be a pain…

@anon13373109 So using the keyboard checker tool, I found that if I flip the Keychron to Macintosh mode (it has a physical switch) then Fn+Fx registers as a function key. Therefore I can change consoles with Ctrl+Win+Fn+Fx when the Keychron is in Mac keyboard.

So now I’m thinking that I mistakenly picked a Mac keyboard model when installing? Where can I go to change the keyboard type? I generally use it as a Windows keyboard.

There is no such an option as far as I know.

You could try the first reply in this reddit post:

https://www.reddit.com/r/MechanicalKeyboards/comments/d5io49/keychron_k2_f_keys_dont_work_w_linux_help/

or:

1 Like