2022年7月

这篇教程演示如何使用脚本命令来发送自己的桌面通知与提醒。

 title=

有时候,来自脚本的视觉回馈是很有用的。例如,当一个脚本或计划任务完成时,一个长期运行的构建任务失败时,或者当脚本执行中出现了紧急问题时。桌面应用程序可以通过弹出通知来做到这一点,但脚本也可以做到这一点!你可以使用脚本命令来给自己发送桌面通知与提醒。

 title=

下面的代码是在 Linux 上编写和测试的。它也可以在 macOS 上运行,只需花点功夫。请参见最后一节 提示与技巧

从 Linux 终端发送通知

要从 Linux 终端发送通知,请使用 notify-send 命令。运行 which notify-send 命令来查看它是否在于你的系统中。如果没有,请使用包管理器来安装它。

在 Fedora 上,输入:

$ sudo dnf install notify-send

在基于 Debian 的发行版上,输入:

$ sudo apt install notify-send

几个简单的通知示例:

$ notify-send "Dinner ready!"
$ notify-send "Tip of the Day" "How about a nap?"

你可以用紧急程度、自定义图标等选项来自定义通知。过 man notify-send 了解更多。你也可以在通知正文中使用一小组 HTML 标记,以使消息有一个棒的视觉感受。最重要的是,URL 被呈现为可点击的。例如:

$ notify-send -u critical \
  "Build failed!" \
  "There were <b>123</b> errors. Click here to see the results: http://buildserver/latest"

 title=

发送的通知会被桌面环境接收,并像其他通知一样显示。它们将具有相同的外观、交互和行为。

将 notify-send 与 at 结合使用

计划任务通常被用来定期安排命令。at 命令安排在一个指定的时间执行一条命令。如果你像这样运行它,它会以交互模式启动,你可以在其中输入要在指定时间执行的命令:

$ at 12:00

这对脚本来说并不有用。幸运的是 at 接受来自标准输入的参数,所以我们可以这样使用它:

$ echo "npm run build" | at now + 1 minute
$ echo "backup-db" | at 13:00

有许多指定时间的方法。 从绝对时间,如 10:00,到相对时间,如 now + 2 hours ,再特殊时间,如noonmidnight。我们可以把它和 notify-send 结合起来,在未来的某个时间向自己发送提醒。例如:

$ echo "notify-send 'Stop it and go home now?' 'Enough work for today.' -u critical" | at now

 title=

提醒的命令

现在,建立一个自定义的 Bash 命令来给自己发送提醒信息。像这样简单且人性化的命令:

$ remind "I'm still here" now
$ remind "Time to wake up!" in 5 minutes
$ remind "Dinner" in 1 hour
$ remind "Take a break" at noon
$ remind "It's Friday pints time!" at 17:00

这比 Alexa 更好!该怎样做?

请看下面的代码。它定义了一个名为 remind 的函数,它支持上述语法。实际工作是在最后两行完成的。其余的部分负责显示帮助信息、参数校验等,这与任何大型应用程序中有用的代码与必要的白噪声的比例大致相同。

把代码保存在某个地方,例如,在 ~/bin/remind 文件中,并在你的 .bashrc 配置文件写入该函数,以便在你登录时加载它:

$ source ~/bin/remind

重新打开终端,然后输入 remind 来查看语法。尽情享受吧!

#!/usr/bin/env bash
function remind () {
  local COUNT="$#"
  local COMMAND="$1"
  local MESSAGE="$1"
  local OP="$2"
  shift 2
  local WHEN="$@"
  # Display help if no parameters or help command
  if [[ $COUNT -eq 0 || "$COMMAND" == "help" || "$COMMAND" == "--help" || "$COMMAND" == "-h" ]]; then
    echo "COMMAND"
    echo "    remind &lt;message&gt; &lt;time&gt;"
    echo "    remind &lt;command&gt;"
    echo
    echo "DESCRIPTION"
    echo "    Displays notification at specified time"
    echo
    echo "EXAMPLES"
    echo '    remind "Hi there" now'
    echo '    remind "Time to wake up" in 5 minutes'
    echo '    remind "Dinner" in 1 hour'
    echo '    remind "Take a break" at noon'
    echo '    remind "Are you ready?" at 13:00'
    echo '    remind list'
    echo '    remind clear'
    echo '    remind help'
    echo
    return
  fi
  # Check presence of AT command
  if ! which at &gt;/dev/null; then
    echo "remind: AT utility is required but not installed on your system. Install it with your package manager of choice, for example 'sudo apt install at'."
    return
  fi
  # Run commands: list, clear
  if [[ $COUNT -eq 1 ]]; then
    if [[ "$COMMAND" == "list" ]]; then
      at -l
    elif [[ "$COMMAND" == "clear" ]]; then
      at -r $(atq | cut -f1)
    else
      echo "remind: unknown command $COMMAND. Type 'remind' without any parameters to see syntax."
    fi
    return
  fi
  # Determine time of notification
  if [[ "$OP" == "in" ]]; then
    local TIME="now + $WHEN"
  elif [[ "$OP" == "at" ]]; then
    local TIME="$WHEN"
  elif [[ "$OP" == "now" ]]; then
    local TIME="now"
  else
    echo "remind: invalid time operator $OP"
    return
  fi
  # Schedule the notification
  echo "notify-send '$MESSAGE' 'Reminder' -u critical" | at $TIME 2&gt;/dev/null
  echo "Notification scheduled at $TIME"
}

简单的提醒

通过这几个简单的开源命令,你可以将你自己的脚本、应用程序和任务与你的桌面结合起来。试一试吧!


(文内图片来自 Tomasz Waraksa, CC BY-SA 4.0)

本文经作者许可改编自 原文


via: https://opensource.com/article/22/1/linux-desktop-notifications

作者:Tomasz Waraksa 选题:lujun9972 译者:mcfd 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

二十多年前,我刚刚接触计算机时,那时候觉得编程真是一件神奇的事情,居然可以操作屏幕上神奇的字符!要说我自己的第一个编程“作品”,那可能是试图在 286 PC 的黑白显示器绘制一个钢琴键盘,并可以响应按键发出不同频率的蜂鸣声 —— 是的,那时候还没有声卡,只有开机时会“滴”一下的扬声器。虽然这个简陋的尝试并没有完成,但却给了我极大的乐趣,也开启了我的编程生涯。

从《代码大全》 到 StackOverflow 大师

后来,当我在北京找到第一份工作时,学会了 Perl 语言,编写了我的第一个 CGI 程序(互动网页),编程于是成为了我吃饭的本领。

上世纪末,互联网刚刚在国内兴起,人们编程时所能求助的外援,大多是各种语言手册、类库大全等书籍。这其中有一本著名的大部头被很多程序员置于案头,它就是《代码大全》,这本书里面提供了很多有用的、精妙的编程示例和技巧。往往在遇到编程难点时,程序员们可以“复制”书中的一些最佳实践来解决。

随着互联网的普及,逐渐出现了 Stack Overflow 之类的编程类问答网站。程序员们惊喜的发现,原来很多困扰自己的编程难题都可以在网上找到答案,且点赞数较高的代码示例比自己写的还要好。于是乎,很多“程序员”变成了“谷歌程序员”/“百度程序员”,搜索、复制,然后粘贴就好了。以至于,StackOverflow 在某年愚人节的 恶作剧 说,它将限制对其网站的免费访问,除非人们购买“钥匙”:一个带有“打开 Stack Overflow”、“复制”和“粘贴”的按钮的设备,算是对这种直接复制、粘贴的做法表达了一种冷幽默。最有趣的是,居然有热心网友联合键盘定制厂商,真将这块特别的键盘定制出来了,并以 29 美元出售。

程序员们是否越来越成为一种熟练工?

随着写的代码越来越多,这种有趣但有时候又很枯燥的重复工作,让我想过什么时候可以有个会编程的程序就好了。

在做过很多编程工作之后,我发现,编程很多时候就是一种例程和模式的重复应用。无论是 C 或 Java 语言,还是 JavaScript、Python 语言,都有庞大无比的类库、例程库。很多时候,你花费了很长的时间,只是为了找到合适的类库和它的用法罢了。至于说自己创造的代码,不过是将其粘合起来的胶水而已。

似乎程序员的“创造性工作”,越来越沦落为快餐店配餐员工一样的地步:根据“下单”,去选择合适的“餐品”,组合搭配之后,放上“餐盘”,送给“顾客”,然后时不时还会被“顾客”讨要一些忘记附送的“餐巾纸”之类的。当这种熟练工的工作逐渐被产品经理等非技术人员识破后,程序员们经常会被嘲笑为“写 Bug的”。

人工智能编程步入实用

这还不够,程序员们甚至连这种复制、粘贴的熟练工作都嫌麻烦,于是一些聪明的程序员们就将眼光放在了近些年大热的人工智能上了。既然现在人工智能已经“无所不能”了,何不请人工智能来编程呢?

对于这一倡议,“光头老板们”表示非常欢迎,这样就再也不用招聘昂贵的程序员了,也不用伺候那些程序员们的怪癖了 —— 比如要么键盘敲得飞起,要么半小时才按几个按键;比如晴天不编程,雨天不编程,心情不好不编程,心情好也不编程 …… 玩笑之余,程序员们看起来已经快没有这种好日子了。

GitHub,对,就是那个被微软收购了的“全球最大的同性交友社区”,他们手握世界上最大的编程代码库,于是就用它训练出来了一个会编程的人工智能 —— Copilot。不要误会,Copilot 不是 “Copy Lot” 的意思,是指“副驾驶”。

在 Copilot 横空出世后,抛开业界对它的许可证问题等道德批评之外,据使用过的人说,“真乃神器也”。你可以简单地描述你要做的事情,它就可以从它庞大的代码库中给出一段你需要的代码,稍加修改甚至无需修改就能直接使用。于是,你看到了,一群程序员,在输入几行字之后,他的 IDE 就马上给出一大段的代码,然后他再这里点点那里按按,假模假式地修改一番,就完成了一个功能。

甚至,聪明的程序员们发现,他们不但可以让人工智能写代码,而且开发规范所要求的代码注释也是现成的。如果不是用那段写给人工智能的文字做注释的话,你还可以让人工智能帮你注释那些蹩脚的代码。

好吧,程序员还需要干什么?只需要按按钮吗?

不止如此,现在的人工智能,除了替你编程之外,还能自己训练模型了。对,你没看错,人工智能可以自己训练 AI 模型了,这是要进化了嘛?

程序员怎么办?写 Bug 吗?

怎么样,是不是感觉自己当年选计算机专业有点明珠暗投的意思了?现在人工智能这么厉害,不仅仅一些传统的依赖人工完成的工作会被人工智能取代,连我们程序员们都面临着失业的风险了。

当然不,其实,至少在目前来看,人工智能还只能是“人工”智能,远没有到全面取代程序员的程度。但是,一些比较简单的、形成模式的编程工作,肯定会被逐渐优化,这一点可以从“低代码”再次流行起来可见一斑。

作为创造程序的人,如果你不想被另外一段程序取代你的工作,只有掌握创造的能力,才不会被淘汰。反而,你可以利用人工智能提升自己的编程水平和效率。

所以,道路很清楚了,在这个人工智能大行其道的时代,你想继续呆在空调房,坐在人体工学的椅子上,手拥若干大显示屏,挥斥方遒吗?只有一条路,做人工智能做不了的事情,掌握人工智能,让它为你所用。

好了,图穷匕见了,这篇文章就是一篇软文,是来劝你抓紧投身人工智能的!

如何,感兴趣吗?

.

.

.

好,我看到你的兴趣了。不过我知道你还有点疑虑,比如学习人工智能技术是不是很难?是不是需要很多资源(比如训练模型时)?是否有人可以指导你?是否有更多同好可以一起前进呢?

正好,现在有个绝佳的机会。华为最近在全国举办“2022 年昇腾 AI 创新大赛”,除了高达千万元的丰厚奖金(为什么我要先说这个),还有遍布全国的各个分赛点,以及参赛过程的全程辅导。当然,你需要做好迈上人工智能这条赛道的充分准备了。

这场大赛是面向人工智能开发者打造的顶级赛事,旨在鼓励全产业开发者基于昇腾计算技术,共同打造软/硬件解决方案、探索模型算法,加速人工智能与行业融合,促进开发者能力提升。

整个赛程长达半年,在我看来,无论你是初窥人工智能门径的初学者,亦或是具有丰富经验的编程大佬,这段时间都足够你打磨出一款不错的作品。说不定这次大赛的几十万大奖就是你的啦!

整个比赛分为应用赛道与昇思赛道两个部分,大家可以“组队打怪”:

  • 对于企业、高校或科研机构的团队,可以开发基于昇腾软硬件平台的解决方案。基于昇腾全栈 AI 软硬件平台(包含 Atlas 系列硬件、异构计算架构 CANN、AI 框架昇思 MindSpore、应用使能 MindX 等)开放命题,围绕人工智能深度学习技术,探索有具体落地的创新方案。从区域赛晋级的队伍还能参与全国赛奖金的角逐,全国赛最高奖金可达 20 万,赢取双份奖金!
  • 对于个人开发者(或团队)可以参与昇思赛道的比赛。赛题包括 20 道论文复现赛题与 10 道前沿课题任务。选手完成论文复现或者创新挑战的成果将在昇思社区与启智社区进行开源,赋能更多开发者。

具体的情况,请参考 《昇腾 AI 创新大赛》官网或以下海报:

微软仍计划默认屏蔽下载的 Office 文件中的宏

多年来,黑客们经常用恶意的宏来攻击 Office 文件。微软原本计划要求 Office 用户在打开从互联网下载的 Office 文件时,通过在文件属性中专门勾选一个解禁选项来启用宏程序。之前计划在 6 月份实施。但微软在 6 月 30 日突然撤销了这一阻止。微软解释称,“根据用户的反馈,我们暂时回退了这一变化,同时我们做了一些额外的改变以提高可用性。”目前,Office 用户可以简单地在文件顶部的横幅上点击一个启用按钮。微软称,“这是一个临时的变化,我们完全致力于为所有用户进行默认的改变。”

消息来源:The Verge
老王点评:宏给 Office 带来的好处不如它带来的问题更多,这一举措确实有助于微软提供更好的产品体验。

PyPI 将向关键项目赠送 4000 个安全密钥

PyPI 由 Python 软件基金会(PSF)管理,是 Python 开发人员获得第三方开发的开源包的主要仓库。这些库的安全影响到了整个 Python 生态的安全,PSF 现在强制要求“关键项目”的开发人员在未来几个月内使用双因素认证(2FA),这使得开发人员可以保护自己难于盗取凭证。任何在过去六个月里下载量排名前 1% 的项目将被视作关键项目,有超过 3800 个项目被评为“关键”,这涉及到 8241 个 PyPI 用户。作为 PSF 的赞助商,谷歌开源安全团队提供了 4000 个谷歌泰坦安全密钥,以分发给这些维护者。PyPI 数据显示,目前有 28336 个用户启用了 2FA,其中近 27000 个用户使用的是像“微软验证器”这样的 2FA 应用。

消息来源:ZDNet
老王点评:虽然 2FA 密钥不能完全避免被盗取凭证,但是却可提供大部分保护。

美国企业领导人敦促加强计算机科学教育

超过 500 名美国的商业、教育和非营利组织领导人发表了一封公开信,呼吁美国各州政府和教育负责人为全美的 K-12 学生提供更多的计算机科学教育。他们称,“美国在技术方面领先世界,但我们的高中生中只有 5% 学习计算机科学。这怎么能接受呢?……近三分之二的高技能移民是计算机科学家,每个州都是这种战略人才的进口商。美国有超过 70 万个开放的计算机职位,但每年只有 8 万名计算机科学毕业生。”

消息来源:Geek Wire
老王点评:从这个风向标来看,学计算机还是挺有前景的,当然,我建议你留着国内发展。

du 和 ncdu 两个命令提供了相同信息的两种不同视图,便于我们跟踪存储在计算机上的内容。

无论你有多少存储空间,了解文件占用了多少磁盘空间都是一个重要的考虑事项。我的笔记本有一个相对较小的 250GB NVME 驱动器,大多数时候都没什么问题,但几年前我开始探索 Linux 上的游戏,情况变得有所不同,安装 Steam 和其他游戏使存储管理更加重要。

du 命令

检查磁盘驱动器上剩余存储空间最简单的方法是 du 命令。它会估计文件空间使用情况,像其他所有 Linux 工具一样,du 非常强大,但学会如何根据你的特定需求使用它会很有帮助。我总是查阅手册页来掌握实用程序的用法。du 有几个选项,可以为你提供文件存储的最佳快照,以及它们在系统上消耗多少空间。

du 命令有很多选项,以下是一些常见的:

  • -a - 包括文件夹和文件在内的存储信息
  • --apparent-size - 打印自身大小而不是占用磁盘量
  • -h - 人类可读的格式
  • -b - 以字节为单位
  • -c - 总计
  • -k - 以块为单位
  • -m - 以兆字节为单位的大小

务必查看 du 手册页获取完整帮助列表。

显示所有文件

你可以选择的第一个选项是 du -a,它可以显示系统上所有文件及其存储目录的大小。这个命令让我知道了我的主目录中存储了 11555168 个字节。使用 du -a 可以快速递归地查看我的存储系统。如果我想要一个更有意义的数字,并且我想深入到目录中查看大文件的位置,该怎么办?

我认为在 Downloads 目录下有一些大文件,所以我输入 du -a /home/don/Downloads 来查看。

$ du -a ~/Downloads
4923    ./UNIX_Driver_5-0/UNIX Driver 50
4923    ./UNIX_Driver_5-0
20      ./epel-release-latest-9.noarch.rpm
12      ./rpmfusion-free-release-9.noarch.rpm
2256    ./PZO9297 000 Cover.pdf
8       ./pc.md
2644    ./geckodriver-v0.31.0-linux64.tar.gz
466468

最左边的数字是以字节为单位的文件大小。我想要一些对我更有帮助的东西,所以我将人类可读格式的选项添加到命令中,结果是 456M(兆字节),这对我来说是一种更有用的数字格式。

$ du -ah ~/Downloads
4.9M    ./UNIX_Driver_5-0/UNIX Driver 50
4.9M    ./UNIX_Driver_5-0
20K    ./epel-release-latest-9.noarch.rpm
12K    ./rpmfusion-free-release-9.noarch.rpm
2.2M    ./PZO9297 000 Cover.pdf
8.0K    ./pc.md
2.6M    ./geckodriver-v0.31.0-linux64.tar.gz
456M    .

与大多数 Linux 命令一样,你可以组合选项,要以人类可读的格式查看 Downloads 目录,使用 du -ah ~/Downloads 命令。

总和

-c 选项在最后一行提供了磁盘使用总和。我可以使用 du -ch /home/don 来显示主目录中的每个文件和目录。这里有很多信息,我只想知道最后一行的信息,所以我将 du 命令通过管道传输给 tail 来显示最后几行。命令是 du -ch /home/don | tail。(LCTT 校注:可以使用 tail -1 来仅显示最后一行汇总行。)

将 du 命令输出通过管道传输到 tail

ncdu 命令

对存储在驱动器上内容感兴趣的 Linux 用户,另一个选择是 ncdu 命令,它代表 “NCurses 磁盘使用情况”。基于你的 Linux 发行版,你可能需要下载并安装它。

在 Linux Mint、Elementary、Pop\_OS! 或其它基于 Debian 的发行版上:

$ sudo apt install ncdu

在 Fedora、Mageia 或 CentOS 上:

$ sudo dnf install ncdu

在 Arch、Manjar 或者类似发行版上:

$ sudo pacman -S ncdu

安装后,你可以使用 ncdu 来分析你的文件系统。以下是在我的主目录中发出 ncdu 后的示例输出。ncdu 的手册页指出 “ncdu(NCurses Disk Usage)是众所周知的 du 基于 curses 的版本,它提供了一种快速查看哪些目录正在使用磁盘空间的方法。”

du 命令输出

我可以使用方向键上下导航,按下回车键进入目录。有趣的是,du 报告我的主目录中的总磁盘使用量为 12GB,而 ncdu 显示为 11GB。你可以在 ncdu 手册页中找到更多信息。

你可以将 ncdu 指向某个目录来探索特定目录。例如,ncdu /home/don/Downloads

ncdu 命令输出

? 键显示帮助菜单。

ncdu 帮助

总结

duncdu 两个命令提供了相同信息的两种不同视图,便于我们跟踪存储在计算机上的内容。

如果你不习惯使用终端,或者想寻找此类信息的另一种查看方式,可以看看 GNOME 磁盘使用分析器。如果你的系统上还没有它,你可以轻松安装和使用它。检查你的发行版是否有 baobab 开发的这个软件,如果你想试试,那就去安装它吧。

(文内图片来自于 Don Watkins, CC BY-SA 4.0)


via: https://opensource.com/article/22/7/check-disk-usage-linux

作者:Don Watkins 选题:lkxed 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Internxt 发布了一个新产品,它可以让你快速地将加密文件发送给任何人,同时保持你的隐私。嗯,我们只能希望它不会像 Firefox Send 那样关闭吧……

Internxt

Internxt 是一个相当新的开源加密云服务,旨在取代大型科技公司的产品。例如,你可以把它作为谷歌的相册和云端硬盘的替代品。

它免费提供 10 GB 的容量。所以,如果感兴趣的话,你可以注册个账号试一试。

最近,他们还新增了另一个产品 “Internxt Send”,作为 Firefox Send 的替代品,填补这个空缺。

唉,说到这里还挺遗憾的,Firefox Send 已停止服务了,不得不说它是一个很好的工具!

不过,Internxt Send 让你可以像 Firefox Send 一样安全地发送/共享图像、视频、文档和其他文件。

Internxt Send:一个安全的文件共享服务

我在 GitHub 上找不到 Internxt Send 的存储库,但我已经要求他们澄清了。

(LCTT 译注:虽然 Internxt 是在 GitHub 上开源的,但是 GitHub 上没有 Internxt Send 这个产品的存储库,产品的介绍里也没有声称它是开源的。)

正如你所期望的那样,你无需创建帐户即可将文件上传到 Internxt Send。

文件上传限制为 5 GB。而且,你不能以任何方式提高这个限制。

你可以选择文件,上传并生成共享链接。或者,你也可以直接向收件人发送电子邮件,那样的话,你需要在邮件里分享你的电子邮件地址。

有趣的是,它还允许你在这个电子邮件中添加自定义文本。

与 Firefox Send 不同的是,你无法修改文件共享链接的到期时间,或者是让它在多次下载后失效。默认情况下,链接会在 15 天后过期,你无法更改这个时间。嗯,这还挺扫兴的。

但是,对于那些正在苦苦等待一个加密的共享文件服务的人来说,这可能是一种替代方案。

我认为有更多的 Firefox Send 替代品是件好事!你对 Internxt Send 有何看法?欢迎在下方评论区里和大家分享。


via: https://news.itsfoss.com/internxt-send/

作者:Ankush Das 选题:lkxed 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

越来越多的网站不支持 Firefox

日本 NHK 宣布在其视频平台 NHK+ 上将不支持 Firefox,而推荐用户使用 Chrome、Edge 或 Safari 的最新版本。苹果的商业网站 business.apple.com 也把 Firefox 排除在支持范围之外,使用任何版本的 Firefox 打开该网站就会显示“你的浏览器不受支持”,它也推荐用户使用 Firefox 外的浏览器。

消息来源:Solidot
老王点评:虽然 Firefox 的标准遵从性还不错,但是随着 Chrome 的市场占据了大部分份额,网站也会越来越依赖 Chrome 独有的一些特性。Firefox 的日子会越来越难过。

科学家找到了一类量子算法可以解决的新问题

1994 年数学家 Peter Shor 想出了如何让量子计算机完成普通经典计算机无法做到的事情。原则上,一台基于量子规则的机器可有效地将大数分解为质因数,这对于经典计算机来说,这是一项非常困难的任务。但三十年来,科学家们仅在一个被称为 NP 的标准集中发现了一个单一的、狭窄的问题类别可以显著加速。今年四月,科学家们又发现了一类量子计算可以以指数级速度解决的问题:它涉及仅根据混乱的输出来计算复杂数学过程的输入。

消息来源:Solidot
老王点评:目前看起来量子计算还只能用在很狭窄的领域,什么时候可以进行通用计算,或许带来的是颠覆性的变化,对这一天,我是又期盼,又恐惧。

过去十年的本田车型都可能受到网络攻击

安全研究人员发布了他们使用手持无线电解锁和远程启动几辆本田汽车的视频,他们称,这是因为 2012 年至今 10 年间生产的许多本田汽车的无钥匙进入系统存在漏洞。这种攻击使用无线电设备记录来自钥匙扣的合法无线电信号,然后将其传送到汽车上。这被称为重放攻击。理论上,每个信号应该只起一次作用;当按下按钮解锁汽车时,车就会解锁并且这个信号不应该再次用于解锁。但安全研究人员发现,这种攻击之所以奏效是因为它能够重新同步汽车的计数器,使之可以接受旧的代码。但本田否认了这一漏洞。

消息来源:The Drive
老王点评:目前看起来汽车的电子钥匙其实挺危险的。