this post was submitted on 22 Apr 2024
0 points (NaN% liked)

Linux

48133 readers
1045 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Every time I wake up PC from sleep I have to go to bluetooth settings -> select device -> enable connection to get sound on bluetooth speakers (Anker Soundcore). Bluetooth came with MBO and drivers were working out of the box after PopOS install.

I hope there is a command I can use instead of clicking in the GUI. Anyone know a command I could use?

[SOLUTION]

Using this command (with bluetooth speaker MAC address):

bluetoothctl connect A4:77:58:0A:DF:F1

[SOLUTION]

Bonus question: I was thinking I could map that command to a keyboard shortcut (like CTRL+ALT+B). What is the best way (or app) to accomplish this? I believe I could google this part quickly, but happy to hear suggestions anyway

[SOLUTION]

It's possible with PopOS: Settings -> Keyboard -> Keaboard Shortcuts -> Custom Shortcuts

[SOLUTION]

<3

you are viewing a single comment's thread
view the rest of the comments
[–] rambos@lemm.ee 0 points 6 months ago (1 children)

Thx! I could enable/disable bluetooth with your commands and that didn't solve my problem, but helped me google the right command. It is actually much simpler that I thought, I just had to find speakers MAC and I can use:

bluetoothctl connect A1:11:22:3A:CD:F1

Now working on mapping that to a key, cheers!

[–] Para_lyzed@lemmy.world 0 points 6 months ago* (last edited 6 months ago) (1 children)

You could also run the command automatically every time your screen is unlocked depending on your DE. For instance, if you use GNOME, this will likely work

EDIT: see comment below for better solution

[–] rambos@lemm.ee 0 points 6 months ago (1 children)

Thank you! I use GNOME, but this is kinda confusing tbh. I was also looking at this forum post where I should put a script in /lib/systemd/system-sleep/. I should play around with that, but can't afford breaking system right now xD. Will try it soon, I might install separate OS just for testing

[–] Para_lyzed@lemmy.world 1 points 6 months ago

Well, for your particular case, you'd make a script, and a service to run that script on boot. Once the service starts, it will keep itself alive.

Here's the script:

bluetooth-reconnect.sh

#!/bin/bash

dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
  while read x; do
    if echo $x | grep -q "boolean false"
      bluetoothctl connect A1:11:22:3A:CD:F1
    fi
  done

You'd place this script somewhere that has system execution privilege (if your distro uses SELinux). I will use the directory /usr/scripts/ for example purposes (note that you will have to create this folder). Make sure to mark it executable with chmod +x /usr/scripts/bluetooth-reconnect.sh

You'd then write a service to start at boot, just really barebones and simple:

bluetooth-reconnect.service

[Unit]
Description=Reconnect Bluetooth after waking from sleep
After=default.target

[Service]
Type=simple
ExecStart=/usr/scripts/bluetooth-reconnect.sh

[Install]
WantedBy=multi-user.target

Move the service into /etc/systemd/system/ (filepath should be /etc/systemd/system/bluetooth-reconnect.service), and enable it and start it:

sudo systemctl enable bluetooth-reconnect.service && sudo systemctl start bluetooth-reconnect.service

And you should be good to go. At least assuming your distro doesn't have some specific quirk, which I wouldn't be able to help you with unless I knew what distro you run. Granted, this is my adaptation of what I saw in the linked forum and my own experience with services, I haven't actually tested this. But even if it has an issue, this will get you 90% of the way there, and there's a good chance it just works if the forum answers work for your distro.