I want to be able to select a file, enter a command and have it return the current location of the file selected in a terminal.
Asked
Active
Viewed 284 times
1
-
unclear. Be specific. How did you open that file? – Avinash Raj Jun 02 '14 at 16:14
-
I have just clicked on it in nautilus, it has the orange selection, I haven't opened it. – Tim Jun 02 '14 at 16:20
-
What is the use case? Are you trying to automate something, or is it just a convenience? – l0b0 Jun 02 '14 at 16:26
-
It is to copy the file to a shared folder when I drag it to the side of the screen. – Tim Jun 02 '14 at 16:27
-
@Tim, What's the deference, adding that shared folder to bookmakes on side panel. It seems same, you just need to drag it (with Ctrl key pressed for copying) – user.dz Jun 02 '14 at 16:43
-
Simply user preference, and it would be more in keeping with the way I have my desktop set up. – Tim Jun 02 '14 at 16:46
-
To reference a previous thread - link[enter link description here][1] [1]: http://askubuntu.com/questions/293566/open-terminal-from-nautilus-by-right-click Hope this helps! – 48656c6c6f2c20776f726c6421 Jun 02 '14 at 17:23
2 Answers
0
If you want to get a file name into a terminal program, you should be able to use either mouse drag'n'drop or Ctrl-c and Ctrl-(Shift-)v to copy/paste it into an editor/terminal.
l0b0
- 8,529
- 8
- 42
- 67
-
Is there a way without dragging it to the terminal, just having it selected, then executing a command to display the location there? – Tim Jun 02 '14 at 16:19
0
I think the best thing to fit here is a nautilus plugin.
Install python-nautilus
sudo apt-get install python-nautilusCreate a plugin "TestExtension.py"
sudo nano /usr/share/nautilus-python/extensions/TestExtension.pyThis extension will call your script whenever the selection changes and pass the selection one by one as second command argument
$1:from gi.repository import Nautilus, GObject import os class ColumnExtension(GObject.GObject, Nautilus.MenuProvider): def __init__(self): pass def menu_activate_cb(self, menu, file): print "menu_activate_cb",file def get_file_items(self, window, files): for file in files: uri = file.get_uri() if uri.startswith("file:///"): os.system("yourscript_path"+" \""+uri[7:]+"\"") returnOr you may make a list, combine them as single string, then
exportit asenvvariable. So current selection will be accessible for all other scripts. (security hole)Kill nautilus
pkill nautilus
Reference:
user.dz
- 47,137
- 13
- 140
- 258