|
| 1 | +--- |
| 2 | +layout: AcrogenesisCom.PostLayout |
| 3 | +title: "Remote Access to Omarchy (Hyprland on Arch) with wayvnc and Tailscale" |
| 4 | +slug: "remote-access-to-omarchy-with-wayvnc-and-tailscale" |
| 5 | +date: "2025-09-16" |
| 6 | +author: acrogenesis |
| 7 | +comments: true |
| 8 | +permalink: /:slug |
| 9 | +--- |
| 10 | + |
| 11 | +[Omarchy](https://omarchy.org) (Hyprland on Arch) is a fast, lightweight tiling Wayland environment—perfect for your main PC setup. But what if you want to access your Omarchy machine while on the go, using your MacBook Pro or another device? With [wayvnc](https://github.com/any1/wayvnc) and [Tailscale](https://tailscale.com/), you can connect securely from anywhere and even make the experience usable on different resolution devices like a MacBook Pro. |
| 12 | + |
| 13 | +This post walks you through the setup: installing WayVNC and Tailscale, handling resolution toggling for ultrawide monitors, and connecting from macOS. |
| 14 | + |
| 15 | +## Step 1: Install WayVNC and Tailscale |
| 16 | + |
| 17 | +On your Omarchy (or Hyprland on Arch) machine: |
| 18 | + |
| 19 | +**For Tailscale, the recommended way is to use the Omarchy menu:** |
| 20 | + |
| 21 | +> **Menu:** Install → Service → Tailscale |
| 22 | +
|
| 23 | +This will handle the installation and setup for you. |
| 24 | + |
| 25 | +**For wayvnc, or if you prefer the terminal:** |
| 26 | + |
| 27 | +```bash |
| 28 | +yay -S wayvnc tailscale |
| 29 | +``` |
| 30 | + |
| 31 | +Enable and start Tailscale: |
| 32 | + |
| 33 | +```bash |
| 34 | +sudo systemctl enable --now tailscaled |
| 35 | +sudo tailscale up |
| 36 | +``` |
| 37 | + |
| 38 | +Tailscale gives you a secure private IP (something like 100.x.y.z) that works anywhere, without opening firewall ports. |
| 39 | + |
| 40 | +## Step 2: Find Your Monitor Name and Resolution |
| 41 | + |
| 42 | +On your Omarchy (Hyprland) machine, open a terminal and run: |
| 43 | + |
| 44 | +```bash |
| 45 | +hyprctl monitors |
| 46 | +``` |
| 47 | + |
| 48 | +This will list all connected monitors, their names (e.g., `DP-3`), and their current resolutions (e.g., `5120x1440@240`). Note your main monitor's name and its native resolution. |
| 49 | + |
| 50 | +## Step 3: Find Your Client (Mac) Resolution and Customize the Toggle Script |
| 51 | + |
| 52 | +On your Mac, open Terminal and run: |
| 53 | + |
| 54 | +```bash |
| 55 | +system_profiler SPDisplaysDataType | grep Resolution |
| 56 | +``` |
| 57 | + |
| 58 | +This will output something like: |
| 59 | + |
| 60 | +```text |
| 61 | +Resolution: 3456 x 2234 Retina |
| 62 | +``` |
| 63 | + |
| 64 | +For Retina displays, divide both numbers by 2 to get the actual pixel resolution. For example, `3456 / 2 = 1728` and `2234 / 2 ≈ 1117`, so use `1728x1117`. |
| 65 | + |
| 66 | +Now, create `~/toggle-resolution.sh` on your Omarchy machine, customizing the monitor name and resolutions for your setup. Here’s my example for a Samsung Odyssey G9 (5120x1440) and a MacBook Pro 16" M1 (1728x1117): |
| 67 | + |
| 68 | +```bash |
| 69 | +#!/bin/bash |
| 70 | +MONITOR="DP-3" |
| 71 | + |
| 72 | +CURRENT=$(hyprctl monitors | awk -v mon="$MONITOR" ' |
| 73 | + $2 == mon {getline; print $1}' ) |
| 74 | + |
| 75 | +if [[ "$CURRENT" == 5120x1440* ]]; then |
| 76 | + echo "Switching to MacBook-friendly resolution (1728x1117@60)..." |
| 77 | + hyprctl keyword monitor "$MONITOR,1728x1117@60,0x0,1" |
| 78 | +elif [[ "$CURRENT" == 1728x1117* ]]; then |
| 79 | + echo "Switching back to Odyssey G9 native resolution (5120x1440@240)..." |
| 80 | + hyprctl keyword monitor "$MONITOR,5120x1440@240,0x0,1" |
| 81 | +else |
| 82 | + echo "Current mode is $CURRENT — defaulting to Odyssey G9 native." |
| 83 | + hyprctl keyword monitor "$MONITOR,5120x1440@240,0x0,1" |
| 84 | +fi |
| 85 | +``` |
| 86 | + |
| 87 | +Make it executable: |
| 88 | + |
| 89 | +```bash |
| 90 | +chmod +x ~/toggle-resolution.sh |
| 91 | +``` |
| 92 | + |
| 93 | +(Optional) Add a Hyprland keybinding in `~/.config/hypr/bindings.conf`: |
| 94 | + |
| 95 | +```ini |
| 96 | +bindd = SUPER SHIFT, R, Toggle Resolution, exec, ~/toggle-resolution.sh |
| 97 | +``` |
| 98 | + |
| 99 | +Now you can switch between ultrawide native and MacBook-friendly resolution with a hotkey or by running the script directly. |
| 100 | + |
| 101 | +## Step 4: Connect from macOS |
| 102 | + |
| 103 | +On your Mac: |
| 104 | + |
| 105 | +1. Install a VNC client on your Mac (e.g. TigerVNC Viewer or RealVNC Viewer). |
| 106 | +2. On your Mac, click the Tailscale icon in the top bar, find your Omarchy machine in the device list, and click it this copies its Tailscale IP address to your clipboard. |
| 107 | +3. Open your VNC viewer and connect to your Omarchy’s IP (e.g. 100.115.92.30:5900). |
| 108 | +4. If needed, use your toggle script (or hotkey) to adjust the remote resolution for your Mac’s screen. |
| 109 | + |
| 110 | +## Conclusion |
| 111 | + |
| 112 | +With Omarchy (Hyprland on Arch), wayvnc, and Tailscale, you can have a secure, practical remote desktop setup. Add a simple resolution toggle script, and you’ll have the flexibility to use an ultrawide monitor at your desk and a laptop-friendly resolution when you connect remotely. |
0 commit comments