Как я могу получить доступ к файлам на своем ноутбуке Ubuntu с моего телефона, если я подключаюсь?

Я подключаю свой ноутбук к телефону.

Есть ли способ получить доступ к файловой системе на моем ноутбуке с мобильного телефона во время подключения? Я, например, хотел бы иметь возможность доступа к файлам изображений с моего ноутбука на телефоне. (Дополнительная информация: у меня нет доступа к Wi-Fi на телефоне, и я не хочу использовать 3G для локальной передачи файлов).

Ноутбук: Ubuntu 16.04 LTS

Телефон: Samsung Galaxy S5

3
задан 19 November 2017 в 09:37

2 ответа

Используйте модуль Python для запуска основного HTTP-сервера и используйте веб-браузер на мобильном телефоне для доступа к локальному ПК через USB-модем.

Обзор настройки и использования

Мобильный телефон подключен к локальному ПК через кабель USB.

  • Настройка на мобильном телефоне (USB-модем включен )
  • Настройка на локальном ПК (см. Часть A. )
  • Доступ с мобильного телефона (см. Часть B. )

Когда пользователь завершит доступ, перейдите на локальный ПК и нажмите Ctrl + C чтобы остановить HTTP-сервер, работающий в терминале. Или простое закрытие терминала также может завершить процесс.

Часть А. Настройка на локальном ПК

Убедитесь, что Python установлен на локальном ПК (запустите python --version в терминале, чтобы проверить версию, что повлияет на шаг 3).

  1. Откройте терминал

  2. Сначала проверьте IP-адрес локального ПК с помощью команды ip или ifconfig (в зависимости от того, что работает). В следующем примере выходных данных показано 192.168.XX.YYY - это IP-адрес, который был назначен локальному ПК через USB-модем.

    $ ip addr show usb0 
    3: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 192.168.XX.YYY/** brd 192.168.XX.ZZZ scope global usb0
       valid_lft forever preferred_lft forever
    inet6 ****::****:****:****:****/** scope link 
       valid_lft forever preferred_lft forever
    
    $ ifconfig usb0
    usb0      Link encap:Ethernet  HWaddr **:**:**:**:**:**  
              inet addr:192.168.XX.YYY  Bcast:192.168.XX.ZZZ  Mask:255.255.255.0
              inet6 addr: ****::****:****:****:****/** Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              ...
    
  3. Затем запустите HTTP-сервер, используя модуль Python, с любым доступным номером порта, т. Е. 31415 (легко запоминается как «pi»). В следующем примере показано, что модуль http.server используется для Python 3, в противном случае используйте модуль SimpleHTTPServer для Python 2.

    $ python -m http.server <port_number>
    Serving HTTP on 0.0.0.0 port ***** ...
    

Кроме того, если на локальном ПК включен брандмауэр, добавьте новое правило, разрешающее входящее соединение с номером порта и IP-адресом (это будет другой набор вопросов и ответов). В противном случае временно отключить брандмауэр будет просто для простоты взамен низкого уровня безопасности.

Часть B. Доступ с мобильного телефона

Убедитесь, что USB-модем остается включенным ; Никаких дополнительных настроек.

  1. Откройте веб-браузер

  2. Перейдите на http://192.168.XX.YYY:<port_number>, где 192.168.XX.YYY - это IP-адрес, используемый локальным ПК, а <port_number> - любой доступный. номер порта на локальном ПК.

  3. В веб-браузере будет отображаться список каталогов текущего рабочего каталога, который по умолчанию является домашним каталогом текущего пользователя.

Пользователь теперь может получить доступ к любым файлам и каталогам в текущем рабочем каталоге для просмотра и загрузки.

Ограничения и совместимость

HTTP-сервер разрешит доступ только для чтения, что достаточно для просмотра и загрузки. Пользователь не сможет изменять файлы на локальном ПК. Если пользователю нужен доступ для чтения и записи, используйте другой метод (возможно, с использованием SFTP или SSH, которого я не знаю).

Метод HTTP-сервера будет работать до тех пор, пока включен USB-модем (известен IP-адрес), независимо от того, включен или отключен режим полета или сотовые данные. Вероятно, работа на мобильных телефонах с любой версией Android (не уверен для других мобильных операционных систем).

Протестировано с использованием Python 2.7 и Python 3.4, с включенным и отключенным UFW в Xubuntu 14.04 и включенным USB-модемом в Android 7.1.1.

Ссылки

Связанные посты в сети SE

0
ответ дан 19 November 2017 в 09:37
  • 1
    Ahh, хороший. Я просто понял, что gnome-screensaver-command может также быть заменен xscreensaver-command, таким образом, никакая дополнительная установка не требуется. Без && dbus-send... просто добирается часть первая, блокировка (без приостанавливают); с ним каждый добирается, приостанавливание с соединяют пробуждение. Прекрасный. – Marius Hofert 18 May 2012 в 03:34
  • 2
    Ahh, хороший. Я просто понял, что gnome-screensaver-command может также быть заменен xscreensaver-command, таким образом, никакая дополнительная установка не требуется. Без && dbus-send... просто добирается часть первая, блокировка (без приостанавливают); с ним каждый добирается, приостанавливание с соединяют пробуждение. Прекрасный. – Marius Hofert 18 May 2012 в 03:34
  • 3
    Ahh, хороший. Я просто понял, что gnome-screensaver-command может также быть заменен xscreensaver-command, таким образом, никакая дополнительная установка не требуется. Без && dbus-send... просто добирается часть первая, блокировка (без приостанавливают); с ним каждый добирается, приостанавливание с соединяют пробуждение. Прекрасный. – Marius Hofert 18 May 2012 в 03:34
  • 4
    Ahh, хороший. Я просто понял, что gnome-screensaver-command может также быть заменен xscreensaver-command, таким образом, никакая дополнительная установка не требуется. Без && dbus-send... просто добирается часть первая, блокировка (без приостанавливают); с ним каждый добирается, приостанавливание с соединяют пробуждение. Прекрасный. – Marius Hofert 18 May 2012 в 03:34
  • 5
    Ahh, хороший. Я просто понял, что gnome-screensaver-command может также быть заменен xscreensaver-command, таким образом, никакая дополнительная установка не требуется. Без && dbus-send... просто добирается часть первая, блокировка (без приостанавливают); с ним каждый добирается, приостанавливание с соединяют пробуждение. Прекрасный. – Marius Hofert 18 May 2012 в 03:34
  • 6
    Ahh, хороший. Я просто понял, что gnome-screensaver-command может также быть заменен xscreensaver-command, таким образом, никакая дополнительная установка не требуется. Без && dbus-send... просто добирается часть первая, блокировка (без приостанавливают); с ним каждый добирается, приостанавливание с соединяют пробуждение. Прекрасный. – Marius Hofert 18 May 2012 в 03:34

Вот мое решение.

Создание

sudo /sbin/ifconfig

, затем поиск

enp0s20u2: {...}

, который включает следующее свойство:

inet 192.168.xx.xxx

Был ли хороший IP-адрес для поиска в мое дело.

Затем я подключился к локальному хосту своего компьютера с мобильного телефона в режиме модема, введя в строке URL-адреса своего мобильного телефона следующий адрес:

// where PORT is effectively the computer localhost's port number 
// on which you want to connect.
inet 192.168.xx.xxx:{PORT}
0
ответ дан 1 April 2020 в 11:59

Другие вопросы по тегам:

Похожие вопросы: