macOS: run illogicald on a Mac #16
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Run
illogicaldon a Mac, so it can be added to the host list and its tabs reached from the page and the CLI.A cross-check for
aarch64-apple-darwin(2026-10-01, withzig ccas the C compiler) found thatcore,proto,vt(libghostty included) and theillogicalCLI compile;illogicaldhas the errors below.Compile errors
agent/link.rs:pipe2doesn't exist on macOS; usepipeand setFD_CLOEXEC.pane.rswait_for_exit:pidfd_openis Linux-only; use kqueue (EVFILT_PROC/NOTE_EXIT).shim.rs: theTIOCSCTTYioctl request type differs (a cast).sys.rs: systemd notify uses an abstract socket andSOCK_CLOEXEC; compile it on Linux only (it is already a no-op without systemd).Runtime (compiles, but reads
/proc)pidfd,wait_for_exitskips the wait and gives up on the shim's record after a short timeout, so panes can be marked exited while still running, or lose their exit codes. Covered by the kqueue fix.fs(M7).openandlistuse/proc/self/fdto check what was opened; every listing would fail. Usefcntl(F_GETPATH)andfdopendir.pane.rs), the foreground process and theprocessmethod, and the shim's start-time guard read/proc/PID/{cwd,stat,cmdline}. Uselibproc(proc_pidinfo,KERN_PROCARGS2).tailscale.rsonly knows the Linux socket paths. Homebrewtailscaleduses/var/run/tailscale/tailscaled.sock; the Mac GUI app has a different local API. Only matters for direct listeners; behindtailscale serve, identity comes from request headers.Service
illogicald installwrites a launchd LaunchAgent (~/Library/LaunchAgents,RunAtLoad,KeepAlive) and loads it withlaunchctl bootstrap.tailscale serve,hosts add,--allow-origin).CI
Done when
illogicaldbuilds and runs on a Mac and starts at login.illogical --host mac run --wait -- unameprintsDarwin.jhgaylor referenced this issue2026-10-02 01:32:17 +00:00
Done. jake-mini runs illogicald under launchd, behind the Tailscale app's serve, and is in geek's host list. Checked:
illogical --host jake-mini run --wait -- unamefrom geek printsDarwin;fs lslists the Mac's directories, and exit codes reach their panes;just check-macoson Linux, plus a nativemacos-arm64job in check.yml.Restarts keeping panes landed separately in #18.