S∆SS.

S∆SS Studio Notes · Remote · Nº 03

Remote — 03 Setting It Up

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.

FOLLOW ALONG · DISABLE SLEEP
StepTaskHow
1Open SettingsClick 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.”)
2Disable system sleep—the key task todayEnable “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.
3Enable wake on network accessOn 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.
4Set 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.
5Install Amphetamine—one more layerIf 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.

FOLLOW ALONG · TAILSCALE IN 3 STEPS
StepTaskHow
1Install and sign in on the Mac miniInstall 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.
2Install and sign in on the iPadInstall 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.
3Check the Mac mini’s addressWhen 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.

FOLLOW ALONG · OPEN THE WINDOW IN 4 STEPS
StepTaskHow
1Open 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.)
2Register a host in Termius and connectiPad 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 runTermius 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.
4If Korean input is swallowed, try the CJK optionIf 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.

FOLLOW ALONG · TMUX IN 4 STEPS
StepTaskHow
1Install itIf 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.
2Create a sessiontmux 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.
3Detach and reattachTo 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.
4Remove shortcut conflictsIf 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 OVERVIEW · WHAT · WHEN
CommandWhat it doesWhen · Where
brew install tmuxInstalls 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 nameCreates 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 dTakes 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 nameReattaches to a detached session. Your previous working position returns unchanged.After reconnecting. Chapter 03 §04, step 3.
One prefix line in ~/.tmux.confMove 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-serverReplaces 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/libexecNot 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.