我使用的是带肉桂的ubuntu,我厌倦了没有蓝牙开关,不得不使用rfkill来关闭BT。现在,我用blueman来打开BT,管理设备和连接,我在我的终端上使用rfkill来关闭它,在我使用它之后。我想要创建一个可点击的宏(例如:作为一个肉桂小程序,它将显示在我的任务栏上),它可以断断续续地打开BT。
我的问题是:是否有rfkill命令可以让您简单地反转设备的状态(如果被阻止,即解除阻塞,如果解除阻塞,则解除阻塞)?
发布于 2020-10-22 10:55:03
rfkill中没有反转标志,也没有替代的cli工具可以做到这一点。您可以为它编写一个类似下面这样的小脚本,并有一个键绑定启动脚本。
Note :您需要将您的用户添加到sudoers文件中,以便在没有密码的情况下运行rfkill。
#!/bin/bash
BTDEVNO=1
currentState=$(rfkill list $BTDEVNO)
if [[ $currentState =~ ": no" ]]; then
echo "Unblocked, going to block";
sudo rfkill block $BTDEVNO;
else
echo "Blocked, going to unblock";
sudo rfkill unblock $BTDEVNO;
fi编辑-关于sudoers (由Bruh制作):
要将rfkill添加到sudoers列表中,请键入sudo visudo,然后在文件末尾的%sudo行下面添加以下内容:
user_name : ALL=(ALL) NOPASSWD : /usr/sbin/rfkill
这将允许不需要sudo密码就可以运行rfkill。
编辑2-对脚本的轻微更改(由Bruh完成):
如果list似乎总是看到BT被阻塞,尽管手动rfkill列表显示它已解除阻塞,请尝试用以下方式替换If语句:
if echo $currentState | grep 'Bluetooth Soft blocked: no'; thenhttps://askubuntu.com/questions/1285896
复制相似问题