Tap a single Shortcut tile on your iPhone →
the FaceTime link is e‑mailed to you →ftwatch.pyservice on your Linux laptop
notices, opens the call in Chrome, types your display name, and waits for you.
-
On your iPhone (or iPad), tap the link below:
➕ Add the Shortcut -
If you haven’t enabled third-party shortcuts before, iOS shows
Settings ▸ Shortcuts ▸ Allow Untrusted Shortcuts.
Toggle it on, then return to Safari and tap Add Shortcut again. -
The shortcut now appears in the Shortcuts app, ready on your Home Screen’s Share Sheet.
One tap shares the current FaceTime link to your Gmail inbox (subject
ft),
whereftwatch.pyservice on your Linux laptop will pick it up automatically. Carrying the shortcut to the top of the Share Sheet always helps. Can tweak it to concatanate a passcode to the url to have extra security against CSRF or DDOS especially if the script is used as background service.
- Create Shortcut → Receive Any Input → Share Sheet Types: URLs
- Get Details of URL → unused (keeps URL object)
- Send Email
- Recipient: your own Gmail address
- Subject:
ft(exact, lower‑case, no spaces) - Body: Shortcut Input (the FaceTime link)
- Add to Home Screen (optional)—one tap sends the mail.
| Package | Why | Fedora | Ubuntu / Debian |
|---|---|---|---|
| Python ≥ 3.9 | run the watcher | pre‑installed | sudo apt install python3 |
| google‑chrome‑stable (or chromium) |
FaceTime Web + WebRTC | sudo dnf install google-chrome-stable |
download .deb or sudo apt install chromium-browser |
| xdotool | send Tab *name* Tab Enter keys |
sudo dnf install xdotool |
sudo apt install xdotool |
| systemd‑user | keep script alive across reboots | already included | already included |
Wayland note – the script launches Chrome with
--ozone-platform=x11, so the window is X‑Wayland and xdotool can drive it.
Open ftwatch.py and edit:
EMAIL_ADDR = "you@example.com"
APP_PASSWORD = "xxxx xxxx xxxx xxxx" # 16‑char Gmail app password(Generate an App Password at https://myaccount.google.com/apppasswords if you use 2‑factor auth.)
addService.sh (or install-ftwatch.sh) contains two absolute paths:
PYTHON_BIN="/usr/bin/python3"
FTWATCH_PY="/home/YOU/Documents/main/Projects/FaceTime/ftwatch.py"Make sure FTWATCH_PY matches the real location of the file.
bash addService.sh
systemctl --user status ftwatch.serviceThe watcher now starts automatically at every login and keeps running through suspend/hibernate cycles.
alias ft='nohup python3 "/home/path/to/dir/FaceTime/ftwatch.py" >/dev/null 2>&1 &'ft then starts one detached instance in the current session.
- Remote Desktop portal prompt – Wayland security requires you click “Allow Remote Interaction → Share” each time; cannot be auto‑approved.
- Keystrokes –
xdotoolonly works because Chrome runs under X‑Wayland. - Battery – current loop (0.1 s) ≈ 0.1 % per hour or (0.5 s) ≈ 0.02 % per hour; switch to IMAP IDLE for near‑zero.
- State reset – delete
fturl_state.jsonto re‑process old mails. - Multiple instances – use the systemd service; aliases can spawn duplicates.
Enjoy one‑tap FaceTime migration!