How to access my Android’s files using Wi-Fi in Ubuntu?
Both my Ubuntu and Android phone are using the same Wi-Fi. How can I transfer files between the phone and the PC? Is there any way to mount the Android file system? I don’t want to use the USB cable. Bluetooth doesn’t work. So WiFi is the only other option. The Android version is Jelly Bean and Ubuntu is 12.04 LTS.
This isn’t necessarily an Ubuntu question, more a case of «How do I set up my Android device to have a server to handle file transfers to devices on my wifi».
@Tim but that’s not what I see being asked here. «Both my Ubuntu and Android use the same wifi.» OK, they’re on the same network. «How can I transfer files between the phone and the pc?» Implied over the wifi. Solution: Install something on the android that gives ftp/sftp access, but that’s an Android question, not Ubuntu. Regardless of how it’s interpreted, the solution is an Android-side setup of some software to provide the function, and that’s not Ubuntu.
Vote to reopen. Even though the solution is not Ubuntu specific, that is install a ftp or a specialized web server in the android, the problem is somewhat Linux specific. If you google «how to share files between android and PC (or Mac)» you see some solutions that involve installing PC (or Mac) software as well as their Android counterparts. These solutions don’t have a Linux client and thus don’t work for Ubuntu. For Ubuntu one needs a server that uses standard protocol for which Ubuntu client exist. The solution is simple who are familiar with servers, but not so for home desktop users.
7 приложений для беспроводной передачи файлов в Linux
У вас есть файлы, которые необходимо передать/скопировать между устройствами Linux или, может быть, между устройством Linux и другой платформой, но у вас нет или не требуется проводное соединение? Как у пользователя Linux, у вас есть множество возможностей.
Выделим несколько приложений с несколькими различными протоколами передачи файлов, которые позволят нам подключаться к разным платформам и передавать файлы.
Bluetooth
На самом деле это не приложение, но это очень удобный вариант. Если у вас есть работающий адаптер Bluetooth, большинство дистрибутивов Linux поставляются с инструментами настройки и интерфейса Bluetooth (например, Linux Mint использует Blueberry, а Ubuntu использует Blueman). Для большего контроля вы можете установить пакеты BlueZ http://www.bluez.org/, которые содержат дополнительные инструменты для настройки соединения Bluetooth.
Конечно, не все устройства имеют адаптер Bluetooth, особенно среди старых устройств. Кроме того, опытные пользователи знают, что Bluetooth не всегда безопасен. Однако не волнуйтесь, поскольку для пользователей Linux доступно множество других приложений для беспроводной передачи файлов.
KDE Connect
KDE Connect — это проект с открытым исходным кодом, который позволяет выполнять множество функций удаленного подключения между устройствами Linux и Android, включая передачу файлов.
KDE Connect работает через подключение к Интернету, и на всех устройствах должно быть установлено приложение KDE Connect, включая устройство Android.
Каждая удаленная функция в KDE Connect имеет собственный плагин, который необходимо активировать на обоих устройствах для использования. Поэтому, если вы хотите разрешить передачу файлов, но определенно не хотите разрешать команды удаленного терминала или управление мышью, вы можете отключить эти плагины.
KDE Connect доступен для Windows и macOS в дополнение к Linux, но вам нужно будет скомпилировать его самостоятельно.
GSConnect
Пользователи Gnome найдут GSConnect удобной альтернативой KDE Connect, поскольку он выполняет те же задачи и использует ту же структуру, но без зависимостей от KDE и Qt, которые требуются для KDE Connect.
Однако GSConnect по-прежнему зависит от того, установлено ли у вас приложение KDE Connect на вашем устройстве Android.
В дополнение к обычным функциям GSConnect также обеспечивает интеграцию с вашим веб-браузером с расширениями, доступными для Firefox и Chrome. Также есть удобное расширение для файлового проводника Nautilus, упрощающее перемещение файлов.
LAN Share
Если вы используете как Linux, так и Windows, это приложение может быть идеальным для вас. Как видно из названия, LAN Share работает через локальное интернет-соединение, и для его использования на обоих устройствах должен быть установлен и запущен LAN Share.
Это может быть один из самых быстрых вариантов в этом списке, так как он может перемещать целые папки сразу, и на принимающей стороне не требуется подтверждения или пароля для завершения передачи. Конечно, некоторые могут посчитать отсутствие подтверждения недостатком безопасности. Однако, если вы доверяете используемой локальной сети, это не должно быть проблемой.
Тем не менее, пользователи должны знать, что на момент публикации последней версии LAN Share более трех лет, а проект GitHub не участвовал в разработке почти два года. Это означает, что есть вероятность, что недостатки безопасности действительно присутствуют.
Flying Carpet
Большинство приложений, которые мы рассмотрели, для работы используют подключение к Интернету. Однако Flying Carpet перемещает файлы между устройствами без Bluetooth или Wi-Fi. Небольшому бесплатному приложению с открытым исходным кодом необходимо, чтобы оба устройства имели работающие карты Wi-Fi и были физически близко друг к другу.
Вы можете установить Flying Carpet не только на Linux, но и на Windows и macOS.
Flying Carpet временно отключает вас от любой беспроводной сети, в которой вы в данный момент находитесь, и использует радиопередатчик карты Wi-Fi для прямого подключения к другим устройствам, передающим сигнал Flying Carpet.
Если вам этого недостаточно, то сам процесс передачи также будет зашифрован. Когда вы инициируете передачу, принимающее устройство генерирует случайный пароль, который необходимо ввести в отправляющее устройство, чтобы выполнить и расшифровать передачу.
Имейте в виду, что вам может потребоваться открыть порт 3290 в настройках брандмауэра принимающего устройства, чтобы убедиться, что передача прошла успешно.
Portal от Pushbullet
Portal позволяет передавать файлы между устройством Linux и устройством Android или iOS через локальное подключение к Интернету. Что в нем уникально, так это то, что вам не нужно устанавливать какое-либо приложение на свое устройство Linux; вам просто нужно, чтобы веб-сайт портала был открыт, а приложение Portal было установлено на вашем телефоне или планшете.
Портал может быть для вас очень быстрым путем, так как он использует только QR-код для установления соединения между вашим устройством и телефоном, и вы можете сразу же начать перемещение файлов.
Стоит отметить, что Pushbullet накладывает некоторые ограничения на вашу передачу в бесплатной версии, включая ограничение в 25 МБ для каждого файла. Вам придется оформить подписку, если вы планируете перемещать большие файлы с помощью Portal.
Rsync
Rsync — один из наиболее безопасных вариантов, поскольку он может использовать протокол SSH, чтобы обеспечить максимальную безопасность передачи независимо от того, в какой сети вы находитесь. Он также кроссплатформенный, поэтому вы также можете воспользоваться передачей файлов на устройства, отличные от Linux.
Существует множество приложений для выполнения такой общей задачи, как беспроводная передача файлов. Скорее всего, ни один вариант не подойдет для каждого пользователя, и окончательный выбор может зависеть от используемых вами устройств и вашего уровня владения терминалом.
Однако, если вы часто перемещаете файлы между устройствами, вы можете создать свою автономную облачную службу.
How to set up a Wifi-Direct connection between Android and Linux
I want to connect two devices using Wifi-Direct. One is a pc with Linux (during my test I’m using Linux Mint 17.2), the other is an Android smartphone (Samsung Galaxy S3 with Android 4.3. Not rooted and don’t want to root). Reading a number of guides on the internet, I decided to use wpa_supplicant in Linux and to create an app for Android. This is one of the best guides I found for wpa_supplicant: https://web.archive.org/web/20210114180304/https://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_NLCP_WiFi_Direct_Configuration_Scripts When I run iw list I see that the «Supported interface modes:» allows P2P_client and P2P_GO. My wpa_supplicant.conf contains:
ctrl_interface=/var/run/wpa_supplicant update_config=1 ap_scan=1 device_name=My-pc device_type=1-0050F204-1 driver_param=use_p2p_group_interface=1 p2p_go_intent=15 p2p_go_ht40=1
The app is very similar to this example (it’s from a book) https://github.com/retomeier/Wrox-ProfessionalAndroid-4E/blob/9741a8b62005d49519b1decfea21e7213fdd94a3/Snippets_ch18/app/src/main/java/com/professionalandroid/apps/myapplication/WiFiDirectActivity.java It works as expected. When I try it with two Android devices, they can see each other and connect (it appear the Wifi-Direct icon). Now I am trying to connect Android and Linux, but I guess I don’t really understand how wpa_supplicant works. I also saw this question that is very similar to what I asked, but it doesn’t really answer my doubts. Direct Wifi Communication between android smartphone and other devices My problem is that I can’t understand how to do the handshake between the two devices and how to set up the network. Wpa_supplicant is my problem. I run:
sudo wpa_supplicant -wlan0 -Dnl80211 -c/etc/wpa_supplicant.conf sudo wpa_cli
- The device_name (and other parameters) weren’t set as I specifiend in the .conf file
- wpa_supplicant continues to try to connect to all the networks
- p2p_find was really slow.
so I went into /usr/share/dbus-1/system-services and moved away the two files
fi.epitest.hostap.WPASupplicant.service fi.w1.wpa_supplicant1.service
sudo killall wpa_supplicant
and it really dies, disconnecting me from Wifi without reconnecting the following second. Now I can launch wpa_supplicant and the three problems are resolved.
I go into wpa_cli, launch «p2p_find» and at the same time, I enable the search from within the app.
Android and Linux can now see each other.
P2P-DEVICE-FOUND 00:11:22:44:88:ff p2p_dev_addr=00:11:22:44:88:ff pri_dev_type=10-0050F204-5 name='GT-I9300' config_methods=0x188 dev_capab=0x24 group_capab=0x0 vendor_elems=1 new=0
With «p2p_peers» I can see the cellphone MAC.
Here I can’t go ahead. I tried various possibilities, but none of them worked. My objective is to have Linux as Group Owner.
- Question 1.1: Which is the correct way to handshake the two devices?
- Question 1.2: When I try p2p_connect I often get «Michael MIC failure detected» between the results, what does it means in this contest?
- Question 1.3: Android currently tries to connect with PBC. There is a way to connect with PIN?
Seeing that I couldn’t connect Android/Linux, I tried to do some practice with Linux/Linux (Linux Mint as GO, Ubuntu as Client), following examples from internet like the ones in the first link. I have a number of problems even here.
p2p_connect MAC_UBUNTU pin auth
p2p_connect MAC_MINT PIN_GENERATED_BY_MINT
When I write the psp_connect in Mint, it creates a new interface p2p_wlan0 _0, and it returns
P2P-DEVICE-LOST p2p_dev_addr=MAC_UBUNTU
then the p2p_connect launched from Ubuntu fails.
- Question 2.1 Why it switches interface when creating the group?
- Question 2.2 What is the correct way to handle this change? After the change I can’t p2p_find Ubuntu anymore (I have to wait some time or restart everything)
- Question 2.3 Should Ubuntu change it’s interface?
- Question 2.3 In the new interface I should set the IP for both Ubuntu and Mint. how should I do this with static IPs?
- Question 2.4 If I want to set up for example a DHCP server and client?
- Question 1.4 And with Android(client) / Linux(GO)?