Gnome Open Shell Here script that can deal with special characters
The most painful missing piece in Gnome Nautilus compared to KDE Dolphin
is clicking F4 to open a shell for the current folder. As a workaround
I used a script from nixCraft, but that fails with folders that
contain special characters like [
, because the folder names are URL
escaped.
Today I finally snapped and fixed the script:
#!/run/current-system/profile/bin/bash # This script either opens in the current directory, # or in the selected directory # thanks for the urldecoder goes to to https://stackoverflow.com/a/37840948 # license: cc by-sa (as this is stackoverflow) urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; } base="$(echo $(urldecode "$NAUTILUS_SCRIPT_CURRENT_URI") | cut -d / -f3-)" if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then dir="$base" else while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done dir="$base/$1" fi gnome-terminal --working-directory="${dir}"
Save this into the file ~/.local/share/nautilus/scripts/Open
Shell Here
and make it executable, and you get a scripts menu entry
in your right-click menu that still opens the right folder if you have
untypical folder names.
echo '#!/run/current-system/profile/bin/bash # This script either opens in the current directory, # or in the selected directory # thanks for the urldecoder goes to to https://stackoverflow.com/a/37840948 # license: cc by-sa (as this is stackoverflow) urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; } base="$(echo $(urldecode "$NAUTILUS_SCRIPT_CURRENT_URI") | cut -d / -f3-)" if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then dir="$base" else while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done dir="$base/$1" fi gnome-terminal --working-directory="${dir}" ' > "$HOME/.local/share/nautilus/scripts/Open Shell Here" chmod +x "$HOME/.local/share/nautilus/scripts/Open Shell Here"
That’s it. Have fun!