bluez-simple-agent
Pair Bluetooth devices easily
SYNOPSIS
bluez-simple-agent [capability]
PARAMETERS
capability
Specifies the I/O capabilities of the agent for pairing. This dictates how the agent handles authentication challenges (e.g., displaying passkeys, inputting codes, or automatic pairing without user interaction).
Possible values include:
- DisplayOnly: The agent can only display a passkey.
- DisplayYesNo: The agent can display a passkey and confirm/deny (yes/no).
- KeyboardOnly: The agent can only input a passkey.
- NoInputNoOutput: The agent has no I/O capabilities (for automatic pairing where no user interaction is needed).
- KeyboardDisplay: The agent can both display and input passkeys.
DESCRIPTION
bluez-simple-agent is a command-line utility from the BlueZ project, which serves as the official Bluetooth protocol stack for Linux. It functions as a rudimentary Bluetooth pairing agent, facilitating the connection and pairing of Bluetooth devices with a Linux system.
Unlike more interactive and feature-rich tools such as bluetoothctl, bluez-simple-agent is designed for straightforward, often programmatic use. It listens for incoming pairing requests and handles the authentication process based on the specified I/O capabilities of the agent. This utility simplifies the process of establishing basic Bluetooth connections by automating aspects of passkey entry or confirmation, making it suitable for quick setups, automated tasks, or headless environments where extensive user interaction is not feasible or desired.
CAVEATS
bluez-simple-agent is generally considered an older or simpler utility within the BlueZ ecosystem. For interactive Bluetooth management and more robust agent capabilities, bluetoothctl is the preferred and more commonly used tool in modern Linux distributions. This command might not be present by default in all BlueZ installations or might be part of an older bluez-utils package.
It lacks advanced features like device discovery filtering or persistent device management, which are typically handled by the main Bluetooth daemon (bluetoothd) and comprehensive tools like bluetoothctl. Its primary purpose is handling a single pairing interaction rather than comprehensive Bluetooth device administration.
USAGE CONTEXT
bluez-simple-agent is typically run in the foreground and waits for an incoming pairing request. After a successful pairing, the command usually exits. For persistent agent functionality or managing multiple devices interactively, it's often combined with other BlueZ commands or the bluetoothd service.
Its straightforward nature makes it particularly suitable for embedded systems, servers without a graphical interface, or within automated scripts where a simple and non-interactive Bluetooth pairing solution is required.
HISTORY
The BlueZ project has been the standard Linux Bluetooth stack for many years, constantly evolving. bluez-simple-agent emerged as one of the earlier client utilities designed to interact with the BlueZ daemon for basic pairing operations. Its usage became common in scripting or for automated Bluetooth setups, particularly before the widespread adoption of more comprehensive interactive tools like bluetoothctl.
While still functional, its role has largely been superseded by bluetoothctl, which offers a more complete and interactive experience for Bluetooth device management. Despite this, its simplicity keeps it relevant for specific scripting needs or embedded systems.
SEE ALSO
bluetoothctl(1), bluetoothd(8), hciconfig(8), btmgmt(8)