Linux won't let a downloaded file silently run itself — that's a deliberate security boundary, not a missing feature — so there's one one-time step before double-click works:
~/Downloads.In Desktop Mode → Konsole on the Deck, run this:
curl -sL https://decktube.irishdeveloper.dev/setup.sh | bash
Both options run the exact same script. This downloads DeckTube, installs Node.js if it's missing, installs dependencies, and starts the app. (Worth a quick look at what you're running — the script is at that same URL, plain text, readable in a browser first if you want.)
Same one-time trust step as the installer above (Properties → Permissions → "Is executable"), then double-click any time to update. Or, one line in Konsole:
curl -sL https://decktube.irishdeveloper.dev/update.sh | bash
This pulls the latest code and reinstalls dependencies, but leaves the existing node_modules alone — so unlike the full installer, it's fast (no re-downloading Electron) unless a dependency actually changed.
cd ~/Downloads/decktube
npm start
cd ~/Downloads
unzip decktube.zip -d decktube
cd decktube
SteamOS doesn't ship with Node by default:
node --version
npm --version
If that says "command not found", install a portable Node build below. This avoids touching SteamOS's read-only system partition, which is the safe way to add dev tools here.
cd ~
curl -O https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-x64.tar.xz
tar -xf node-v22.14.0-linux-x64.tar.xz
echo 'export PATH="$HOME/node-v22.14.0-linux-x64/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
node --version
Node releases move on over time — if the curl line 404s, grab the current LTS tarball URL from nodejs.org/en/download and swap it in.
cd ~/Downloads/decktube
npm install
npm start
A window should open loading youtube.com — use the trackpad like a mouse to navigate.
Signing in from inside DeckTube's own window won't work — Google blocks OAuth/sign-in from embedded browsers by policy (confirmed by logs showing a 403 on the very first step). Their guidance is to authenticate via a real browser instead, so DeckTube pulls your session straight out of the Deck's own Firefox automatically — no extension, no manual export:
curl -sL https://decktube.irishdeveloper.dev/import-firefox-session.py | python3
This reads cookies directly from Firefox's own profile on this device — nothing leaves the Deck, and no separate account/extension setup is needed.