Isso não permitirá que você abra arquivos facilmente dentro da mesma instância do nautilus, mas permitirá que você abra um arquivo zip em uma segunda instância do nautilus por meio de um script (para ser colocado em ~/.local/share/nautilus/scripts
e tornar executável ).
#!/bin/bash
# see: https://askubuntu.com/a/295312/480880
urlencode() {
# urlencode <string>
local length="${#1}"
for (( i = 0; i < length; i++ )); do
local c="${1:i:1}"
case $c in
[a-zA-Z0-9.~_-]) printf "$c" ;;
*) printf '%%%02X' "'$c"
esac
done
}
# taken from xdg-mime;
# xdg-mime itself is not used, as it's slow and we're already assuming presence of gvfs utils anyway
mime_type() {
gvfs-info "$1" 2> /dev/null | grep standard::content-type | cut -d' ' -f4
}
echo "$NAUTILUS_SCRIPT_SELECTED_URIS" | while read uri
do
mime_type="$(mime_type "$uri" )"
if [ "$mime_type" = "application/zip" ] # add mime-types as necessary
then
archive_path="archive://$(urlencode "$uri" )"
gvfs-mount "$archive_path"
gvfs_path="$( echo "$archive_path" | sed 's/%/%25/g')" # yes, the percentage signs are encoded, again!
# zenity --entry --entry-text="$gvfs_path"
nautilus "$gvfs_path"
fi
done