From here, practical work. Keep the Mac mini awake, link the devices with Tailscale, open a window with Termius, and stretch a net with tmux. Follow each section’s table from top to bottom to complete one remote setup. Most of it uses the Settings app and clicks; only the last few places need the command line. Setting names may vary slightly by version; look for the equivalent item.
§ 00 · The Order of Assembly
There is an order. First, keep the machine awake. You cannot connect to a sleeping machine, so this comes first. Next, put both devices in the same room (Tailscale). Open a window for speaking into that room (SSH and Termius). Finally, stretch a net that survives disconnection (tmux).
The next four sections follow that order. Each has a table, and each row is one step. Follow them from top to bottom. If you read the “why” in the earlier chapters, all that remains is to build that “why” with your hands.
One thing in advance: most of this is done through settings screens and app clicks. The command line, or terminal, is really needed only for tmux near the end. Even there it is just a line or two, with an explanation alongside. Do not fear an unfamiliar command line. One line entered with an understanding of what happens is safer than ten clicks without one.
§ 01 · First—Keep the Mac Mini Awake
You cannot connect to a sleeping machine, so stop sleep first. Good news: this step needs no command line or terminal. Flip a few switches in Settings and install one free app. Follow the table below from top to bottom.
First, remember one distinction. “The display turns off” and “the machine sleeps” are different things. We are preventing the machine from sleeping, not the display from turning off. The display may turn off; that merely saves power, and remote work continues.
| Step | Task | How |
|---|---|---|
| 1 | Open Settings | Click the Apple icon at the top left of the screen and choose “System Settings.” In the window, find “Energy Saver” in the left sidebar. If it is not visible, search for “energy” at the top of the window. (This Mac is a desktop, so the panel is “Energy Saver,” not “Battery.”) |
| 2 | Disable system sleep—the key task today | Enable “Prevent automatic sleeping when the display is off” by clicking the switch so it turns blue. This one setting is the core: with it enabled, the machine stays awake even when the display turns off. Whatever else you skip, turn this switch on. |
| 3 | Enable wake on network access | On the same screen, enable “Wake for network access.” This safeguard wakes the machine automatically when a connection comes from outside, even if it does happen to fall asleep. |
| 4 | Set the display-off delay (optional) | Choose how many minutes before the display turns off in “Lock Screen,” or in the Energy Saver panel, depending on the version. Around thirty minutes is reasonable. Again, turning off the display is separate from system sleep, so set it to your preference. |
| 5 | Install Amphetamine—one more layer | If settings alone feel uncertain, add a safety net. Open the App Store, search for “Amphetamine,” and install it for free. Launch it and a pill-shaped icon appears in the menu bar at the top right. Click it and choose “Keep Awake Indefinitely”; the machine stays awake from that moment. Click again to stop it. Enable “Launch at Login” in preferences and it returns after a reboot caused by a power outage. This is the sleep-prevention device I actually use. |
| + | If you prefer the command line (optional; no need to know it) | The switch above and Amphetamine are enough. Here is an option for those comfortable with the terminal: apply the same settings with pmset (sleep 0 · womp 1), or use caffeinate to prevent sleep only while a particular task runs. Beginners can skip this row without any problem. |
§ 02 · Second—Connect with Tailscale
Put both devices in the same room. The private network Tailscale does that. In three rows, the machines can reach each other.
| Step | Task | How |
|---|---|---|
| 1 | Install and sign in on the Mac mini | Install Tailscale from tailscale.com/download or the App Store and sign in with an account such as Google or GitHub. Once signed in, this machine appears in your private network, or tailnet. |
| 2 | Install and sign in on the iPad | Install Tailscale from the App Store, sign in with the same account, and turn on the switch. ⚠️ Leave Exit Node alone. Enabling it reroutes everyday traffic too, slowing it down. The goal is only to link your devices. |
| 3 | Check the Mac mini’s address | When both devices appear in the same tailnet, note the Mac mini’s address beginning with 100. or its name (….ts.net). You will connect to this address in the next step. It stays the same even when the network changes. |
§ 03 · Third—Open a Window with SSH and Termius
Now for the window into that room. Open the door on the Mac mini and connect from Termius on the iPad. The simplest method uses the Mac’s login password; that is what I use too. Once comfortable, you can switch to keys and connect without a password, but you do not need that at the start.
One distinction in advance: opening the window and being able to commit, push, or pull with git after connecting are separate matters. If git commands fail in Termius, the problem is authentication—GitHub not recognizing you, through a separate SSH key or token—not this window. GitHub authentication is a different subject from remote access and is covered separately, outside this piece. Here we stop at opening the window.
| Step | Task | How |
|---|---|---|
| 1 | Open the door on the Mac mini (Settings app) | Again, no command line needed. Apple icon → “System Settings” → “General” in the left sidebar → “Sharing” on the right. Find “Remote Login” in the list and turn its switch on, blue. This opens the door for outside connections to the machine. Without it, no window can connect. (Click the adjacent “ⓘ” to check the username for connecting.) |
| 2 | Register a host in Termius and connect | iPad Termius → New Host. Address = the Mac mini’s Tailscale address; username = the Mac account name; password = that Mac’s login password. Save and connect, and the Mac mini’s command line opens on the iPad. It is the simplest method, and this machine is connected that way too. |
| 3 | (Optional) Better methods come after the trial run | Termius lets you connect simply with a password. That is enough to start. More advanced access, such as keys, comes afterward. I recommend first building this entire remote setup and giving it one trial run. If you start with advanced settings before confirming the infrastructure actually works, it becomes harder to identify the problem. The order is always: make it run first, then refine it. |
| 4 | If Korean input is swallowed, try the CJK option | If connected but Korean input is swallowed, find and enable the CJK or input-related options in Termius settings. If text is still garbled, adjust the remote machine’s locale too. Error 1 in the later chapter “What Bloggers Do Not Tell You” covers both layers. |
§ 04 · Fourth—Stretch the Net with tmux
The last step: stretch the tmux net between window and work so a dropped connection cannot kill the work. With it in place, the job continues inside the Mac mini even when you enter the subway and lose signal.
| Step | Task | How |
|---|---|---|
| 1 | Install it | If it is missing on the Mac mini, run brew install tmux. If Homebrew (brew) is missing, install it from brew.sh first, then run the same command. Skip this if already installed. |
| 2 | Create a session | tmux new -As name creates a session called “name,” or attaches to it if it already exists. One session per project lets you separate work. One thing to know: however many sessions you create, only one tmux “owner” on the machine supports them all. Normally you need not know this, but when the whole net goes wrong, replace that owner instead of opening another room. Trap 8 in Chapter 04 is exactly that case. |
| 3 | Detach and reattach | To leave a job running, press the prefix, then d (detach). Later, use tmux attach -t name to return to the same place. While detached, the session stays awake and running. |
| 4 | Remove shortcut conflicts | If tmux’s default shortcut (Ctrl-B) conflicts with the AI tool running inside it, add a setting that changes the prefix to Ctrl-A in ~/.tmux.conf in your home folder. Enable mouse scrolling and retain longer logs with one line each in the same file. |
§ 05 · Overview—Everything You Type by Hand
The previous four sections gave the assembly order; this section is an appendix. The following eight entries cover every command typed by hand in this series. Everything else uses screen settings and app clicks. There is no need to memorize them. Return to this table when stuck. To repeat: one line entered with an understanding of what happens is safer than ten clicks without one.
| Command | What it does | When · Where |
|---|---|---|
| brew install tmux | Installs the net (tmux). If Homebrew (brew) is missing, install it from brew.sh first, then run the same command. | Once on the Mac mini. Chapter 03 §04, step 1. |
| tmux new -As name | Creates a session called “name,” or attaches to it if it exists. One per project lets you keep work separate. | First thing each time you connect. Chapter 03 §04, step 2. |
| prefix, then d | Takes your hands off while leaving the session alive (detach). Work continues inside the machine while you are detached. The default prefix is Ctrl-B; if changed using the fifth row below, it is Ctrl-A. | When leaving a job running. Chapter 03 §04, step 3. |
| tmux attach -t name | Reattaches to a detached session. Your previous working position returns unchanged. | After reconnecting. Chapter 03 §04, step 3. |
| One prefix line in ~/.tmux.conf | Move from Ctrl-B to Ctrl-A if tmux’s default shortcut conflicts with an AI tool inside it. Enable mouse scrolling and retain longer logs with one line each in the same file. | Once when shortcuts clash. Chapter 03 §04, step 4 · Chapter 04, trap 2. |
| tmux kill-server | Replaces the net’s owner entirely. This differs from opening a new room (session). There is only one owner on the machine, so this is the remedy when the whole net is sick. Caution: all open sessions close, so check your running work first. | Only when the entire net misbehaves. Chapter 04, traps 3 and 8. |
| pmset · caffeinate | (Optional; no need to know it.) Applies sleep prevention from the command line. Screen settings and Amphetamine are enough; beginners can safely skip this. | Only for those comfortable with the terminal. Chapter 03 §01, last row. |
| /usr/libexec | Not a command, but a location to know. When adding sshd-keygen-wrapper directly to the permissions list, use [Go → Go to Folder] (Command+Shift+G) in the file picker to open this folder, then choose the file inside. | When permissions have reset. Chapter 04, trap 7. |
Read this note at sass.studio.