Como posso acessar os dados de localização do arquivo ou pasta atualmente selecionado?

4

Eu quero poder selecionar um arquivo, executar um script com um atalho e esse script obterá o caminho do arquivo que eu selecionei (ou estou arrastando). Eu selecionei no nautilus.

Eu sei como executar o comando, só não sei como obter a localização do arquivo selecionado. Estou assumindo que é possível, porque se eu arrastar e soltar um arquivo para o terminal, ele cola o caminho ...

Para que eu usei isso? Eu tenho um programa chamado synergy que é usado para usar um mouse e um teclado em vários computadores, usando uma rede local.

Você pode configurá-lo para ter suas telas próximas uma da outra assim:

No entanto, (porque esta é a versão gratuita), não consigo arrastar e soltar arquivos entre eles. Portanto, esse dock é configurado entre as duas telas e quando eu arrasto um arquivo, posso soltá-lo lá - e copia para o mesmo caminho no segundo computador (se existir) ou para a pasta misc.

    
por Tim 02.06.2014 / 18:13

2 respostas

3

Com um pouco de conhecimento, descobri o que você pode estar procurando. Isso pode ser feito usando .desktop files. Deixe-me demonstrar.

Crie um arquivo no diretório home (como exemplo) com a extensão .desktop com o seguinte conteúdo:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=bash <path-to-your-script> %u
Name=visible name here
Comment=comment here
Icon=icon path here

Substitua <path-to-your-script> pelo caminho do script que você deseja executar. Aqui %u é o caminho do arquivo que você irá arrastar no arquivo .desktop para acionar o script. Isso obviamente será passado como um argumento para o seu script.

Não se esqueça de tornar seu executável .desktop também por:

chmod u+x test.desktop

Para verificar se está funcionando, você pode apontá-lo para este script:

#!/bin/sh

echo  > ~/out.txt

Você verá o caminho completo do arquivo que você arrastou para o arquivo .desktop armazenado em out.txt no seu diretório pessoal.

Por fim, você pode configurar uma estação para ter apenas isso nela, para que você a tenha na lateral da tela.

Referências:

Especificação de entrada na área de trabalho

Desenvolvedor Gnome - Arquivos da área de trabalho

    
por daltonfury42 06.07.2015 / 16:43
2

Para quem não gostou da solução dock pode simplesmente usar a variável de ambiente Nautilus NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ou $@ .Escreva um script, coloque-o na pasta scripts para que ele apareça no menu de contexto. A vantagem é que você pode selecionar mais arquivos de uma só vez. Para testá-lo:

#!/bin/bash
notify-send $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
exit 0
    
por VRR 07.07.2015 / 00:59