Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A GUI frontend to sftpman (an application for managing and mounting sshfs (SFTP) filesystems)

License

NotificationsYou must be signed in to change notification settings

spantaleev/sftpman-iced-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sftpman-iced logo

sftpman-iced

sftpman-iced is a GUI application for Linux systems that makes it easy to setup and mountsshfs/SFTP filesystems.

It's a GUI frontend to thesftpman command line application and library (libsftpman). See thesftpman repository for more information.

📸 Screenshots

  1. sftpman-iced home screen
  2. sftpman-iced record screen

🚀 Installing

Dependencies

💡Note: Installing thesftpman-iced GUI application will automatically pull thelibsftpman library (provided bysftpman) as a dependency, but willnot automatically install thesftpman CLI binary.

Installing on ArchLinux

ForArchLinux, there's ansftpman-iced package in theAUR.

Installing on other distributions

For other Linux distributions you can install usingcargo:

cargo install sftpman-iced

You also need to:

  • installsshfs yourself

  • make sure the/mnt/sshfs directory exists and is writable (e.g.mkdir /mnt/sshfs && chown root:users /mnt/sshfs && chmod 0775 /mnt/sshfs)

❓ FAQ

Why was sftpman-gtk rewritten to sftpman-iced?

Since the underlying CLI application and library (sftpman) was rewritten fromPython toRust, we found ourselves having to rewrite the GUI application as well.

Also see:

Why was iced chosen as a UI framework instead of Gtk?

Also see:Why was sftpman-gtk rewritten to sftpman-iced?.

GNOME has been becoming more dumbed-down and itsGtk UI framework has been starting to feel more alien on otherDesktop Environments (likeKDE).

Furthermore, the imperative nature of Gtk makes it an ugly mess to develop for. Choosing a declarative UI framework was deemed a better choice.

TheRust bindings for various UI frameworks (Gtk,Qt, etc.) are all poor andiced ticked all our boxes.

Why was iced chosen as a UI framework instead of Qt?

Also see:Why was sftpman-gtk rewritten to sftpman-iced?.

When working on this rewrite, we gaveQt a try viaqmetaobject-rs.It felt like a very fragile and ugly way to write code.

Rust bindings forQt are all in a poor state and are likely to remain this way.

Why was iced chosen as a UI framework instead of Slint?

Also see:Why was sftpman-gtk rewritten to sftpman-iced?.

When working on this rewrite, we gaveSlint a try.

While it seems like a promising UI framework, we weren't sure another commerical Qt clone is an ideal choice.

We also found that Slint yielded very large executables even for simple "Hello world" application.iced executables are not tiny either, but our completesftpman-iced binary appears to be on par with Slint's "Hello world" (~17 MB).

Why was iced chosen given that it has poor accessibility?

Accessibility support iniced is currently lacking.This is usually an important reason to look past it.

Since we provide a more accessible CLI application (seesftpman) which can serve as a substitute to various handicapped users, we believe the lack of accessibility support is not a deal-breaker for us.

Why does sftpman-iced temporarily freeze during mounting?

Mounting is done by delegating to thesshfs command line application.

Ifsshfs needs to ask you for an SSH key passphrase or password, it will create a dialog box (viassh-askpass, etc.) that does it.

We startsshfs on the main thread so that this dialog box can be displayed and interacted with correctly.

Why does sftpman-iced temporarily freeze during unmounting?

Unmounting (runningfusermount -u .. commands, etc.) can more easily be accomplished in the background, but we haven't implemented it because:

  • unmounting is usually quick and doing it sequentially does not impact performance too much

  • we don't yet support displaying multiple error alerts at the same time. If multiple filesystems are being unmounted in parallel and they all error out, we would need to notify you properly (something which we can't do yet).

  • not blocking the main thread while unmounting would allow you to (accidentally) trigger a mount operation while unmounting is still in progress. Handling this gracefully will need further work.

Is sftpman-iced compatible with sftpman-gtk?

sftpman v2 (and thesftpman-iced GUI frontend) are stillmostly-backward compatible with the old Python-basedsftpman software (sftpman-python and the associatedsftman-gtk):

  • ✅ The old configuration files can be read and used as-is

  • ✨ You can now use custom local mount endpoints for filesystems, instead of just the default/mnt/sshfs/{id} directory

Also see:Is sftpman v2 compatible with sftpman v1?

Acknowledgements

sftpman-iced is built withiced - a cross-platform GUI library for Rust focused on simplicity and type-safety.

The application includes icons fromBootstrap Icons, licensed under theMIT license. See theassets/bootstrap-icons directory.

About

A GUI frontend to sftpman (an application for managing and mounting sshfs (SFTP) filesystems)

Topics

Resources

License

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp