Remote Access to Omarchy (Hyprland on Arch) with wayvnc and Tailscale
Omarchy (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 and Tailscale, you can connect securely from anywhere and even make the experience usable on different resolution devices like a MacBook Pro.
This post walks you through the setup: installing wayvnc and Tailscale, handling resolution toggling for ultrawide monitors, and connecting from macOS.
Step 1: Install wayvnc and Tailscale
On your Omarchy (or Hyprland on Arch) machine:
For Tailscale, the recommended way is to use the Omarchy menu:
Menu: Install → Service → Tailscale
This will handle the installation and setup for you.
For wayvnc, or if you prefer the terminal:
yay -S wayvnc tailscale
Enable and start Tailscale:
sudo systemctl enable --now tailscaled
sudo tailscale up
Tailscale gives you a secure private IP (something like 100.x.y.z) that works anywhere, without opening firewall ports.
Step 2: Find Your Monitor Name and Resolution
On your Omarchy (Hyprland) machine, open a terminal and run:
hyprctl monitors
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.
Step 3: Find Your Client (Mac) Resolution and Customize the Toggle Script
On your Mac, open Terminal and run:
system_profiler SPDisplaysDataType | grep Resolution
This will output something like:
Resolution: 3456 x 2234 Retina
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
.
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):
#!/bin/bash
MONITOR="DP-3"
CURRENT=$(hyprctl monitors | awk -v mon="$MONITOR" '
$2 == mon {getline; print $1}' )
if [[ "$CURRENT" == 5120x1440* ]]; then
echo "Switching to MacBook-friendly resolution (1728x1117@60)..."
hyprctl keyword monitor "$MONITOR,1728x1117@60,0x0,1"
elif [[ "$CURRENT" == 1728x1117* ]]; then
echo "Switching back to Odyssey G9 native resolution (5120x1440@240)..."
hyprctl keyword monitor "$MONITOR,5120x1440@240,0x0,1"
else
echo "Current mode is $CURRENT — defaulting to Odyssey G9 native."
hyprctl keyword monitor "$MONITOR,5120x1440@240,0x0,1"
fi
Make it executable:
chmod +x ~/toggle-resolution.sh
(Optional) Add a Hyprland keybinding in ~/.config/hypr/bindings.conf
:
bindd = SUPER SHIFT, R, Toggle Resolution, exec, ~/toggle-resolution.sh
Now you can switch between ultrawide native and MacBook-friendly resolution with a hotkey or by running the script directly.
Step 4: Connect from macOS
On your Mac:
- Install a VNC client on your Mac (e.g. TigerVNC Viewer or RealVNC Viewer).
- 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.
- Open your VNC viewer and connect to your Omarchy’s IP (e.g. 100.115.92.30:5900).
- If needed, use your toggle script (or hotkey) to adjust the remote resolution for your Mac’s screen.
Conclusion
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.
comments