Eu estou no Debian Jessie sem ambiente de desktop. Eu tento montar um FTP por linha de comando usando gvfs-mount.
Reuni informações na web e entendi que o gvfs comunica com o dbus.
Então meu primeiro passo foi instalar os pacotes necessários para dbus e gvfs :
apt-get install dbus-x11 gvfs-bin gvfs-fuse
Então eu reinicio, porque o dbus instalou seu próprio serviço.
Depois disso, estou fazendo login como www-data
sudo -Hu www-data -s /bin/bash
( -s /bin/bash é porque esse usuário não tem nada)
A partir daqui, tenho que lançar um dbus-daemon para meu usuário e exportar o DBUS_SESSION_BUS_ADDRESS resultante para que o gvfs se comunique com esse daemon. Então eu faço:
dbus-launch --sh-syntax > "$HOME/.dbus_settings"
.dbus_settings contém algo como:
cat .dbus_settings
DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/dbus-XwbyV2BmA5,guid=6c111d728c263543b61e6293570e1f22';
export DBUS_SESSION_BUS_ADDRESS;
DBUS_SESSION_BUS_PID=952;
Minha variável de ambiente DBUS_SESSION_BUS_ADDRESS não está definida neste momento, então eu corro:
export DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/dbus-XwbyV2BmA5,guid=6c111d728c263543b61e6293570e1f22'
Para lidar com futuras montagens gvfs, criei uma pasta .gvfs no meu usuário $HOME (para www-data é /var/www )
Agora, eu acho (mas não tenho certeza) que eu preparei para usar o gvfs. então eu inicio gvfsd-fuse assim:
/usr/lib/gvfs/gvfsd-fuse $HOME/.gvfs -o big_writes
Isso parece funcionar. A pasta $ HOME / .gvfs parece estar montada (mas ainda não há nada nela).
O último comando é a montagem efetiva do FTP:
gvfs-mount ftp://myftpuser@myftpserver < file_containing_ftp_password
Mas sempre recebo este erro:
Error mounting location: Location is not mountable
Estas etapas funcionam no meu desktop Linux Mint 17.3 amd64. Mas eu não posso fazê-lo funcionar em um servidor Debian Jessie (sem desktop e x11).
Qualquer ajuda é apreciada.