MSL Wiki
MSL on GitHub

The Terminal tab

A full terminal inside the window, with a real Linux login shell in it.

Chapter 5 of 201 min read
On this page 5 sections

The Terminal tab is a complete terminal with a real Linux shell in it — job control, colours, line editing and full-screen programs like vim and htop all work, because it's a real terminal talking to a real shell.

Opening a shell#

Just open the tab. It connects straight away, starting the instance if it isn't running — or click Terminal in the header from any tab.

If the instance can't start (every running slot is taken, say), the reason is printed right there in the terminal, where you're already looking.

Appearance#

The terminal uses the system's monospaced font and follows light and dark mode with the rest of MSL, rather than being a black rectangle in a light window.

The toolbar buttons#

While the Terminal tab is showing, two buttons appear in the window's toolbar:

  • End Session — closes the shell. It sends the same hang-up signal a terminal window sends when you close it, so programs inside wind down the way they normally would.
  • Open in Terminal — opens another shell on the same instance in Terminal.app. See Using Terminal.app.

When the session ends#

Type exit, or end the session, and a panel appears over the terminal: "Session ended" (or "Session ended (exit n)" if it ended with an error), and a Reconnect button. The scrollback stays visible behind it, so anything printed on the way out is still readable.

Sessions keep running#

Each instance has its own terminal session, kept alive in the background. Switch tabs, switch instances, come back — the shell is exactly where you left it, scrollback and all. Removing an instance ends its session.