2021年11月

情况是这样的。我的系统自带 Windows 10 Pro,并且带有 BitLocker 加密功能。我 甚至在 Windows 启用了 BitLocker 加密的情况下,以双启动模式安装了 Ubuntu

你可以轻松地从 Linux 中访问 Windows 文件。没有什么高科技的东西。只要进入文件管理器,点击通常位于“ 其他位置 Other Locations ”标签下的 Windows 分区。

Mounting Windows partition through the file manager in Linux desktop

对于 BitLocker 加密的 Windows 分区来说,这个过程也不是太复杂。只是当你试图挂载 Windows 分区时,它会要求你输入密码。

Password required for encrypted Windows drive mount in Linux

这是能工作的。在我的情况中,我输入了 48 位 BitLocker 恢复密码,它解密了 Windows 分区,并在带有 GNOME 40 的 Ubuntu 21.10 中毫无问题地挂载了它。

试试你的 BitLocker 密码。如果这不起作用,试试恢复密码。对于普通的 Windows 10 Pro 用户,恢复密码存储在你的微软账户中。

BitLocker Recovery Password in Micrsoft Account

输入恢复密码,你会看到 Windows 分区和它的文件现在可以访问。勾选“ 记住密码 Remember Password ”框也是为了进一步使用而节省时间。

Encrypted Windows partition now mounted in Linux

如果上述方法对你不起作用,或者你不熟悉命令行,还有一个替代方法。

这个方法包括使用一个叫做 Dislocker 的工具。

使用 Dislocker 在 Linux 中挂载 BotLocker 加密的 Windows 分区(命令行方法)

使用 Dislocker 分为两部分。第一部分是解开 BitLocker 的加密,并给出一个名为 dislocker-file 的文件。这基本上是一个虚拟的 NTFS 分区。第二部分是挂载你刚刚得到的虚拟 NTFS 分区。

你需要 BitLocker 密码或恢复密码来解密加密的驱动器。

让我们来看看详细的步骤。

步骤 1:安装 Disclocker

大多数 Linux 发行版的仓库中都有 Dislocker。请使用你的发行版的包管理器来安装它。

在基于 Ubuntu 和 Debian 的发行版上,使用这个命令:

sudo apt install dislocker

Installing Dislocker in Ubuntu

步骤 2:创建挂载点

你需要创建两个挂载点。一个是 Dislocker 生成 dislocker-file 的地方,另一个是将这个 dislocker-file(虚拟文件系统)作为一个回环设备挂载。

没有命名限制,你可以给这些挂载目录起任何你想要的名字。

逐一使用这些命令:

sudo mkdir -p /media/decrypt
sudo mkdir -p /media/windows-mount

Creating mount points for dislocker

步骤 3:获取需要解密的分区信息

你需要 Windows 分区的名称。你可以使用文件资源管理器或像 Gparted 这样的 GUI 工具。

Get the partition name

在我的例子中,Windows 分区是 /dev/nvme0n1p3。对你的系统来说,这将是不同的。你也可以使用命令行来达到这个目的。

sudo lsblk

步骤 4:解密分区并挂载

你已经设置好了一切。现在是真正的部分。

如果你有 BitLocker 密码,以这种方式使用 dislocker 命令(用实际值替换 <partition_name><password>):

sudo dislocker <partition_name> -u<password> -- /media/decrypt

如果你只有恢复密码,请以这种方式使用该命令用实际值替换 <partition_name><password>):

sudo dislocker <partition_name> -p<recovery_password> -- /media/decrypt

在解密该分区时,应该不会花很长时间。你应该在指定的挂载点看到 dislocker-file,在我们的例子中是 /media/decrypt。现在挂载这个 dislocker-file:

sudo mount -o loop /media/decrypt/dislocker-file /media/windows-mount

完成了。你的 BitLocker 加密的 Windows 分区已经被解密并挂载到 Linux 中。你也可以从文件资源管理器中访问它。

Mounting Dislocker decrypted Windows partition with file manager

文件系统类型错误的故障排除提示

如果你遇到这样的错误:

mount: /media/windows-mount: wrong fs type, bad option, bad superblock on /dev/loop35, missing codepage or helper program, or other error.

你应该在挂载时指定文件系统。

对于NTFS,使用:

sudo mount -t ntfs-3g -o loop /media/decrypt/dislocker-file /media/windows-mount

对于 exFAT,使用:

sudo mount -t exFAT-fuse -o loop /media/decrypt/dislocker-file /media/windows-mount

解除对 Windows 分区的挂载

你可以从文件管理器中取消挂载的分区。只要点击名为 windows-mount 的分区旁边的卸载符号

或者,你可以使用卸载命令:

sudo umount /media/decrypt
sudo umount /media/windows-mount

我希望这对你有帮助。如果你还有问题或建议,请在评论中告诉我。


via: https://itsfoss.com/mount-encrypted-windows-partition-linux/

作者:Abhishek Prakash 选题:lujun9972 译者:geekpi 校对:wxy

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

用你的 Linux 终端中从互联网上下载文件。

 title=

wget 是一个下载网页文件的免费工具。它将互联网上的数据保存到一个文件或展示在终端上。实际上这也是像 Firefox 或 Chromium 这样的网页浏览器的工作原理。有一个区别是,网页浏览器默认将网页 渲染 render 在图形窗口中,并且通常需要用户主动来操作它们。而 wget 工具是无交互的使用方式,也就是说你可以使用脚本或定期使用 wget 来下载文件,不论你人是否在电脑面前。

使用 wget 下载文件

你可以通过提供一个特定 URL 的链接,用 wget 下载一个文件。如果你提供一个默认为 index.html 的 URL,那么就会下载该索引页。默认情况下,文件会被下载到你当前的工作目录,并保持原来的名字。

$ wget http://example.com
--2021-09-20 17:23:47-- http://example.com/
Resolving example.com... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946
Connecting to example.com|93.184.216.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1256 (1.2K) [text/html]
Saving to: 'index.html'

通过使用 --output-document- 符号,你可以指示 wget 将数据发送到 标准输出 stdout

$ wget http://example.com --output-document - | head -n4
<!doctype html>
<html>
<head>
   <title>Example Domain</title>

你可以使用 --output-document 选项(简写为 -O)将下载文件命名为任何你想要的名称:

$ wget http://example.com --output-document foo.html

断点续传

如果你正在下载一个超大文件,你可能会遇到中断下载的情况。使用 --continue(简写为 -c),wget 可以确定从文件的哪个位置开始继续下载。也就是说,下次你在下载一个 4 GB 的 Linux 发行版 ISO 时,如果出现了错误导致中断,你不必重新从头开始。

$ wget --continue https://example.com/linux-distro.iso

下载一系列的文件

如果你要下载的不是单个大文件,而是一系列的文件,wget 也能提供很好的帮助。假如你知道要下载文件的路径以及文件名的通用范式,你可以使用 Bash 语法指示一个数字范围的起始和终点来表示这一系列文件名:

$ wget http://example.com/file_{1..4}.webp

镜像整个站点

使用 --mirror 选项你可以下载整个站点,包括它的目录结构。这与使用选项 --recursive --level inf --timestamping --no-remove-listing 的效果是一样的,该选项表明可以进行无限制的递归,得到你指定域下的所有内容。但你也可能会得到比预期多得多的内容,这取决于站点本身的老旧程度。

如果你正在使用 wget 来打包整个站点,选项 --no-cookies --page-requisites --convert-links 非常有用,它可以确保打包的站点是全新且完整的,站点副本或多或少是 自包含的 self-contained

修改 HTML 标头

在计算机发送的通信报文里含有大量用于数据交换的 元数据 metadata 。HTTP 标头是初始数据的组成部分。当你浏览某个站点时,你的浏览器会发送 HTTP 请求标头。使用 --debug 选项可以查看 wget 为每个请求发送了什么样的标头信息:

$ wget --debug example.com
---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.19.5 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: example.com
Connection: Keep-Alive

---request end---

你可以使用 --header 选项修改请求标头。实际上经常使用这种方式来模仿某特定浏览器,来测试或兼容某些编码糟糕、只能与特定代理通信的站点。

让请求被识别为来自 Windows 系统的 Microsoft Edge:

$ wget --debug --header="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59" http://example.com

你也可以假装为某个移动设备:

$ wget --debug --header="User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1" http://example.com

查看响应标头

与浏览器发送请求标头的方式一样,响应也包含有标头信息。你可以使用 --debug 选项来查看响应中的标头信息:

$ wget --debug example.com
[...]
---response begin---
HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 188102
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Etag: "3147526947"
Server: ECS (sab/574F)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1256

---response end---
200 OK
Registered socket 3 for persistent reuse.
URI content encoding = 'UTF-8'
Length: 1256 (1.2K) [text/html]
Saving to: 'index.html'

处理 301 响应

200 响应码意味着一切都在预料之中。而 301 响应则表示 URL 已经被永久迁移到了另外一个地方。这是站点管理员的一种常用手段,内容迁移后,为访问旧地址的用户留下寻找新地址的“线索”。wget 会默认跟随 重定向 redirect ,这也是大部分情况下用户所希望的。

当然,你可以使用 --max-redirect 选项,用于控制 wget 默认处理 301 响应重定向的次数。设置为 0 意味着不会自动重定向到新的地址:

$ wget --max-redirect 0 http://iana.org
--2021-09-21 11:01:35-- http://iana.org/
Resolving iana.org... 192.0.43.8, 2001:500:88:200::8
Connecting to iana.org|192.0.43.8|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.iana.org/ [following]
0 redirections exceeded.

同时,你也可以设置为其他的数值来控制 wget 能重定向多少次。

展开 URL 缩写

使用--max-redirect 选项用于在实际访问之前查看 URL 缩写 shortened URL 非常有用。缩写 URL 可用于用户无法完整拷贝和粘贴一个长 URL 时的 印刷媒体 print media ,或是具有字数限制的社交网络(在类似 Mastondon 这种现代开源的社交网络上这并不是一个问题)。这种缩写具有一定的风险,因为本质上这些目的地是隐藏的。组合使用 --head 选项和 --location 选项来来查看 HTTP 头部并解开最终的目的地,你可以在不加载整个资源的情况下查看到缩写 URL 的完整内容:

$ wget --max-redirect 0 "https://bit.ly/2yDyS4T"
--2021-09-21 11:32:04-- https://bit.ly/2yDyS4T
Resolving bit.ly... 67.199.248.10, 67.199.248.11
Connecting to bit.ly|67.199.248.10|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://example.com/ [following]
0 redirections exceeded.

Location 开始的倒数第二行输出,展示了实际的目的地。

使用 wget

若你开始考虑使用单个命令来实现整个网站访问的过程,wget 可以快速高效的帮你获取互联网上的信息,而不用在图形界面上耗费精力。为了帮你将它构造在你平常的工作流中,我们创建了一个 wget 常用使用方式和语法清单,包括使用它来查询 API 的概述。在这里下载 Linux wget 速查表


来源: https://opensource.com/article/21/10/linux-wget-command

作者:Seth Kenlon 选题:lujun9972 译者:zengyi1001 校对:wxy

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

Docker 贡献者数量远超 Linux

根据 ZDnet 报道,Docker 的 49593 个包有来自 215 个国家的高达 63.2 万名贡献者。这比估计的 Linux 贡献者数量(2 万)大了不止一个数量级,这意味着现在 GitHub 上 7300 万开发者中每 117 个开发者,就有一个对 Docker 有贡献。

老王点评:虽然说给 Docker 中众多的软件包做贡献容易一些,但是这个数量也非常令人吃惊。

GitHub 去年增加 1600 万新用户

GitHub 年度报告,GitHub 说它现在有 7300 万开发者用户,2021 年它获得了 1600 万新用户。用户创建了 6100 万个新存储库,有 1.7 亿个拉取请求被合并到项目中。以及在全球疫情前,有 41% 的开发者在办公室全职或兼职工作,但只有 10.7% 的人预计在疫情结束后会回到办公室。

老王点评:GitHub 一家独大的局面很难改变,就是不知道换帅之后会不会有变化。

美国计算机芯片繁荣的愿景让各城市趋之若鹜

计算机芯片的短缺已经耗尽了全球经济的能量,影响了许多行业,并导致了对高通胀的担忧。美国大幅提高芯片产量的努力,让各个城市争相争取芯片厂商的落地。比如德克萨斯州的泰勒市,该市约有 17000 人,就正全力以赴地争取三星公司计划从明年初开始在美国建造的 价值 170 亿美元的工厂

老王点评:看来不只是我们对芯片工厂热衷,美国也一样,就是不知道等产能拉上来之后会怎么样。

在你通过 Kubernetes 部署一个应用之前,了解 Kubernetes 的网络策略是一个基本的要求。

 title=

随着越来越多的云原生应用程序通过 Kubernetes 部署到生产环境,安全性是你必须在早期就需要考虑的一个重要检查项。在设计云原生应用程序时,预先嵌入安全策略非常重要。不这样做会导致后续的安全问题,从而导致项目延迟,并最终给你带来不必要的压力和金钱投入。

这么多年来,人们总是把安全留到最后,直到他们的部署即将发布到生产环境时才考虑安全。这种做法会导致项目交付的延迟,因为每个组织都有要遵守的安全标准,这些规定被绕过或不遵守,并承受大量的风险才得以实现可交付成果。

对于刚开始学习 Kubernetes 实施的人来说,理解 Kubernetes 网络策略 NetworkPolicy 可能会令人生畏。但这是在将应用程序部署到 Kubernetes 集群之前必须了解的基本要求之一。在学习 Kubernetes 和云原生应用程序时,请把“不要把安全抛在脑后!”定为你的口号。

NetworkPolicy 概念

网络策略 NetworkPolicy 取代了你所知道的数据中心环境中的防火墙设备 —— 如 吊舱 Pod 之于计算实例、网络插件之于路由器和交换机,以及卷之于存储区域网络(SAN)。

默认情况下,Kubernetes 网络策略允许 吊舱 Pod 从任何地方接收流量。如果你不担心吊舱的安全性,那么这可能没问题。但是,如果你正在运行关键工作负载,则需要保护吊舱。控制集群内的流量(包括入口和出口流量),可以通过网络策略来实现。

要启用网络策略,你需要一个支持网络策略的网络插件。否则,你应用的任何规则都将变得毫无用处。

Kubernetes.io 上列出了不同的网络插件:

  • CNI 插件:遵循 容器网络接口 Container Network Interface (CNI)规范,旨在实现互操作性。

    • Kubernetes 遵循 CNI 规范的 v0.4.0 版本。
  • Kubernetes 插件:使用桥接器和主机本地 CNI 插件实现基本的 cbr0

应用网络策略

要应用网络策略,你需要一个工作中的 Kubernetes 集群,并有支持网络策略的网络插件。

但首先,你需要了解如何在 Kubernetes 的环境使用网络策略。Kubernetes 网络策略允许 吊舱 从任何地方接收流量。这并不是理想情况。为了吊舱安全,你必须了解吊舱是可以在 Kubernetes 架构内进行通信的端点。

1、使用 podSelector 进行吊舱间的通信:

 - namespaceSelector:
    matchLabels:
      project: myproject 

2、使用 namespaceSelector 和/或 podSelectornamespaceSelector 的组合进行命名空间之间的通信和命名空间到吊舱的通信。:

 - namespaceSelector:
    matchLabels:
      project: myproject
 - podSelector:
    matchLabels:
      role: frontend 

3、对于吊舱的 IP 块通信,使用 ipBlock 定义哪些 IP CIDR 块决定源和目的。

 - ipBlock:
        cidr: 172.17.0.0/16
        except:
        - 172.17.1.0/24 

注意吊舱、命名空间和基于 IP 的策略之间的区别。对于基于吊舱和命名空间的网络策略,使用选择器来控制流量,而对基于 IP 的网络策略,使用 IP 块(CIDR 范围)来定义控制。

把它们放在一起,一个网络策略应如下所示:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: default
spec:
  podSelector:
    matchLabels:
      app: backend
  policyTypes:
  - Ingress
  - Egress
  ingress:
  - from:
    - ipBlock:
        cidr: 172.17.0.0/16
        except:
        - 192.168.1.0/24
    - namespaceSelector:
        matchLabels:
          project: myproject
    - podSelector:
        matchLabels:
          role: frontend
    ports:
    - protocol: TCP
      port: 6379
  egress:
  - to:
    - ipBlock:
        cidr: 10.0.0.0/24
    ports:
    - protocol: TCP
      port: 5978

参考上面的网络策略,请注意 spec 部分。在此部分下,带有标签 app=backendpodSelector 是我们的网络策略的目标。简而言之,网络策略保护给定命名空间内称为 backend 的应用程序。

此部分也有 policyTypes 定义。此字段指示给定策略是否适用于选定吊舱的入口流量、选定吊舱的出口流量,或两者皆有。

spec:
  podSelector:
    matchLabels:
      app: backend
  policyTypes:
  - Ingress
  - Egress

现在,请看 Ingress(入口)和 Egress(出口)部分。该定义规定了网络策略的控制。

首先,检查 ingress from 部分。

此实例中,网络策略允许从以下位置进行吊舱连接:

  • ipBlock

    • 允许 172.17.0.0/16
    • 拒绝 192.168.1.0/24
  • namespaceSelector

    • myproject: 允许来自此命名空间并具有相同标签 project=myproject 的所有吊舱。
  • podSelector

    • frontend: 允许与标签 role=frontend 匹配的吊舱。
ingress:
 - from:
  - ipBlock:
      cidr: 172.17.0.0/16
      except:
      - 192.168.1.0/24
  - namespaceSelector:
      matchLabels:
        project: myproject
  - podSelector:
      matchLabels:
        role: frontend

现在,检查 egress to 部分。这决定了从吊舱出去的连接:

  • ipBlock

    • 10.0.0.0/24: 允许连接到此 CIDR
    • Ports: 允许使用 TCP 和端口 5978 进行连接
egress:
 - to:
  - ipBlock:
      cidr: 10.0.0.0/24
  ports:
  - protocol: TCP
    port: 5978

网络策略的限制

仅靠网络策略无法完全保护你的 Kubernetes 集群。你可以使用操作系统组件或 7 层网络技术来克服已知限制。你需要记住,网络策略只能解决 IP 地址和端口级别的安全问题 —— 即开放系统互联(OSI)中的第 3 层或第 4 层。

为了解决网络策略无法处理的安全要求,你需要使用其它安全解决方案。以下是你需要知道的一些 用例,在这些用例中,网络策略需要其他技术的增强。

总结

了解 Kubernetes 的网络策略很重要,因为它是实现(但不是替代)你通常在数据中心设置中使用的防火墙角色的一种方式,但适用于 Kubernetes。将此视为容器安全的第一层,仅仅依靠网络策略并不是一个完整的安全解决方案。

网络策略使用选择器和标签在吊舱和命名空间上实现安全性。此外,网络策略还可以通过 IP 范围实施安全性。

充分理解网络策略是在 Kubernetes 环境中安全采用容器化的一项重要技能。


via: https://opensource.com/article/21/10/kubernetes-networkpolicy

作者:Mike Calizo 选题:lujun9972 译者:perfiffer 校对:wxy

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

LibreWolf 是一个火狐浏览器的复刻,它关注于隐私和安全,消除了遥测并增加了其他好处。让我们来了解一下它。

火狐 Firefox 是 Linux 上最好的网页浏览器之一。然而,一些用户并不喜欢其中的遥测机制。

除此之外,有些人更喜欢一个开箱即用的、为最佳隐私和安全而调整过的浏览器,即使火狐浏览器是提供了最好的定制功能的浏览器之一。

如果你不想要火狐浏览器的干扰功能,想要一个无需你亲自调整的私密网络体验,LibreWolf(自由之狼)或许就是答案。

LibreWolf:更好的火狐?

假设你想使用火狐,而不使用火狐的帐户同步的能力和其他一些火狐特有的功能,如 “添加到 Pocket” 按钮。在这种情况下,LibreWolf 可以是一个不错的选择。

不同于其他火狐浏览器的复刻(例如,Basilisk 浏览器),它是定期更新的。而且,它只专注于提供私密的网页浏览体验,而不影响你在火狐中所希望得到的用户体验。

LibreWolf 的特点

LibreWolf 为安全的网页浏览体验提供了一套相当有用的开箱即用的功能。让我强调其中的一些特点:

  • 移除遥测功能
  • 不使用火狐账户进行云同步
  • 私密搜索供应商,如 Searx、Qwant(DuckDuckGo 被设置为默认)
  • 包含 uBlock Origin 以阻止脚本/广告
  • 没有 “添加到 Pocket” 按钮
  • 主页上默认没有赞助/推荐的内容
  • 从设置中删除火狐 状态条 snippets ,它用于在新标签中添加新闻/提示
  • 没有赞助的快捷提示
  • 追踪保护默认设置为“严格”模式
  • Cookies 和历史记录设置为关闭浏览器时删除
  • 默认启用 HTTPS-only 模式

正如你所注意到的,LibreWolf 的目标是提供一个更清洁和有利于隐私的体验,而不需要调整任何东西。

如果你不想反复登录网络服务和浏览历史记录来回忆你的浏览活动,一些选项如退出时清除 cookies/历史记录可能会很不方便。

所以,如果你想从火狐切换到 LibreWolf,你可能想在决定之前测试一下网页浏览体验。

在 Linux 中安装 LibreWolf

对于任何 Linux 发行版,你可以使用 AppImage 文件或 Flathub 的 Flatpak 包。

如果你不知道,你可以参考我们关于 使用 AppImage 的指南和 Flatpak 的资源

对于 Arch Linux 用户,它也可以在 Arch 用户仓库(AUR) 中找到。

也可以在他们的 官方网站GitLab 页面 中找到其他安装说明。

你试过 LibreWolf 吗?你喜欢用什么作为你的网页浏览器?请在下面的评论中分享你的想法!


via: https://itsfoss.com/librewolf/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

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

Winamp 准备重启

在我们用流媒体播放音乐之前,最受欢迎的播放 MP3 的媒体播放器之一是 Winamp。用户会翻录他们的专辑或下载 MP3,用媒体播放器在他们的电脑上收听。然而,Winamp 在 2007 年发布 5.5 版本后就再无下文。虽然 Winamp 的所有者 Radionomy 说他们对 Winamp 有很大的计划,但此后没有进一步的版本发布。2018 年 10 月,在 Winamp 5.8 版本在网上被泄露后,Winamp 社区的开发者决定在他们的网站 Winamp.com发布泄露的版本。我们所看到的唯一新的 Winamp 开发是由 Winamp 社区更新项目(WACUP) 发布的预览版。

老王点评:真是令人怀念的软件。

狗狗电话让宠物给它们的主人打电话

英国卫报报道,研究人员为独自留在家中的犬类创造了一种高科技的选择:一个被称为“DogPhone”的软球可以让它们呼叫主人。当这个软球被移动时,会向一台笔记本电脑发送信号,启动视频通话,并发出电话铃声。主人可以选择是否接电话,以及何时挂断电话,同时他们也可以给他们的宠物打电话,尽管狗必须移动球才能接电话。这项研究 发表 在《计算机协会计算机与人类互动论文集》上。但记录表明,研究者的狗似乎并不总是知道自己在做什么,打出的许多电话似乎都是意外。但研究者认为“当狗用屁股触发系统时,这可能是故意的,是狗触发互动的独特方式。”

老王点评:要不是发表在了 ACM,我以为这是准备申报今年的搞笑诺贝尔奖的。

Alphabet 将原型机器人用于清理谷歌的办公室

Alphabet 旗下的 X 实验室内致力于创造“通用学习机器人”的团队已经将其一些 原型机器人 放到谷歌的湾区园区。他们说,“我们现在正在运营一个由 100 多个机器人原型组成的车队,它们正在我们的办公室周围自主地执行一系列有用的任务。”这些机器人现在可以配备一个刮刀来擦桌子,也可以用抓手来开门。

老王点评:以后或许我们身边很多在做着各种活的机器人。