2022年6月

rustup 可用于 Rust 安装与更新。它还能够在稳定版、测试版和每日更新版之间无缝切换 Rust 编译器及其工具。

Rust 编程语言 如今变得越来越流行,受到爱好者和公司的一致好评。它受欢迎的原因之一是 Rust 提供的令人惊叹的工具,使其成为开发人员使用的乐趣。rustup 是管理 Rust 工具的官方工具。它不仅可以安装和更新 Rust ,它还能够在稳定版、测试版和每日更新版之间无缝切换 Rust 编译器及其工具。本文将向你介绍 rustup 及其一些常用命令。

默认 Rust 安装方式

如果你想在 Linux 上安装 Rust,你可以使用你的包管理器。在 Fedora 或 CentOS Stream 上,你可以这样:

$ sudo dnf install rust cargo

这提供了一个稳定版的 Rust 工具链,如果你是 Rust 的初学者,并想尝试编译和运行简单的程序,它会非常有用。但是,由于 Rust 是一种新的编程语言,它变化很快,并且经常添加许多新功能。这些功能是 Rust 工具链的每日更新版和之后测试版的一部分。要试用这些功能,你需要安装这些较新版本的工具链,而不会影响系统上的稳定版本。不幸的是,你的发行版的包管理器在这里无法做到。

使用 rustup 安装 Rust 工具链

要解决上述问题,你可以下载安装脚本:

$ curl --proto '=https' --tlsv1.2 \
    -sSf https://sh.rustup.rs > sh.rustup.rs

检查它,然后运行它。它不需要 root 权限,并根据你的本地用户权限安装 Rust:

$ file sh.rustup.rs
sh.rustup.rs: POSIX shell script, ASCII text executable
$ less sh.rustup.rs
$ bash sh.rustup.rs

出现提示时选择选项 1

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
> 1

安装后,你必须获取环境变量以确保 rustup 命令立即可供你运行:

$ source $HOME/.cargo/env

验证是否安装了 Rust 编译器(rustc)和 Rust 包管理器(cargo):

$ rustc --version
$ cargo --version

查看已安装和可用的工具链

你可以使用以下命令查看已安装的不同工具链以及哪个工具链是可用的:

$ rustup show

在工具链之间切换

你可以查看默认工具链并根据需要进行更改。如果你当前使用的是稳定版工具链,并希望尝试每日更新版中提供的新功能,你可以轻松切换到每日更新版工具链:

$ rustup default
$ rustup default nightly

要查看 Rust 的编译器和包管理器的完整路径:

$ rustup which rustc
$ rustup which cargo

检查和更新工具链

要检查是否有新的 Rust 工具链可用:

$ rustup check

假设一个新版本的 Rust 发布了,其中包含一些有趣的特性,并且你想要获取最新版本的 Rust。你可以使用 update 子命令来做到这一点:

$ rustup update

帮助和文档

以上命令对于日常使用来说绰绰有余。尽管如此,rustup 有多种命令,你可以参考帮助部分了解更多详细信息:

$ rustup --help

rustup 在 GitHub 上有完整的 参考手册,你可以用作参考。所有 Rust 文档都安装在你的本地系统上,不需要你连接到互联网。你可以访问包括书籍、标准库等在内的本地文档:

$ rustup doc
$ rustup doc --book
$ rustup doc --std
$ rustup doc --cargo

Rust 是一种正在积极开发中的令人兴奋的语言。如果你对编程的发展方向感兴趣,请关注 Rust!


via: https://opensource.com/article/22/6/rust-toolchain-rustup

作者:Gaurav Kamathe 选题:lkxed 译者:geekpi 校对:turbokernel

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

这是如何在 elementary OS 中启用最小化、最大化窗口按钮的方法。

许多人(大多数是 elementary OS 的新用户)在各种论坛上问这些问题:

  1. 我怎样才能在 elementary OS 中启用最小化按钮?
  2. 我如何启用还原、最小化、最大化?
  3. 有可能恢复最小化和最大化按钮吗?

这些都是完全正常的问题,而且问问题也是可以的。对吧?这篇指南可以帮助他们在 elementary OS 中获得这些按钮。

Elementary OS 所使用的 Pantheon 桌面并没有默认的标准窗口按钮。其主要原因是通过 Dock 和应用菜单处理用户行为和活动的不同理念。可以说,这种设计或实现的行为模仿了macOS。

不过,许多用户更喜欢窗口按钮,因为这是一个所谓的“肌肉记忆”,而且有些人是从其他桌面环境(甚至是 Windows)迁移过来的。

尽管 Elementary 没有为你提供这个默认设置,你仍然可以启用它。下面是方法。

启用最小化最大化按钮 - elementary OS

打开终端,安装添加 PPA 所需的 software-properties-common 软件包。默认情况下,这个包在 elementary OS 中没有安装(不要问我为什么,真的)。

sudo apt install software-properties-common

elementary OS 6 Odin

elementary Tweak 工具被重新换了个名字,它现在被称为 Pantheon Tweaks,并正在单独开发中。使用以下命令,你可以安装它:

sudo add-apt-repository -y ppa:philip.scott/pantheon-tweaks
sudo apt install -y pantheon-tweaks

elementary OS 5 Juno 及更低版本

如果你使用的是 elementary OS 5 June 及更低版本,你可以使用相同的 PPA 安装早期的 elementary-tweaks。在终端按照以下命令进行操作:

sudo add-apt-repository -y ppa:philip.scott/elementary-tweaks
sudo apt install -y elementary-tweaks

更改设置

  • 安装后,点击顶部栏的“ 应用 Application ”,打开“ 系统设置 System settings ”。在系统设置窗口中,点击“ 个人 Personal ”下的 “Tweaks”。
  • 在 Tweaks 窗口中,进入“ 外观 Appearance ”。
  • 在窗口控制下,选择布局:“Windows”。

enable minimize maximize buttons elementary OS

  • 然后在顶部窗口栏的右侧应该有最小化、最大化和关闭按钮了。

也有其他组合形式,如 Ubuntu、macOS 等。你可以选择任何你觉得合适的:

Other Options of Window buttons in elementary

这篇指南至此就结束了。系统设置中还有其他选项,你可以尝试使用,但窗口管理器 gala 最近删除了这些选项。因此,它们目前可能无法工作。

我希望这个指南能帮助你启用 elementary OS 的最小化最大化按钮。如果你需要任何帮助,请在下面的评论栏告诉我。


via: https://www.debugpoint.com/2021/08/enable-minimize-maximize-elementary/

作者:Arindam 选题:lkxed 译者:geekpi 校对:wxy

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

几乎所有的事情都可以从 Linux 命令行完成,包括对 Xfce4 进行远程配置。

 title=

与专有操作系统相比,我很欣赏 Linux 的一个特点是,几乎所有的东西都可以从命令行中进行管理和配置。意味着几乎所有的事情都可以在本地或者通过 SSH 远程登录进行管理。虽然有时候需要花费一点时间在互联网上搜索,但是你能想到的任务,是有可能从命令行完成的。

问题

有时候需要使用命令行对桌面进行远程配置。在这种特殊情况下,我需要响应远程用户的请求将在 Xfce 控制板上的工作区从四个减少到三个。这种配置只需要在互联网上搜索约 20 分钟就找到了。

xfwm4 的默认工作区数量和许多其他设置可以在 /usr/share/xfwm4/defaults 这个文件中找到和修改。因此将 workspace_count=2 设置为 workspace_count=4 就改变了主机上所有用户的默认值。同时,非 root 用户可以执行 xfconf-query 命令来查询和设置 xfwm4 窗口管理器的各种属性。它应该由需要改变设置的用户使用,而不是由 root 使用。

在下面的例子中,首先我验证了当前工作区数量为 4 ,然后将数量改为 2,最后确认了新设置。

[user@test1 ~]# xfconf-query -c xfwm4 -p /general/workspace_count
4
[user@test1 ~]# xfconf-query -c xfwm4 -p /general/workspace_count -s 2
[user@test1 ~]# xfconf-query -c xfwm4 -p /general/workspace_count
2
[user@test1 ~]#

此更改会立即生效,用户可以马上看到,无需重新启动,甚至无需注销并重新登录。我曾在我的工作站上玩过这个游戏,当我输入设置不同数量的工作空间的命令时,可以观察到工作空间切换器的变化。我在哪儿都能找到乐子。;- )

更多探索

现在我解决了这个问题,我决深入了解一下 xfconf-query 命令。不幸的是,该工具没有手册或信息页,/usr/share 中也没有任何文档。退而求其次,使用 -h 选项获取一些帮助信息。

$ xfconf-query -h
 Usage:
   xfconf-query [OPTION…] - Xfconf commandline utility
 Help Options:
   -h, --help            显示帮助选项
 Application Options:
   -V, --version         版本信息
   -c, --channel         查询/修改通道
   -p, --property        查询/修改属性
   -s, --set             更新权限的值
   -l, --list            罗列属性(或者通道,如果没有用 -c 指定)
   -v, --verbose         详细输出
   -n, --create          当新属性不存在,则创建它
   -t, --type            指定属性值类型
   -r, --reset           重置属性
   -R, --recursive       递归(与 -r 一起使用)
   -a, --force-array     即使只有一个元素也强制采用数组
   -T, --toggle          反转现有的布尔属性
   -m, --monitor         监视属性更改的通道

这没有多大帮助,但我们还是可以从中找出一些有用的东西。首先,通道 是可以修的属性的分组。我对 general 通道下的 workspace_count 属性进行了更改。让我们看看完整的通道列表:

$ xfconf-query -l
Channels:
  xfwm4
  xfce4-keyboard-shortcuts
  xfce4-notifyd
  xsettings
  xfdashboard
  thunar
  parole
  xfce4-panel
  xfce4-appfinder
  xfce4-settings-editor
  xfce4-power-manager
  xfce4-session
  keyboards
  displays
  keyboard-layout
  ristretto
  xfcethemer
  xfce4-desktop
  pointers
  xfce4-settings-manager
  xfce4-mixer

给定通道的属性也可以用下列的命令来查看。我使用 less 分页器,因为结果是一长串数据。我对下面的列表进行了裁剪,但留下了足够多的条目,你可以看到这些条目的类型。

$ xfconf-query -c xfwm4 -l | less
/general/activate_action
/general/borderless_maximize
/general/box_move
/general/box_resize
/general/button_layout
/general/button_offset
<裁剪>
/general/workspace_count
/general/workspace_names
/general/wrap_cycle
/general/wrap_layout
/general/wrap_resistance
/general/wrap_windows
/general/wrap_workspaces
/general/zoom_desktop
(END)

你可以用这种方式探索所有的通道。我发现通道通常对应“设置管理器”中的各种设置。这些属性是你在这些对话框中设置的。请注意,并非你在“设置管理器”对话窗口中找到的所有设置都是 Xfce 桌面的一部分,因此它们没有对应的通道。屏幕保护程序就是一个例子,因为它是通用的 GNU 屏幕保护程序,并不是 Xfce 独有的。“设置管理器” 是 Xfce 定位这些配置工具的一个很好的中心位置。

文档

综上所述,xconf-query 命令似乎没有任何手册或信息页,并且我在网上发现了很多不正确的、记录不全的信息。我发现对 Xfce4 来说最好的文档是 Xfce 网站,关于 xconf-query 的一些具体信息可以在这里找到。


via: https://opensource.com/article/21/1/remote-configuration-xfce4

作者:David Both 选题:lujun9972 译者:Donkey-Hao 校对:wxy

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

Vim 9.0 发布,带来了百倍速度新脚本语言

Vim 迎来了两年来的首个重大更新,在这个版本中除了若干变化外,还带来了一个新的脚本语言 Vim9 脚本。Vim9 脚本的目标是极大地提升性能,可带来一到两个数量级(10~100 倍)的执行速度提升;其次是避免 Vim 特有的结构,使之更接近于常用的编程语言,如 JavaScript、TypeScript 和 Java 等。不过,虽然 Vim9 和 Vim 之前支持的脚本语言存在一些不兼容,但旧的脚本仍然可以继续工作,不会像 Python 2 那样。

消息来源:Vim
老王点评:虽然是非常古老甚至古怪的编辑器,但是可喜的是 Vim 依然与时俱进,甚至还可能发展出一门通用的脚本语言来!

有人正在使用深度伪造来申请远程工作

美国联邦调查局表示已收到多起投诉,称有人利用窃取的信息和深度伪造的视频和语音来申请远程技术工作。这些视频、图像或录音被篡改成看起来和听起来像别人的,这些伪造者还使用偷来的他人身份信息来申请 IT、编程、数据库和软件公司的工作。不过,一些比较业余的深度伪造技术没有能及时跟上伪造者的咳嗽和打喷嚏,因而出现了一些穿帮镜头。目前还不清楚在这些虚假的工作尝试中,有多少是成功的,有多少是被发现并被举报的。

消息来源:gizmodo
老王点评:这真是新技术的“新用途”,这些远程工作者盯上的不只是公司的薪水,可能还有公司的机密信息。

Asahi Linux 开始着手为 M2 带来 Linux 支持

Asahi Linux 一直在努力将“苹果硅”芯片支持拉入 Linux 生态。最近他们收到了一台 13 英寸的 2022 款 MacBook Pro,开始着手为 M2 带来 Linux 支持。幸运的是,为 M1 编写的大部分 Linux 代码,都可在 M2 上无缝运行。当然,要让 M2 Mac 完美运行 Linux,还得再编写一些新的驱动程序。

消息来源:Phoronix
老王点评:光靠着开源社区反向工程做到这个程度已属难得,而这个过程中,苹果公司就静静的看着。

早在 2009 年,Minecraft 就来到了这个世界。从那时起,它已经成为一种文化现象。在这段时间里,一些开发者发布了具有类似想法和机制的开源游戏。今天,我们将看看其中最大的一个:Minetest。

什么是 Minetest?

Minetest,简单地说,是一个基于 体素 voxel 的沙盒游戏,与 Minecraft 非常相似。与 Minecraft 不同的是,Minetest 是用 C++ 编写的,并被设计成可以在大多数系统上原生运行。它也有一个非常大的地图区域。地图大小为 “62,000 × 62,000 × 62,000 块”,“你可以向下开采 31,000 块,或向上建造 31,000 块”。

有趣的是,Minetest 最初是以专有许可证发布的,但后来被重新授权为 GPL。此后,它又被重新授权为 LGPL。

Minetest 有几种模式。你可以建造并发挥创意,或者你可以尝试在各种元素中生存。你并不局限于这些模式。Minetest 有大量的 额外内容,包括 模组 mod 、纹理包和在 Minetest 中建立的游戏。这主要是通过 Minetest 的 模组 API 和 Lua 完成的。

minetest packages

对于那些玩过 Minecraft 的人来说,你会发现 Minetest 中的体验非常相似。你可以挖掘资源,建造结构,并结合材料来制作工具。我在 Minetest 中没有注意到的一件事是怪物。我认为 Minetest 中没有任何生物,但话说回来,我只在创意模式中玩过。我还没有玩过生存模式。

Minetest 也被用于 教育。例如,瑞士 CERN 的人用 Minetest 创造了一个游戏,以 展示互联网是如何工作的 以及它是如何被创造出来的。Minetest 还被用于 教授 编程、地球科学以及微积分和三角学。

minetes map1

如何安装 Minetest?

Minetest 几乎在每个系统上都可以使用。下面是一个命令列表,你可以用它来在一些最流行的 Linux 发行版中安装 Minetest。

Ubuntu 或者 Debian

如果你有一个基于 Ubuntu 或 Debian 的发行版,只要在终端输入这个命令:

sudo apt install mintest

Arch 或者 Manjaro

对于基于 Arch 的系统(如 Manjaro),使用:

sudo pacman -S minetest

Fedora

你可以从 Fedora 服务器中输入以下命令安装 Mintest:

sudo dnf install mintest

openSUSE

openSUSE 用户可以用这个命令安装 Minetest:

sudo zypper in mintest

FreeBSD

FreeBSD 用户很幸运。他们可以用这个命令安装 Mintest:

pkg install minetest minetest_game

Snap

要安装 Minetest 的 Snap 包,请在终端输入以下命令:

sudo snap install minetest

Flathub

要安装,请输入:

flatpak install flathub net.minetest.Minetest

你可以在 这里 下载 Windows 的可移植执行文件。你也可以在 Android 上安装 Minetest,可以通过 Google Play下载 APK

总结

minetest about

我已经在 Minetest 中花了几个小时在我的本地系统上进行构建和探索。它非常有趣。我还没来得及尝试任何额外的内容,因为我对我玩过的相对较少的游戏部分非常满意。我遇到的唯一麻烦是,由于某种原因,它在 Fedora 上运行缓慢。我可能存在一些配置上的错误。

如果你曾经认为 Minecraft 看起来很有趣,但不想花钱,那就去看看 Minetest。你会很高兴你这么做。

如果你玩过 Minetest,在评论中告诉我们你的体验如何。


via: https://itsfoss.com/minetest/

作者:John Paul 选题:lkxed 译者:geekpi 校对:wxy

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

将你的大任务分为小步骤,避免自己不堪重负。

 title=

本周开始,我先回顾我的日程安排,看看我需要或想要完成的事情。通常,列表上有些较大的项目。无论来自工作上的问题,还是一系列关于生产力的文章,或者改进我家的鸡舍,当作为一项工作时,这个任务真的很艰巨。很有可能我无法坐下来,在一个时间段内,甚至在一天内完成类似(请注意,只是举例)21 篇文章之类的事情。

21 Days of Productivity project screenshot

21 天的生产力 (Kevin Sonney, CC BY-SA 4.0)

所以当我的清单上有这样的东西时,我做的第一件事就是把它分解成更小的部分。如著名的诺贝尔文学奖得主 William Faulkner 说的“移山的人,从小石头开始。”(LCTT 译注:感觉与“千里之行,始于足下”是一个意思) 我们要解决大任务(山)并且需要完成各个步骤(小石头)。

我使用下面的步骤将大任务分割为小步骤:

  1. 我通常很清楚完成一项任务需要做什么。如果没有,我会做一些研究来弄清楚这一点。
  2. 我会顺序的写下完成的步骤。
  3. 最后,我坐下来拿着我的日历和清单,开始将任务分散到几天(或几周或几个月),以了解我何时可以完成它。

现在我不仅有计划,还知道多久能完成。逐步完成,我可以看到这项大任务不仅变得更小,而且更接近完成。

军队有句古话,“遇敌无计”。 几乎可以肯定的是,有一两点(或五点)我意识到像“截屏”这样简单的事情需要扩展到更复杂的事情。事实上,在 Easy!Appointments 的截图中,竟然是:

  1. 安装和配置 Easy!Appointments
  2. 安装和配置 Easy!Appointments WordPress 插件
  3. 生成 API 密钥来同步日历
  4. 截屏

即便如此,我也不得不将这些任务分解成更小的部分——下载软件、配置 NGINX、验证安装……你明白了吧。没关系。一个计划或一组任务不是一成不变的,可以根据需要进行更改。

project completion pie chart

今年的计划已经完成了 2/3 ! (Kevin Sonney, CC BY-SA 4.0)

这是一项后天习得的技能,最初几次需要一些努力。学习如何将大任务分解成更小的步骤可以让您跟踪实现目标或完成大任务的进度,而不会在过程中不知所措。


via: https://opensource.com/article/21/1/break-down-tasks

作者:Kevin Sonney 选题:lujun9972 译者:Donkey 校对:wxy

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