I have a Linux server with services running inside systemd
containers. To access the shell inside a container, I can use the command machinectl login <container>
. That command will give me the container's login prompt and this message:
Connected to container <name>. Press ^] three times within 1s to exit session.
After I'm done and type exit
or logout
, I'm returned to the container's login prompt. In order to get back to the host's shell, I need to send the control character ^]
(three times within one second).
I'm using an international (Finnish) keyboard and instead of having its own dedicated key, the ]
character is ⌥+9. But when I press ctrl+⌥+9, it's not recognized as the control character ^]
and I'm stuck at the login prompt.
How can I send a proper ^]
control character with an international keyboard?
Best Answer
There might be a more direct solution, but here's the one I found.
If you go to
Terminal → Preferences... → Profiles → the profile you're using → Keyboard
you'll get a list of mappings between function keys and special keystrokes.
We want to add the
^]
to this list, so click on +, and choose the key, and optionally modifier, you would like use. (I went with ctrl+F12, and since F12 is also the key for volume up, what I actually need to press is fn+ctrl+F12.)In the text field, we need to enter the correct control character, but the thing is, ctrl+⌥+9 is not recognized here either. The solution is to directly paste in the correct octal code, which happens to be
\035
(you can copy&paste it from here).Now pressing fn+ctrl+F12 sends the proper
^]
control character, and I can get back to the host's shell.