Как поделиться папкой/передать файлы по локальной сети в Ubuntu 22.04
Хотите поделиться своими файлами по локальной сети или перенести файл с одного компьютера на другой? Вот несколько часто используемых способов выполнить эту работу в Ubuntu 22.04 LTS.
Вариант 1. Временно открыть общий доступ к папке с помощью сценариев Python:
Не устанавливая какой-либо пакет, пользователь может в любой момент запустить встроенный скрипт Python, чтобы создать файловый сервер http для временного использования. Любое устройство (Windows, Mac, Linux, ПК и мобильные телефоны) может получить доступ к файлам или загрузить их через веб-браузер.
ПРИМЕЧАНИЕ. Этот метод, похоже, не подходит для передачи больших файлов (более 1 ГБ).
1. Сначала щелкните правой кнопкой мыши папку, которой вы хотите поделиться. Затем нажмите «Открыть в терминале» в контекстном меню, чтобы открыть терминал.
2. Затем выполните команду, чтобы поделиться содержимым этой папки по локальной сети с помощью команды:
python3 -m http.server
Если порт прослушивания по умолчанию 8000 уже используется, вы можете указать другой порт (например, 9001) с помощью команды:
python3 -m http.server 9001
Теперь в веб-браузере любого устройства перейдите по адресу http://ubuntu-machine-ip:9001
(соответственно измените порт, по умолчанию — 8000). Нажмите, чтобы открыть файл напрямую, или щелкните правой кнопкой мыши и выберите «Сохранить как…», чтобы загрузить файл.
Чтобы прекратить общий доступ к папке, нажмите Ctrl+C в окне терминала или просто закройте ее.
Вариант 2. Используйте передачу файлов Dukto.
Если вы регулярно переносите файлы с одного компьютера на другой, то приложение «Дукто» с открытым исходным кодом — хороший выбор, который работает на компьютерах с Linux, MacOS и Windows.
Просто откройте приложение на обоих компьютерах, оно автоматически обнаружит друг друга и предложит варианты передачи файла/папки и отправки текста.
Хотя приложение не обновлялось уже много лет, оно по-прежнему работает очень хорошо! Пользователи Mac и Windows могут загрузить и установить пакеты приложений по адресу:
Загрузить Dukto (Windows и Mac): https://sourceforge.net/projects/dukto/files/
Для пользователя Ubuntu пакет по предыдущей ссылке не устанавливается из-за проблемы с зависимостями. Однако порт Qt6 из этого Ubuntu PPA доступен для всех текущих выпусков Ubuntu.
Просто откройте терминал, нажав Ctrl+Alt+T на клавиатуре, и выполните следующие команды одну за другой, чтобы добавить PPA и установить Dukto в Ubuntu:
sudo add-apt-repository ppa:xuzhen666/dukto
sudo apt update
sudo apt install dukto
Вариант 3: общий доступ к папке через Samba
Если вы хотите поделиться папкой для длительного использования, лучше использовать службу обмена файлами Samba. Это можно легко сделать в Ubuntu, поскольку «Файлы» (файловый менеджер Nautilus) предоставляют опцию контекстного меню для выполнения этой работы.
1.) Сначала щелкните правой кнопкой мыши папку, которой хотите поделиться. Затем нажмите на пункт меню «Общий сетевой ресурс».
2.) Во всплывающем диалоговом окне установите флажок «Поделиться этой папкой».
3.) Если вы делаете это впервые, вам будет предложено установить службу общего доступа к Samba.
Просто нажмите «Установить службу» и подтвердите установку необходимых пакетов в следующем диалоговом окне.
4.) После их установки вернитесь к предыдущему диалоговому окну на шаге 1.). Включите «Поделиться этой папкой» и отметьте «Гостевой доступ» и «Разрешить другим создавать и удалять…» соответственно.
Если вы включили разрешение на запись («Разрешить другим создавать и удалять…»), будет предложено изменить права доступа к папке.
5.) Если вы получили ошибку «сетевой ресурс возвращает 255», откройте терминал (Ctrl+Alt+T) и запустите команду, чтобы добавить текущего пользователя в группу «sambashare», должна решить проблему после выхода из системы и повторного входа.
sudo gpasswd --add $USER sambashare
А если вы не включили гостевой доступ, то для аутентификации необходимо добавить отдельный пароль:
sudo smbpasswd -a $USER
Чтобы получить доступ к этому общему ресурсу Samba:
Для пользователя Windows нажмите Window + R на клавиатуре, чтобы открыть окно «Выполнить», и введите \\ubuntu-machine-ip
. Затем введите имя пользователя и пароль, которые вы установили на предыдущем шаге, чтобы получить доступ к этой папке.
Для пользователя Linux (проверено только в GNOME) откройте «Файлы -> Другие местоположения» и введите smb://ubuntu-machine-ip
в кнопке для подключения.
В MacOS нажмите command + K на клавиатуре, чтобы открыть диалоговое окно подключения к серверу, введите smb://ubuntu-machine-ip
и нажмите Enter для доступа.