Quantcast

Tramp and sftp

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Tramp and sftp

Stephen Berman
For a long time I have been able to access a remote directory from Emacs
via the sftp protocol with Tramp.  I didn't pay any attention to how
this worked, since it just did.  But on a new system this has now
failed, and the reason seems to be that, although the system has dbus
installed, it has neither gvfs nor fuse, so the sftp invocation fails
with the error "Package `tramp-gvfs' not supported" (from
tramp-gvfs-file-name-handler).  When I invoke sftp from the shell, it
succeeds, so that protocol itself does not depend on gvfs or fuse.  I
tried removing sftp from tramp-gvfs-methods in the hope that this would
make tramp avoid using gvfs, but it didn't and access again failed.  I
then tried rebuilding emacs --without-dbus, but this resulted in the
message "Host ‘xxx.xxx.xx’ looks like a remote host, ‘sftp’ can only use
the local host".  So is there some way to access a remote directory from
Emacs via the sftp protocol without gvfs and fuse, or must I install
these and configure dbus accordingly?  (And if the latter, I'd be
grateful for any advice, since I've never done this; on the other system
that was evidently done by the distribution, on the new system I build
and configure all the packages myself.)

Steve Berman

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tramp and sftp

Michael Albinus
Stephen Berman <[hidden email]> writes:

Hi Stephen,

> For a long time I have been able to access a remote directory from Emacs
> via the sftp protocol with Tramp.  I didn't pay any attention to how
> this worked, since it just did.

In the past, the sftp protocol was implemented via tramp-sh.el. This
didn't work reliably, so this has been moved to tramp-gvfs.el starting
with Tramp 2.2.10. Emacs 24.5 is the first version which has bundled
this.

> But on a new system this has now
> failed, and the reason seems to be that, although the system has dbus
> installed, it has neither gvfs nor fuse, so the sftp invocation fails
> with the error "Package `tramp-gvfs' not supported" (from
> tramp-gvfs-file-name-handler).  When I invoke sftp from the shell, it
> succeeds, so that protocol itself does not depend on gvfs or fuse.  I
> tried removing sftp from tramp-gvfs-methods in the hope that this would
> make tramp avoid using gvfs, but it didn't and access again failed.  I
> then tried rebuilding emacs --without-dbus, but this resulted in the
> message "Host ‘xxx.xxx.xx’ looks like a remote host, ‘sftp’ can only use
> the local host".  So is there some way to access a remote directory from
> Emacs via the sftp protocol without gvfs and fuse,

No, this is not possible anymore. One fallback would be psftp, part of
the putty package. This package does exist also for GNU/Linux systems.

The other possibility is to use ssh or scp methods for connection. They
don't need dbus and fuse.

> or must I install
> these and configure dbus accordingly?  (And if the latter, I'd be
> grateful for any advice, since I've never done this; on the other system
> that was evidently done by the distribution, on the new system I build
> and configure all the packages myself.)

Which system do you use? If it is a kind of GNU/Linux, the package
manager shall install them w/o further configuration need. If it is
something else I don't know what to do.

> Steve Berman

Best regards, Michael.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tramp and sftp

Stephen Berman
On Fri, 21 Apr 2017 14:23:31 +0200 Michael Albinus <[hidden email]> wrote:

> Stephen Berman <[hidden email]> writes:
>
> Hi Stephen,
>
>> For a long time I have been able to access a remote directory from Emacs
>> via the sftp protocol with Tramp.  I didn't pay any attention to how
>> this worked, since it just did.
>
> In the past, the sftp protocol was implemented via tramp-sh.el. This
> didn't work reliably, so this has been moved to tramp-gvfs.el starting
> with Tramp 2.2.10. Emacs 24.5 is the first version which has bundled
> this.

It surprises me that sftp apparently works fine when invoked from bash
but not with tramp-sh.  Or could there also be problems from bash?

>> But on a new system this has now
>> failed, and the reason seems to be that, although the system has dbus
>> installed, it has neither gvfs nor fuse, so the sftp invocation fails
>> with the error "Package `tramp-gvfs' not supported" (from
>> tramp-gvfs-file-name-handler).  When I invoke sftp from the shell, it
>> succeeds, so that protocol itself does not depend on gvfs or fuse.  I
>> tried removing sftp from tramp-gvfs-methods in the hope that this would
>> make tramp avoid using gvfs, but it didn't and access again failed.  I
>> then tried rebuilding emacs --without-dbus, but this resulted in the
>> message "Host ‘xxx.xxx.xx’ looks like a remote host, ‘sftp’ can only use
>> the local host".  So is there some way to access a remote directory from
>> Emacs via the sftp protocol without gvfs and fuse,
>
> No, this is not possible anymore. One fallback would be psftp, part of
> the putty package. This package does exist also for GNU/Linux systems.
>
> The other possibility is to use ssh or scp methods for connection. They
> don't need dbus and fuse.

This is a host I don't have shell access to, it only accepts ftp.

>> or must I install
>> these and configure dbus accordingly?  (And if the latter, I'd be
>> grateful for any advice, since I've never done this; on the other system
>> that was evidently done by the distribution, on the new system I build
>> and configure all the packages myself.)
>
> Which system do you use? If it is a kind of GNU/Linux, the package
> manager shall install them w/o further configuration need.

Yes, that's the case with openSUSE, which I've used for years.

>                                                            If it is
> something else I don't know what to do.

I've been building a (GNU) Linux From Scratch system, which means I have
to get my hands dirty; I guess I have to get them even dirtier ;-).

Steve Berman

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tramp and sftp

Michael Albinus
Stephen Berman <[hidden email]> writes:

Hi Stephen,

>> No, this is not possible anymore. One fallback would be psftp, part of
>> the putty package. This package does exist also for GNU/Linux systems.
>>
>> The other possibility is to use ssh or scp methods for connection. They
>> don't need dbus and fuse.
>
> This is a host I don't have shell access to, it only accepts ftp.

Then compling putty yourself, and using Tramp's psftp method seems to be
your best choice.

> Steve Berman

Best regards, Michael.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tramp and sftp

Stephen Berman
On Fri, 21 Apr 2017 19:16:23 +0200 Michael Albinus <[hidden email]> wrote:

> Stephen Berman <[hidden email]> writes:
>
> Hi Stephen,
>
>>> No, this is not possible anymore. One fallback would be psftp, part of
>>> the putty package. This package does exist also for GNU/Linux systems.
>>>
>>> The other possibility is to use ssh or scp methods for connection. They
>>> don't need dbus and fuse.
>>
>> This is a host I don't have shell access to, it only accepts ftp.
>
> Then compling putty yourself, and using Tramp's psftp method seems to be
> your best choice.

In fact, I decided to go the "dirty hands" route (with essential
handholding from the Beyond Linux from Scratch instructions) and went
ahead and built and installed gvfs (which required a boatload of
dependencies) and fuse (which required reconfiguring and recompiling the
kernel), and this, in addition to launching dbus, was all it took: now
sftp works via Tramp again.  Thanks for convincing me to bite this
bullet (by explaining that Tramp needed these to work with sftp).

Steve Berman

Loading...