I have installed Bluetooth dongle software and with the help of commands (using a terminal), I want to send and receive files from a smartphone.
How can I pair my devices and send files over Bluetooth using Terminal?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.
Sign up to join this communitySend files:
bluetooth-sendto --device=12:34:56:78:9A:BC filename
To know your device name (12:34:56:78:9A:BC), you can issue this command:
hcitool scan
Receive files:
Haven't found it yet, but will let you know if it can be done using terminal
edit:
it looks like it can't be done through terminal. Blueman seems to do the trick but it's in GUI
I tested this with Ubuntu Bionic Beaver (18.04) and Android Lollipop.
Ubuntu. Install the needed packages:
sudo apt install bluez bluez-tools
bluez-tools come with the following tools: bt-adapter
bt-agent
bt-device
bt-network
Ubuntu. Turn on the visibility:
bt-adapter --set Discoverable 1
Smartphone. Scan for remote devices to ID your Ubuntu machine.
Ubuntu. Prep for managing incoming requests interactively with:
bt-agent
Pair devices:
Smartphone. Initiate pairing request;
Ubuntu. Accept the request from the bt-agent screen.
Ubuntu. Send files to smartphone with:
bt-obex -p [remote_mac] [file]
where [remote_mac] is the mac address of the smartphone. For example:
bt-obex -p F0:6B:CA:A2:C4:69 ~/book.pdf
Receive files from your smartphone:
Ubuntu First create a Bluetooth file (obex) server:
bt-obex -s [path]
[path] is where to download files. For example:
bt-obex -s ~/Downloads
Smartphone. Send the file;
yyy.txt
containing only lines with the y letter, and then run: cat yyy.txt | bt-obex -s ~/Downloads
. Your computer will accept all files over bluetooth without asking!
bluez-obexd
package. My received files also ended up in $USER/.cache/obexd/
rather than the specified directory.
May 17, 2022 at 5:12
This works on my computer:
bluedevil-sendfile -u /org/bluez/hci0/dev_<address with underscores instead of colons> -f <file_with_absolute_path>
For example:
bluedevil-sendfile -u /org/bluez/hci0/dev_00_FF_00_FF_00_FF -f /home/tux/test.pdf