首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用rfkill在ubuntu +肉桂上反演网络状态

利用rfkill在ubuntu +肉桂上反演网络状态
EN

Ask Ubuntu用户
提问于 2020-10-22 09:14:25
回答 1查看 142关注 0票数 0

我使用的是带肉桂的ubuntu,我厌倦了没有蓝牙开关,不得不使用rfkill来关闭BT。现在,我用blueman来打开BT,管理设备和连接,我在我的终端上使用rfkill来关闭它,在我使用它之后。我想要创建一个可点击的宏(例如:作为一个肉桂小程序,它将显示在我的任务栏上),它可以断断续续地打开BT。

我的问题是:是否有rfkill命令可以让您简单地反转设备的状态(如果被阻止,即解除阻塞,如果解除阻塞,则解除阻塞)?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2020-10-22 10:55:03

rfkill中没有反转标志,也没有替代的cli工具可以做到这一点。您可以为它编写一个类似下面这样的小脚本,并有一个键绑定启动脚本。

Note :您需要将您的用户添加到sudoers文件中,以便在没有密码的情况下运行rfkill。

代码语言:javascript
复制
#!/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语句:

代码语言:javascript
复制
if echo $currentState | grep 'Bluetooth Soft blocked: no'; then
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1285896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档