====== Clip Studio Assets on Linux (Bottles) — clipstudio:// Scheme Handler ====== This documents a working setup to open **Clip Studio Assets** links (``clipstudio://...``) on Linux when Clip Studio is installed inside **Bottles (Flatpak)**. When you click the **Download** button on assets.clip-studio.com, the browser launches a ``clipstudio://assets.clip-studio.com/materialdownload/...`` URL. This handler forwards the URL into the Bottle so Clip Studio downloads the asset. ---- ===== Requirements ===== * Linux desktop with xdg/gio * Bottles (Flatpak): ``com.usebottles.bottles`` * A Bottle named: **Clip Studio** * Clip Studio installed in that bottle * Programs visible in the bottle (example output): * ``CLIPStudio`` * ``CLIPStudioPaint`` ---- ===== Quick Diagnostics ===== Check your current default handler: xdg-mime query default x-scheme-handler/clipstudio gio mime x-scheme-handler/clipstudio Test a manual open: gio open "clipstudio://test" List Bottles programs: flatpak run --command=bottles-cli com.usebottles.bottles programs -b "Clip Studio" ---- ===== Handler Overview ===== We install: * ``/usr/bin/clipstudio-handler`` (desktop entry target) * ``/usr/bin/clipstudio-worker`` (does the Bottles/Wine forwarding) * ``/usr/share/applications/clipstudio-handler.desktop`` (registers ``x-scheme-handler/clipstudio``) The handler **debounces** rapid clicks and avoids spawning endless Bottles sessions. ---- ===== Packaging as a .deb ===== If you already have working files installed under ``/usr/local``: * ``/usr/local/bin/clipstudio-handler`` * ``/usr/local/bin/clipstudio-worker`` * ``/usr/local/share/applications/clipstudio-handler.desktop`` You can build a Debian package that installs them to proper system locations under ``/usr``. ==== Build Script ==== nano ~/build-clipstudio-handler-deb.sh chmod +x ~/build-clipstudio-handler-deb.sh ~/build-clipstudio-handler-deb.sh (See the build script in the project notes; it copies from /usr/local into a staging tree and runs dpkg-deb.) ==== Install / Remove ==== sudo dpkg -i ~/clipstudio-scheme-handler_1.0.0_all.deb sudo dpkg -r clipstudio-scheme-handler After install/remove, refresh desktop DB if needed: sudo update-desktop-database /usr/share/applications ---- ===== Troubleshooting ===== ==== Handler registered but gio open does nothing ==== Refresh desktop database: sudo update-desktop-database /usr/share/applications gio mime x-scheme-handler/clipstudio ==== Bottles gets stuck / ghost bwrap processes ==== Find and kill stuck runs: pgrep -fa 'bwrap --args .*bottles-cli' || echo "clean" # kill specific PIDs shown: kill kill -9 2>/dev/null || true ==== Clip Studio opens but second click doesn’t ==== This usually indicates the handler is spawning multiple instances or the worker lock is held too long. Verify logs: tail -n 200 ~/.cache/clipstudio/handler.log tail -n 200 ~/.cache/clipstudio/worker.script.log ---- ===== Notes ===== * ``clipstudio://`` URLs contain short-lived login tokens. Avoid pasting them publicly. * The handler should prefer forwarding the URL into the already-running Clip Studio session.