Skip to content

Instantly share code, notes, and snippets.

@fallwith
Last active December 28, 2023 09:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fallwith/f9b1cd4b9b9618a075e3970c2c619827 to your computer and use it in GitHub Desktop.
Save fallwith/f9b1cd4b9b9618a075e3970c2c619827 to your computer and use it in GitHub Desktop.
Setting up Rclone on Steam Deck to upload screenshots to Dropbox

Setting up Rclone on Steam Deck to upload screenshots to Dropbox

Launch Konsole and install Neovim and Rclone:

NOTE: Neovim is optional and only used here for editing your ~/.bashrc script

mkdir -p ~/bin
mkdir -p ~/scratch
cd ~/scratch

curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
mv nvim.appimage ~/bin/nvim

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
mv rclone-current-linux-amd64/rclone ~/bin

rm -rf ~/scratch

Edit ~/.bashrc and append the following:

alias ll='ls -latr'
alias vi=nvim
export PATH=~/bin:$PATH

Launch Konsole and configure Rclone for use with Dropbox

rclone config
   1. 'n' for New remote
   2. 'dropbox' for name
   3. 'dropbox' for storage type
   4. blank (hit Enter) for client id
   5. blank (hit Enter) for client secret
   6. 'n' (or just hit Enter) to decline advanced config
   7. 'y' (or just hit Enter) for browser based auth
   8. (grant Rclone access via the web browser window that opens)
   9. 'y' (or just hit Enter) to keep this new remote
  10. 'q' to quit config

Launch Konsole and upload Steam screenshots to Dropbox

Prerequisite: Make sure you have a "Game Screenshots" directory in Dropbox

Determine where the screenshots directories are on the Deck:

cd ~/.steam/steam/userdata
fd screenshots

You should be able to locate one or more directories that fit this pattern:

~/.steam/steam/userdata/<STEAM_ID>/<ID>/remote/<GAME_ID>/screenshots

Now use Rclone to upload the screenshots using this command as an example:

rclone copy -P -vv ~/.steam/steam/userdata/1234567890/123/remote/287700/screenshots dropbox:"Game Screenshots/Metal Gear Solid V"

Optionally create a helper shell function to simplify the process

Add the following function to the bottom of ~/.bashrc:

# Usage: screenshots <GAME ID> <GAME NAME>
#   example: screenshots 287700 "Metal Gear Solid V"
function screenshots {
  local gameid=$1
  local gamename=$2
  rclone copy -P -vv ~/.steam/steam/userdata/1234567890/123/remote/$gameid/screenshots dropbox:"Game Screenshots/$gamename"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment