Se você deseja obter um nome de arquivo em um programa de terminal, você deve ser capaz de usar o mouse arrastar e soltar ou Ctrl - c e Ctrl - ( Deslocamento -) v para copiar / colar em um editor / terminal.
Eu quero poder selecionar um arquivo, digitar um comando e fazer com que ele retorne a localização atual do arquivo selecionado em um terminal.
Se você deseja obter um nome de arquivo em um programa de terminal, você deve ser capaz de usar o mouse arrastar e soltar ou Ctrl - c e Ctrl - ( Deslocamento -) v para copiar / colar em um editor / terminal.
Acho que a melhor coisa para se encaixar aqui é um plugin nautilus.
Instale o python-nautilus
sudo apt-get install python-nautilus
Crie um plug-in "TestExtension.py"
sudo nano /usr/share/nautilus-python/extensions/TestExtension.py
Esta extensão irá chamar seu script sempre que a seleção mudar e passar a seleção um por um como segundo argumento de comando $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:]+"\"")
return
Ou você pode criar uma lista, combiná-los como uma única string e, em seguida, export
como env
variable. Portanto, a seleção atual estará acessível para todos os outros scripts. (buraco de segurança)
Mate o nautilus
pkill nautilus
Referência:
Tags command-line nautilus