Skip to content

Instantly share code, notes, and snippets.

@iago-pssjd
Created May 17, 2022 10:44
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 iago-pssjd/725883234921c69472514bf024d70282 to your computer and use it in GitHub Desktop.
Save iago-pssjd/725883234921c69472514bf024d70282 to your computer and use it in GitHub Desktop.
Install zotero in a debian/linux system. It assumes each version is installed in /opt/zotero (so that this folder exists previously)
#! /bin/bash
tmp="/tmp/zotero"
platform="linux-$(uname -m)"
mkdir -p $tmp
version=$(echo "https://www.zotero.org/download/" |
wget -O- -i- -q |
grep -w ".*ZoteroWebComponents.Downloads.*" |
grep -o "\"$platform\":\".*\"" |
grep -o -E "[0-9]+\.[0-9]+\.[0-9]+")
v0=$(echo $version | grep -o -E "^[0-9]+")
url="https://download.zotero.org/client/release/$version/Zotero-${version}_$platform.tar.bz2"
wget -q -N -P "$tmp" $url
tar xf "$tmp/Zotero-${version}_$platform.tar.bz2" -C "$tmp/"
folder=$(ls "$tmp" | grep -v "\.tar\.bz2")
mv -f "$tmp/$folder" "$tmp/zotero$v0"
sfolder="$tmp/zotero$v0"
tfolder="/opt/zotero"
ofolder="/opt/zotero/zotero$v0"
if [ -d "$ofolder" ]; then
su -c "rm -r $ofolder; mv -f $sfolder $tfolder" -m "root"
else
su -c "mv -f $sfolder $tfolder" -m "root"
fi
source "$tfolder/zotero$v0/set_launcher_icon"
ln -f "$tfolder/zotero$v0/zotero.desktop" "$HOME/.local/share/applications/zotero$v0.desktop"
sed -i "s/Name=Zotero/Name=Zotero$v0/g" $HOME/.local/share/applications/zotero$v0.desktop
sed -i "s|Exec=.*|Exec = bash -c \"/opt/zotero/zotero$v0/zotero -url %U\"|g" $HOME/.local/share/applications/zotero$v0.desktop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment