How to execute a Nautilus script written in Python inside a gnome-terminal window that stays open?
Asked Answered
A

1

0

Lets say I want to execute a simple Python script from Nautilus, the default file manager of GNOME:

#!/usr/bin/python3
print("Hello")

Of course the aim is to interact with selected files in Nautilus, but I want to keep it simple.

I save the script to the folder ~/.local/share/nautilus/scripts/ and then I can execute it from the right click context menu:

Nautilus script context menu

How can I execute this nautilus script inside gnome-terminal and keep the terminal opened at the end of the script?

Automotive answered 21/8, 2017 at 12:31 Comment(0)
A
3

I have found that I can achieve what I want to do using two script files.

Script folder

1) Hello.sh to open gnome-terminal (and potentially leave it open)

The first script file ~/.local/share/nautilus/scripts/Hello.sh will appear in Nautilus script context menu and will open gnome-terminal in order to execute .Hello.py:

#!/bin/bash
gnome-terminal -- python3 ~/.local/share/nautilus/scripts/.Hello.py

To force the terminal window to stay open after execution (to see output or for debugging purpose if it fails), tweak it as follow to make gnome-terminal execute bash at the end:

#!/bin/bash
gnome-terminal -- bash -c "python3 ~/.local/share/nautilus/scripts/.Hello.py; bash"

2) .Hello.py to execute the actual script

Then, the second script file ~/.local/share/nautilus/scripts/.Hello.py will be executed inside the gnome-terminal windows opened previously but will be hidden from nautilus script context menu.

#!/usr/bin/python3
print("Hello")
Automotive answered 21/8, 2017 at 13:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.