2021年9月

Yahoo 再次成为 Yahoo

Yahoo 和 AOL,即以前的 Verizon Media,已经正式被他们的新主人收购,并改名为 “Yahoo”。Verizon 是在 2015 年以 44 亿美元收购 AOL,在 2017 年以 45 亿美元收购雅虎的互联网资产。Verizon 在 5 月宣布将这两家公司出售给私募股权公司 Apollo,据说交易额为 50 亿美元,而这两家公司在其巅峰时期价值数千亿美元。

一代传奇雅虎,不知道是否能重新站起来。

DRAM 作为缓存对 Facebook 来说也太贵了

随着传统的动态随机存取存储器(DRAM)缓存变得越来越昂贵,Facebook 这样的公司正在探索非易失性存储器(NVM)驱动器等硬件选择,以增强其缓存系统。Facebook 创建了一个名为 CacheLib 的工具,并在 GitHub 上开源。它还发布了一个用于评估不同生产工作负载的缓存性能的基准工具 CacheBench。CacheLib 已经在 Facebook 的 70 多个大型系统中得到了应用。

简单的说,就是内存太贵了,用比较便宜 SSD 补充一下。

在 GitHub Copilot 不能使用的 1170 个词

研究,Copilot 配备了一个包含 1170 个单词的编码列表,以防止人工智能编程助手用攻击性词汇回应输入或生成输出。Copilot 的代码将用户提供给人工智能模型的文本提示内容和显示前的输出结果与这些词的哈希值进行比较。如果有匹配的内容,它就会进行干预。如果用户的代码包含任何存储的污言秽语,该软件也不会提出建议。

要防止 AI 瞎咧咧~

开源爱好者们对他们所喜爱的 Linux 内核模块进行了评价。

 title=

Linux 内核今年就要满 30 岁了! 如果你像我们一样对此特别重视,那么让我们本周用几个特别的文章来庆祝 Linux。

今天,我们先来看看来自社区对“你不能没有哪个 Linux 内核模块?为什么?”的回答,让我们听听这 10 位爱好者是怎么说的。

1

我猜一些内核开发者听到我的回答后会尖叫着跑开。不过,我还是在这里列出了两个最具争议性的模块:

  • 第一个是 NVIDIA,因为我的工作笔记本和个人台式机上都有 NVIDIA 显卡。
  • 另一个可能产生的仇恨较少。VMware 的 VMNET 和 VMMON 模块,以便能够运行 VMware Workstation。

Peter Czanik

2

我最喜欢的是 zram 模块。它在内存中创建了一个压缩块设备,然后它可以作为交换分区使用。在内存有限的情况下(例如,在虚拟机上),还有如果你担心频繁的 I/O 操作会磨损你的 SSD 或者甚至更糟糕的基于闪存的存储,那么使用基于 zram 的交换分区是非常理想的。

Stephan Avenwedde

3

最有用的内核模块无疑是 snd-hda-intel,因为它支持大多数集成声卡。我可以一边听音乐,一边在 Linux 桌面上编码一个音频编曲器。

Joël Krähemann

4

如果没有我用 Broadcom 文件生成的 kmod-wl,我的笔记本就没有价值了。我有时会收到关于内核污染的信息,但没有无线网络的笔记本电脑有什么用呢?

Gregory Pittman

5

我不能没有蓝牙。没有它,我的鼠标、键盘、扬声器和耳机除了用来挡住门板还有啥用?

Gary Smith

6

我要冒昧地说 都是。 说真的,我们已经到了随机拿一块硬件,插入它,它就可以工作的地步。

  • USB 串行适配器能正常工作
  • 显卡可以使用(尽管可能不是最好的)
  • 网卡正常工作
  • 声卡正常工作

所有这些模块整体带来大量可以工作的驱动程序,令人印象深刻。我记得在过去那些糟糕的日子里,我们曾经大喊 xrandr 魔法字符串才能来使投影仪工作。而现在,是的,当设备基本不能正常工作时,才真的罕见。

如果我不得不把它归结为一个,那就是 raid6。

John 'Warthog9' Hawley

7

对于这个问题,我想回到 20 世纪 90 年代末。我是一家小公司的 Unix 系统管理员(兼任 IS 经理)。我们的磁带备份系统死了,由于“小公司”预算有限,我们没有急于更换或现场维修。所以我们必须得把它送去维修。

在那两个星期里,我们没有办法进行磁带备份。没有一个系统管理员愿意处于这种境地。

但后来我想起了读过的 如何使用软盘磁带机,我们刚好有一台刚换下来的塔式电脑,它有一个软盘磁带机。

于是我用 Linux 重新安装了它,设置了 ftape 内核驱动模块,进行了一些备份/恢复测试,然后将我们最重要的备份运行到 QIC 磁带上。在这两个星期里,我们依靠 ftape 备份重要数据。

所以,对于那些让软盘磁带机在 1990 年代的 Linux 上工作的无名英雄,你真是太厉害了!

Jim Hall

8

嗯,这很简单。是 kvm 内核模块。就个人而言,我无法想象在没有虚拟机的情况下完成日常工作。我愿意相信我们大多数人都是这样。kvm 模块在使 Linux 成为云战略的核心方面也发挥了很大作用。

Gaurav Kamathe

9

对我来说,是 dm-crypt,它是用于 LUKS 的。参见:

知道别人无法看到你的磁盘上的内容是非常棒的,例如,如果你的笔记本丢失或被盗时。

Maximilian Kolb

10

对于密码学基础,很难超越 crypto 模块和它的 C API,它是如此简洁明了。

在日常生活中,还有什么比蓝牙提供的即插即用更有价值的吗?

Marty Kalin

在评论中与我们分享。你的生活中不能没有什么 Linux 内核模块?


via: https://opensource.com/article/21/8/linux-kernel-module

作者:Jen Wike Huger 选题:lujun9972 译者:geekpi 校对:wxy

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

在 Debian 和 Ubuntu 系统中,你都可以 使用 apt-get 命令 来管理应用。你也可以在这两个发行版中安装 DEB 安装包。很多时候,你会在这两个发行版中发现同样的包安装命令。

它们两者是如此的相似,那么,它们两者之间有什么区别呢?

Debian 和 Ubuntu 属于同一系列的发行版。Debian 是由 Ian Murdock 在 1993 年创建的最初的发行版。Ubuntu 是 Mark Shuttleworth 在 2004 年基于 Debian 创建的发行版。

Ubuntu 基于 Debian:这意味着什么?

Linux 发行版虽然有数百个,但其中只有少数是从零开始的独立发行版。 Debian、Arch、Red Hat 是其中几个不派生于其它发行版的使用最广的发行版。

Ubuntu 源自 Debian。这意味着 Ubuntu 使用与 Debian 相同的 APT 包管理系统,并共享来自 Debian 库中的大量包和库。它建立在 Debian 基础架构上。

Ubuntu uses Debian as base

这就是大多数“衍生”发行版所做的。它们使用相同的包管理器,并与基础发行版共享包。但它们也做了一些改变,添加了一些自己的包。这就是 Ubuntu 和 Debian 的不同之处,尽管它是从 Debian 衍生而来的。

Ubuntu 和 Debian 的不同之处

因此,Ubuntu 构建在 Debian 架构和基础设施上,也与 Debian 一样是用 .DEB 格式的软件包。

这意味着使用 Ubuntu 和使用 Debian 是一样的吗?并不完全如此。有很多因素可以用来区分两个不同的发行版。

让我逐一讨论这些因素来比较 Ubuntu 和 Debian。请记住,有些比较适用于桌面版本,而有些比较适用于服务器版本。

1、发布周期

Ubuntu 有两种发布版本:LTS(长期支持)和常规版本。Ubuntu LTS 版本 每两年发布一次,并且会提供五年的支持。你可以选择升级到下一个可用的 LTS 版本。LTS 版本被认为更稳定。

还有一个非 LTS 版本,每六个月发布一次。这些版本仅仅提供九个月的支持,但是它们会有一些新的软件版本和功能。在当前的版本到达维护年限时,你应当升级到下一个 Ubuntu 版本。

所以基本上,你可以根据这些版本在稳定性和新特性之间进行选择。

另一方面,Debian 有三个不同的版本:稳定版、测试版和非稳定版。非稳定版是为了实际测试,应该避免使用。

测试版不是那么不稳定。它是用来为下一个稳定版做准备。有一些 Debian 用户更倾向于使用测试版来获取新的特性。

然后是稳定版。这是 Debian 的主要版本。Debian 稳定版可能没有最新的软件和功能,但在稳定性方面毋庸置疑。

每两年 Debian 会发布一个稳定版,并且会提供三年的支持。此后,你应当升级到下一个可用的稳定版。

2、软件更新

Debian 更关注稳定性,这意味着它并不总是使用最新版本的软件。例如,最新的 Debian 11 用的 GNOME 版本为 3.38,并不是最新版的 GNOME 3.40。

对于 GIMP、LibreOffice 等其它软件也是如此。这是你必须对 Debian 做出的妥协。这就是“Debian stable = Debian stale”笑话在 Linux 社区流行的原因。

Ubuntu LTS 版本也关注稳定性。但是它们通常拥有较新版本的常见软件。

你应该注意,对于某些软件,从开发者的仓库安装也是一种选择。例如,如果你想要安装最新版的 Docker,你可以在 Debian 和 Ubuntu 中添加 Docker 仓库。

总体来说,相比较于 Ubuntu ,Debian 稳定版的软件版本会更旧。

3、软件可用性

Debian 和 Ubuntu 都拥有一个巨大的软件仓库。然而,Ubuntu 还有 PPA 个人软件包存档 Personal Package Archive )。通过 PPA,安装更新版本的软件或者获取最新版本的软件都将会变的更容易。

你可以在 Debian 中尝试使用 PPA,但是体验并不好。大多数时候你都会遇到问题。

4、支持的平台

Ubuntu 可以在 64 位的 x86 和 ARM 平台上使用。它不再提供 32 位的镜像。

另一方面,Debian 支持 32 位和 64 位架构。除此之外,Debian 还支持 64 位 ARM(arm64)、ARM EABI(armel)、ARMv7(EABI hard-float ABI,armhf)、小端 MIPS(mipsel)、64 位小端 MIPS(mips64el)、64 位小端 PowerPC(ppc64el) 和 IBM System z(s390x)。

所以它也被称为 “ 通用操作系统 universal operating system ”。

5、安装

安装 Ubuntu 比安装 Debian 容易得多。我并不是在开玩笑。即使对于有经验的 Linux 用户,Debian 也可能令人困惑。

当你下载 Debian 的时候,它默认提供的是最小化镜像。此镜像没有非自由(非开源)的固件。如果你继续安装它,你就可能会发现你的网络适配器和其它硬件将无法识别。

有一个单独的包含固件的非自由镜像,但它是隐藏的,如果你不知道,你可能会大吃一惊。

Getting non-free firmware is a pain in Debian

Ubuntu 在默认提供的镜像中包含专有驱动程序和固件时要宽容的多。

此外,Debian 安装程序看起来很旧,而 Ubuntu 安装程序看起来就比较现代化。Ubuntu 安装程序还可以识别磁盘上其它已安装的操作系统,并为你提供将 Ubuntu 与现有操作系统一起安装的选项(双引导)。但我在测试时并没有注意到 Debian 有此选项。

Installing Ubuntu is smoother

6、开箱即用的硬件支持

就像之前提到的,Debian 主要关注 FOSS(自由和开源软件)。这意味着 Debian 提供的内核不包括专有驱动程序和固件。

这并不是说你无法使其工作,而是你必须添加/启动额外的存储库并手动安装。这可能令人沮丧,特别是对于初学者来说。

Ubuntu 并不完美,但在提供开箱即用的驱动程序和固件方面,它比 Debian 好得多。这意味着更少的麻烦和更完整的开箱即用体验。

7、桌面环境选择

Ubuntu 默认使用定制的 GNOME 桌面环境。你可以在其上安装 其它桌面环境,或者选择 各种不同桌面风格的 Ubuntu,如 Kubuntu(使用 KDE 桌面)、Xubuntu(使用 Xfce 桌面)等。

Debian 也默认安装了 GNOME 桌面。但是它会让你在安装的过程中选择你要安装的桌面环境。

你还可以从其网站获取 特定桌面环境的 ISO 镜像

8、游戏性

由于 Stream 及其 Proton 项目,Linux 上的游戏总体上有所改善。尽管如此,游戏在很大程度上取决于硬件。

在硬件兼容性上,Ubuntu 比 Debian 在支持专有驱动程序方面要好。

并不是说在 Debian 中不能做到这一点,而是需要一些时间和精力来实现。

9、性能

性能部分没有明显的“赢家”,无论是在服务器版本还是在桌面版本。 Debian 和 Ubuntu 作为桌面和服务器操作系统都很受欢迎。

性能取决于你系统的硬件和你所使用的软件组件。你可以在你的操作系统中调整和控制你的系统。

10、社区和支持

Debian 是一个真正的社区项目。此项目的一切都由其社区成员管理。

Ubuntu 由 Canonical 提供支持。然而,它并不是一个真正意义上的企业项目。它确实有一个社区,但任何事情的最终决定权都掌握在 Canonical 手中。

就支持而言,Ubuntu 和 Debian 都有专门的论坛,用户可以在其中寻求帮助和提出建议。

Canonical 还为其企业客户提供收费的专业支持。Debian 则没有这样的功能。

结论

Debian 和 Ubuntu 都是桌面或服务器操作系统的可靠选择。 APT 包管理器和 DEB 包对两者都是通用的,因此提供了一些相似的体验。

然而,Debian 仍然需要一定程度的专业知识,特别是在桌面方面。如果你是 Linux 新手,坚持使用 Ubuntu 将是你更好的选择。在我看来,你应该积累一些经验,熟悉了一般的 Linux,然后再尝试使用 Debian。

并不是说你不能从一开始就使用 Debian,但对于 Linux 初学者来说,这并不是一种很好的体验。

欢迎你对这场 Debian 与 Ubuntu 辩论发表意见。


via: https://itsfoss.com/debian-vs-ubuntu/

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

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

约 60% 的访客屏蔽了谷歌分析

很多浏览器和广告屏蔽扩展都会屏蔽谷歌分析的跟踪,使用它来记录网站访问可能不会收集到精确的访问数据。根据一项研究,对谷歌分析的屏蔽情况如下:

  • 按浏览器:Firefox 88.28%、Edge 71.58%、Chrome 50.42%、Safari 41.41%;
  • 按设备:笔记本和桌面 68.2%、移动和平板 49.9%;
  • 按操作系统:Linux 82.3%、Windows 74.4%、Mac 61.7%、Android 54%、iOS 41.5%;
  • 整体来说,58% 的访客屏蔽了谷歌分析。
第三方统计由于其对隐私的侵犯,越来越多的被屏蔽,其可靠性也越来越差了。

人类驾驶的汽车碾过一个自动送货机器人

虽然围绕着具有自动驾驶功能的大型车辆的行人安全问题仍存在争议,但这一次角色互换了。一段披露的视频显示,一辆 Starship 送货机器人在经过过街人行道时被拐弯的汽车碾压到了“脚脚”,受伤的机器人一瘸一拐的退回了人行道上。

可怜的小机器人。

Cloudflare 将不在其下一代服务器内使用英特尔 CPU

Cloudflare 自 2020 年中期以来一直在为第十一代服务器进行设计。他们评估了英特尔最新的 Ice Lake 至强处理器,认为,“虽然英特尔的芯片在原始性能方面能够与 AMD 竞争,但每台服务器的功耗却高出几百瓦。”此外,他们的测试显示,为其服务器配备 512GB 的内存并没有产生足够的性能提升,因此决定采用 384GB 的内存。

不知道英特尔对此怎么看,是否还要捂着新技术不发布?

了解如何使用 Kubermatic Kubernetes 平台来部署、扩展与管理图像识别预测的深度学习模型。

 title=

随着企业增加了对人工智能(AI)、机器学习(ML)与深度学习(DL)的使用,出现了一个关键问题:如何将机器学习的开发进行规模化与产业化?这些讨论经常聚焦于机器学习模型本身;然而,模型仅仅只是完整解决方案的其中一环。为了达到生产环境的应用和规模,模型的开发过程必须还包括一个可以说明开发前后关键活动以及可公用部署的可重复过程。

本文演示了如何使用 Kubermatic Kubernetes 平台 对图像识别预测的深度学习模型进行部署、扩展与管理。

Kubermatic Kubernetes 平台是一个生产级的开源 Kubernetes 集群管理工具,提供灵活性和自动化,与机器学习/深度学习工作流程整合,具有完整的集群生命周期管理。

开始

这个例子部署了一个用于图像识别的深度学习模型。它使用了 CIFAR-10 数据集,包含了 60,000 张分属 10 个类别的 32x32 彩色图,同时使用了 Apache MXNetGluon 与 NVIDIA GPU 进行加速计算。如果你希望使用 CIFAR-10 数据集的预训练模型,可以查阅其 入门指南

使用训练集中的样本对模型训练 200 次,只要训练误差保持缓慢减少,就可以保证模型不会过拟合。下方图展示了训练的过程:

 title=

训练结束后,必须保存模型训练所得到的参数,以便稍后可以加载它们:

file_name = "net.params"
net.save_parameters(file_name)

一旦你的模型训练好了,就可以用 Flask 服务器来封装它。下方的程序演示了如何接收请求中的一张图片作为参数,并在响应中返回模型的预测结果:

from gluoncv.model_zoo import get_model
import matplotlib.pyplot as plt
from mxnet import gluon, nd, image
from mxnet.gluon.data.vision import transforms
from gluoncv import utils
from PIL import Image
import io
import flask
app = flask.Flask(__name__)

@app.route("/predict",methods=["POST"])
def predict():
    if flask.request.method == "POST":
        if flask.request.files.get("img"):
           img = Image.open(io.BytesIO(flask.request.files["img"].read()))
            transform_fn = transforms.Compose([
            transforms.Resize(32),
            transforms.CenterCrop(32),
            transforms.ToTensor(),
            transforms.Normalize([0.4914, 0.4822, 0.4465], [0.2023, 0.1994, 0.2010])])
            img = transform_fn(nd.array(img))
            net = get_model('cifar_resnet20_v1', classes=10)
            net.load_parameters('net.params')
            pred = net(img.expand_dims(axis=0))
            class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer',
                       'dog', 'frog', 'horse', 'ship', 'truck']
            ind = nd.argmax(pred, axis=1).astype('int')
            prediction = 'The input picture is classified as [%s], with probability %.3f.'%
                         (class_names[ind.asscalar()], nd.softmax(pred)[0][ind].asscalar())
    return prediction

if __name__ == '__main__':
   app.run(host='0.0.0.0')

容器化模型

在将模型部署到 Kubernetes 前,你需要先安装 Docker 并使用你的模型创建一个镜像。

  1. 下载、安装并启动 Docker:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo <https://download.docker.com/linux/centos/docker-ce.repo>
sudo yum install docker-ce
sudo systemctl start docker
  1. 创建一个你用来管理代码与依赖的文件夹:
mkdir kubermatic-dl
cd kubermatic-dl
  1. 创建 requirements.txt 文件管理代码运行时需要的所有依赖:
flask
gluoncv
matplotlib
mxnet
requests
Pillow
  1. 创建 Dockerfile,Docker 将根据这个文件创建镜像:
FROM python:3.6
WORKDIR /app
COPY requirements.txt /app
RUN pip install -r ./requirements.txt
COPY app.py /app
CMD ["python", "app.py"]

这个 Dockerfile 主要可以分为三个部分。首先,Docker 会下载 Python 的基础镜像。然后,Docker 会使用 Python 的包管理工具 pip 安装 requirements.txt 记录的包。最后,Docker 会通过执行 python app.py 来运行你的脚本。

  1. 构建 Docker 容器:
sudo docker build -t kubermatic-dl:latest .

这条命令使用 kubermatic-dl 镜像为你当前工作目录的代码创建了一个容器。

  1. 使用
sudo docker run -d -p 5000:5000 kubermatic-dl

命令检查你的容器可以在你的主机上正常运行。

  1. 使用
sudo docker ps -a

命令查看你本地容器的运行状态:

 title=

将你的模型上传到 Docker Hub

在向 Kubernetes 上部署模型前,你的镜像首先需要是公开可用的。你可以通过将你的模型上传到 Docker Hub 来将它公开。(如果你没有 Docker Hub 的账号,你需要先创建一个)

  1. 在终端中登录 Docker Hub 账号:
sudo docker login
  1. 给你的镜像打上标签,这样你的模型上传到 Docker Hub 后也能拥有版本信息:
sudo docker tag <your-image-id> <your-docker-hub-name>/<your-app-name>

sudo docker push <your-docker-hub-name>/<your-app-name>

 title=

  1. 使用
sudo docker images

命令检查你的镜像的 ID。

部署你的模型到 Kubernetes 集群

  1. 首先在 Kubermatic Kubernetes 平台创建一个项目, 然后根据 快速开始 创建一个 Kubernetes 集群。

 title=

  1. 下载用于访问你的集群的 kubeconfig,将它放置在下载目录中,并记得设置合适的环境变量,使得你的环境能找到它:

 title=

  1. 使用 kubectl 命令检查集群信息,例如,需要检查 kube-system 是否在你的集群正常启动了就可以使用命令 kubectl cluster-info

 title=

  1. 为了在集群中运行容器,你需要创建一个部署用的配置文件(deployment.yaml),再运行 apply 命令将其应用于集群中:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kubermatic-dl-deployment
spec:
  selector:
    matchLabels:
      app: kubermatic-dl
  replicas: 3
  template:
    metadata:
      labels:
        app: kubermatic-dl
    spec:
     containers:
     - name: kubermatic-dl
       image: kubermatic00/kubermatic-dl:latest
       imagePullPolicy: Always
       ports:
       - containerPort: 8080

kubectl apply -f deployment.yaml`
  1. 为了将你的部署开放到公网环境,你需要一个能够给你的容器创建外部可达 IP 地址的服务:
kubectl expose deployment kubermatic-dl-deployment  --type=LoadBalancer --port 80 --target-port 5000`
  1. 就快大功告成了!首先检查你布署的服务的状态,然后通过 IP 请求的你图像识别 API:
kubectl get service

 title=

  1. 最后根据你的外部 IP 使用以下两张图片对你的图像识别服务进行测试:

 title=

 title=

 title=

总结

在这篇教程中,你可以创建一个深度学习模型,并且使用 Flask 提供 REST API 服务。它介绍了如何将应用放在 Docker 容器中,如何将这个镜像上传到 Docker Hub 中,以及如何使用 Kubernetes 部署你的服务。只需几个简单的命令,你就可以使用 Kubermatic Kubernetes 平台部署该应用程序,并且开放服务给别人使用。


via: https://opensource.com/article/20/9/deep-learning-model-kubernetes

作者:Chaimaa Zyani 选题:lujun9972 译者:chunibyo-wly 校对:wxy

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

Ulauncher 是一个快速应用启动器,支持扩展和快捷方式,帮助你在 Linux 中快速访问应用和文件。

应用启动器可以让你快速访问或打开一个应用,而无需在应用菜单图标上徘徊。

在默认情况下,我发现 Pop!\_OS 的应用启动器超级方便。但是,并不是每个 Linux 发行版都提供开箱即用的应用启动器。

幸运的是,有一个你可以在大多数流行的发行版中添加应用启动器的方案。

Ulauncher:开源应用启动器

Ulauncher 是一个使用 Python 还有 GTK+ 构建的快速应用启动器。

它提供了相当数量的自定义和控制选项来进行调整。总的来说,你可以调整它的行为和体验以适应你的喜好。

让我来说一下你可以期待它的一些功能。

Ulauncher 功能

Ulauncher 中的选项非常非常易于访问且易于定制。一些关键的亮点包括:

  • 模糊搜索算法可以让你即使拼错了,也能找到应用
  • 可以记住你在同一会话中最后搜索的应用
  • 显示经常使用的应用(可选)
  • 自定义颜色主题
  • 预设颜色主题,包括一个黑暗主题
  • 召唤启动器的快捷方式可以轻松定制
  • 浏览文件和目录
  • 支持扩展,以获得额外的功能(表情符号、天气、速度测试、笔记、密码管理器等)
  • 浏览谷歌、维基百科和 Stack Overflow 等网站的快捷方式

它几乎提供了你在一个应用启动器中所期望的所有有用的能力,甚至更好。

如何在 Linux 中使用 Ulauncher?

默认情况下,首次从应用菜单中打开应用启动器后,你需要按 Ctrl + Space 打开应用启动器。

输入以搜索一个应用。如果你正在寻找一个文件或目录,输入以 ~ 或者 / 开始。

有一些默认的快捷键,如 g XYZ,其中 “XYZ” 是你想在谷歌中搜索的搜索词。

同样,你可以通过 wikiso 快捷键,直接在维基百科或 Stack Overflow 搜索。

在没有任何扩展的情况下,你也可以直接计算内容,并将结果直接复制到剪贴板。

这在快速计算时应该很方便,不需要单独启动计算器应用。

你可以前往它的 扩展页面,浏览有用的扩展,以及指导你如何使用它的截图。

要改变它的工作方式,启用显示经常使用的应用,并调整主题,请点击启动器右侧的齿轮图标。

你可以把它设置为自动启动。但是,如果它在你的支持 Systemd 的发行版上不工作,你可以参考它的 GitHub 页面,把它添加到服务管理器中。

这些选项是非常直观,且易于定制,如下图所示。

在 Linux 中安装 Ulauncher

Ulauncher 为基于 Debian 或 Ubuntu 的发行版提供了一个 deb 包。如果你是 Linux 新手,你可以了解一下 如何安装 Deb 文件

在这两种情况下,你也可以添加它的 PPA,并通过终端按照下面的命令来安装它:

sudo add-apt-repository ppa:agornostal/ulauncher
sudo apt update
sudo apt install ulauncher

你也可以在 AUR 中找到它,用于 Arch 和 Fedora 的默认仓库。

对于更多信息,你可以前往其官方网站或 GitHub 页面

Ulauncher 应该是任何 Linux 发行版中一个令人印象深刻的补充。特别是,如果你想要一个像 Pop!\_OS 提供的快速启动器的功能,这是一个值得考虑的奇妙选择。

你试过 Ulauncher了吗?欢迎你就如何帮助你快速完成工作分享你的想法。


via: https://itsfoss.com/ulauncher/

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

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