#!/usr/bin/env bash # bwrap wrapper to correct nautilus 3.26.4+ bug for external thumbnailers under debian based distros # * add --ro-bind needed by imagemagick tools # * replaces --symlink calls with equivalent --ro-bind calls # intialise parameters array ARR_PARAM=( ) # add read only access to /usr/local, /var/lib, /var/cache and /etc [ -d "/usr/local" ] && ARR_PARAM=( "${ARR_PARAM[@]}" "--ro-bind" "/usr/local" "/usr/local" ) [ -d "/var/lib" ] && ARR_PARAM=( "${ARR_PARAM[@]}" "--ro-bind" "/var/lib" "/var/lib" ) [ -d "/var/cache" ] && ARR_PARAM=( "${ARR_PARAM[@]}" "--ro-bind" "/var/cache" "/var/cache" ) [ -d "/etc" ] && ARR_PARAM=( "${ARR_PARAM[@]}" "--ro-bind" "/etc" "/etc" ) # if exists, enable $TMPDIR [ -n "${TMPDIR}" ] && [ -d "${TMPDIR}" ] && ARR_PARAM=( "${ARR_PARAM[@]}" "--bind" "${TMPDIR}" "${TMPDIR}" ) # loop thru original parameters while test $# -gt 0 do case "$1" in # --symlink : convert to --ro-bind "--symlink") shift; shift; ARR_PARAM=( "${ARR_PARAM[@]}" "--ro-bind" "$1" "$1" ); shift; ;; # others : add parameter *) ARR_PARAM=( "${ARR_PARAM[@]}" "$1" ); shift; ;; esac done # call original bwrap /usr/bin/bwrap "${ARR_PARAM[@]}"