Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(feature request) список доступных SMB ресурсов #19

Open
unxed opened this issue May 6, 2017 · 2 comments
Open

Comments

@unxed
Copy link

unxed commented May 6, 2017

Сам список можно брать из вывода команды smbtree.

В интерфейсе это может выглядеть, например, так: специальный "системный" ресурс "Browse SMB shares", при попытке зайти в который отображается список доступных URL. Если попробовать "зайти" в URL - попадаешь в стандартный диалог создания ресурса, с уже подставленным URL.

Таким образом получится не только замена netbox'у, но ещё и замена встроенному просмотрщику сети far.

В том же nautilus'е просмотрщик сети присутствует, а в far2l - нет. В этом есть что-то неправильное :)

@unxed
Copy link
Author

unxed commented May 6, 2017

Насколько я смог выяснить, API у самбы только на питоне, так что более изящное решение, чем парсить вывод консольной утилиты, в голову не приходит. Есть некий демон gvfsd-smb-browse, но я не смог найти по его использованию никакой толковой информации (кроме факта, что он жрёт 100% CPU). Есть ещё gvfsd-network и gvfsd-dnssd, но, опять же, совершенно не понятно, как ими пользоваться. Качаю исходники caja, посмотрю, как там сделано.

"smbtree" просит пароль текущего пользователя.
А вот "smbtree -N" не просит, и показывает всё то же самое.
По крайней мере, у меня так.

Ещё понадобится сделать преобразование URL из вида
\\ASPIRE\Загрузки
в вид
smb://ASPIRE/Загрузки

@unxed
Copy link
Author

unxed commented May 6, 2017

gvfspanel соглашается монтировать URL "smb:///" и "network:///" (и потом пишет "location is already mounted", так что операция монтирования, по-видимому, выполняется успешно), но не видит точки монтирования. Видимо, такие пути обрабатываются gvfs каким-то иным способом.

При этом
gvfs-mount smb:///
gvfs-ls smb:///
показывает доступные рабочие группы,
gvfs-mount smb://WORKGROUP
gvfs-ls smb://WORKGROUP
показывает хосты в рабочей группе, а
gvfs-mount smb://ASPIRE
gvfs-ls smb://ASPIRE
показывает доступные на хосте шары.

Если это можно делать из консоли, наверняка это можно как-то делать и из cpp-биндинга.

gvfs-info говорит про такие пути "standard::is-virtual: TRUE".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant