Como iniciar a GUI "Operações de arquivo" do Nautilus na linha de comando?
Meu objetivo é incluir isso em um script do Nautilus.
Como iniciar a GUI "Operações de arquivo" do Nautilus na linha de comando?
Meu objetivo é incluir isso em um script do Nautilus.
Respostas:
A resposta curta é: você não pode. O Nautilus não foi criado para permitir esse tipo de coisa e você pode acessar o código-fonte do nautilus e consultar as seções de copiar / mover arquivos para ver como ele funciona.
Parte dessa falta de integração foi a motivação por trás do design do indicador de progresso. Substituiria a janela de progresso do nautilus e várias outras inconsistências de progresso e permitiria que vários programas mostrassem seu progresso ao usuário da mesma maneira:
https://wiki.ubuntu.com/Ayatana/ProgressIndication
Mais trabalho e advocacia para esses novos designs ajudariam, permitindo a integração de todos os tipos de ferramentas.
Aparentemente, isso agora é suportado; pelo menos o seguinte parece funcionar sob 12.04:
qdbus org.gnome.Nautilus /org/gnome/Nautilus org.gnome.Nautilus.FileOperations.CopyFile "file:///source/directory" "*" "file:///destination/directory" ""
onde /source/directory
é o caminho absoluto para o diretório de origem, *
é o globo para o (s) arquivo (s) para copiar, /destination/directory
é o diretório de destino e o último ""
é para o nome do arquivo de destino. Observe que você precisa ter o último lá, mesmo que esteja vazio como aqui, para cumprir a assinatura do método. Além disso, se você especificar um nome de destino e tiver vários arquivos de origem, todos eles serão copiados para esse arquivo de destino, fornecendo um prompt de substituição para cada arquivo após o primeiro (que pode ou não ser o que você deseja).