smbサーバーの共有ディレクトリをzenityで選択してgioでマウントする

Linux Mint 21 Vanessa
zenity 3.42.1
libglib2.0-bin 2.72.1

スクリプトを作成する。

#!/bin/bash
directory=$(zenity --list \
    --title="共有ディレクトリ" \
    --text="アクセスするディレクトリを選択してください。" \
    --width=400 --height=600 \
    --print-column=1 \
    --column="ディレクトリ名" \
        "共有1" \
        "共有2" \
        "共有3" \
2>/dev/null)
if [ $? -eq 1 ]; then
    exit 0;
fi
if [ ! -d "/run/user/$UID/gvfs/smb-share:server=samba-server.local,share=$directory/" ]; then
    echo -e "user\nWORKGROUP\nPassword\n" | gio mount smb://samba-server.local/$directory 1>/dev/null 2>/dev/null
fi
xdg-open smb://samba-server.local/$directory/

スクリプトを実行可能にする。

$ chmod +x ~/bin/gio-mount.sh