2019年7月

Fedora 与所有基于 Linux 的系统一样,它提供了一组强大的安全特性。其中一个基本特性是文件和文件夹上的权限。这些权限保护文件和文件夹免受未经授权的访问。本文将简要介绍这些权限,并向你展示如何使用它们共享对文件夹的访问。

权限基础

Fedora 本质上是一个多用户操作系统,它也有,用户可以是其成员。但是,想象一下一个没有权限概念的多用户系统,不同的登录用户可以随意阅读彼此的内容。你可以想象到这对隐私或安全性并不是很好。

Fedora 上的任何文件或文件夹都分配了三组权限。第一组用于拥有文件或文件夹的用户,第二组用于拥有它的,第三组用于其他人,即既不是该文件的用户也不是拥有该文件的组中的用户。有时这被称为全世界

权限意味着什么

每组权限都有三种形式:执行。其中每个都可以用首字母来代替,即 rwx

文件权限

对于文件,权限的含义如下所示:

  • 读(r):可以读取文件内容
  • 写(w):可以更改文件内容
  • 执行(x):可以执行文件 —— 这主要用于打算直接运行的程序或脚本

当你对任何文件进行详细信息列表查看时,可以看到这三组权限。尝试查看系统上的 /etc/services 文件:

$ ls -l /etc/services
-rw-r--r--. 1 root root 692241 Apr  9 03:47 /etc/services

注意列表左侧的权限组。如上所述,这些表明三种用户的权限:拥有该文件的用户,拥有该文件的组以及其他人。用户所有者是 root,组所有者是 root 组。用户所有者具有对文件的读写权限,root 组中的任何人都只能读取该文件。最后,其他任何人也只能读取该文件。(最左边的 - 显示这是一个常规文件。)

顺便说一下,你通常会在许多(但不是所有)系统配置文件上发现这组权限,它们只由系统管理员而不是普通用户更改。通常,普通用户需要读取其内容。

文件夹(目录)权限

对于文件夹,权限的含义略有不同:

  • 读(r):可以读取文件夹内容(例如 ls 命令)
  • 写(w):可以更改文件夹内容(可以在此文件夹中创建或删除文件)
  • 执行(x):可以搜索文件夹,但无法读取其内容。(这听起来可能很奇怪,但解释起来需要更复杂的文件系统细节,这超出了本文的范围,所以现在就这样吧。)

看一下 /etc/grub.d 文件夹的例子:

$ ls -ld /etc/grub.d
drwx------. 2 root root 4096 May 23 16:28 /etc/grub.d

注意最左边的 d,它显示这是一个目录或文件夹。权限显示用户所有者(root)可以读取、更改和 cd 到此文件夹中。但是,没有其他人可以这样做 —— 无论他们是否是 root 组的成员。注意,你不能 cd 进入该文件夹。

$ cd /etc/grub.d
bash: cd: /etc/grub.d: Permission denied

注意你自己的主目录是如何设置的:

$ ls -ld $HOME
drwx------. 221 paul paul 28672 Jul  3 14:03 /home/paul

现在,注意除了作为所有者之外,没有人可以访问此文件夹中的任何内容。这是特意的!你不希望其他人能够在共享系统上读取你的私人内容。

创建共享文件夹

你可以利用此权限功能轻松创建一个文件夹以在组内共享。假设你有一个名为 finance 的小组,其中有几个成员需要共享文档。因为这些是用户文档,所以将它们存储在 /home 文件夹层次结构中是个好主意。

首先,使用 sudo 创建一个共享文件夹,并将其设置为 finance 组所有:

$ sudo mkdir -p /home/shared/finance
$ sudo chgrp finance /home/shared/finance

默认情况下,新文件夹具有这些权限。注意任何人都可以读取或搜索它,即使他们无法创建或删除其中的文件:

drwxr-xr-x. 2 root root 4096 Jul  6 15:35 finance

对于金融数据来说,这似乎不是一个好主意。接下来,使用 chmod 命令更改共享文件夹的模式(权限)。注意,使用 g 更改所属组的权限,使用 o 更改其他用户的权限。同样,u 会更改用户所有者的权限:

$ sudo chmod g+w,o-rx /home/shared/finance

生成的权限看起来更好。现在,finance 组中的任何人(或用户所有者 root)都可以完全访问该文件夹及其内容:

drwxrwx---. 2 root finance 4096 Jul  6 15:35 finance

如果其他用户尝试访问共享文件夹,他们将无法执行此操作。太棒了!现在,我们的金融部门可以将文档放在一个共享的地方。

其他说明

还有其他方法可以操作这些权限。例如,你可能希望将此文件夹中的任何文件设置为 finance 组所拥有。这需要本文未涉及的其他设置,但请继续关注我们,以了解关于该主题的更多信息。


via: https://fedoramagazine.org/command-line-quick-tips-permissions/

作者:Paul W. Frields 选题:lujun9972 译者:MjSeven 校对:wxy

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

Epic MegaGrantsEpic Games 的一个计划,用于支持游戏开发人员、企业专业人士、内容创建者和工具开发人员使用 虚幻引擎 Unreal Engine (UE)做出神奇的作品或增强 3D 图形社区的开源功能。

作为该计划的一部分,Epic Games 给予 Blender 基金会 120 万美元拨款以帮助改善他们的发展。如果你还不知道,Blender 是最好的开源视频编辑之一,特别是以创建专业的 3D 计算机图形而闻名。

Tim Sweeney(Epic Games 的创始人兼首席执行官)这样评论这笔授予:

“开放式工具、库和平台对数字内容生态系统的未来至关重要。……Blender 是艺术社区持久的资源,我们的目标是确保其进步,造福所有创作者。”

即使这是个好消息,也有人对此不满意。在本文中,我们将看一下得到该拨款后的 Blender 基金会的计划,以及人们对此的看法。

Blender 基金会的改进计划

Image Credit : BlenderNation

新闻稿当中,Blender 基金会提到了如何利用这笔资金以及用于何种目的:

“Epic MegaGrant 将在未来三年内逐步交付,并将为 Blender 的 专业 Blender 发展计划 Professionalizing Blender Development Initiative 做出贡献。”

所以,没错,这笔财务帮助将以现金提供 —— 但是,它要在 3 年内完成。也就是说,我们要期待 Blender 基金会及其软件质量得到重大改进还有很长时间。

这是 Ton Roosendaal(Blender 基金会的创始人)需要说明的它将如何被利用:

“Epic Games 的支持对 Blender 是一个重要里程碑,”Blender 基金会的创始人兼董事长 Ton Roosendaal 说道。“由于这项拨款,我们将对我们的项目组织进行大量投入,以改善支持、协作和代码质量实践。因此,我们期望更多来自该行业的贡献者加入我们的项目。”

为什么人们对此不是很喜欢?

让我澄清一下,就我个人而言,我不喜欢用 Epic Game 的市场或客户端玩游戏。

由于各种原因(功能、隐私等),我更喜欢 Steam 而不是 Epic Games。

Epic Games 被称为游戏社区中的坏人,因为它最近几款游戏专属于其平台 —— 尽管很多人警告用户该平台上的隐私问题。

不仅如此,Epic Games 的首席执行官在过去发过这样的推特:

安装 Linux 相当于人们不喜欢美国的政治趋势时就搬到加拿大。

不,我们必须为今天的自由而战,如今我们拥有自由。

嗯,这并不直接暗示他讨厌 Linux 或者没有积极推动 Linux 的游戏开发 —— 但是只是因为很多历史情况,人们并不真正信任 Epic Games 的决策。所以,他们并不欣赏与 Blender 基金会的联系(即使这个财务帮助是积极的)。

这与财务帮助无关。但是,Epic Games 缺乏良好的声誉(当然是主观的),因此,人们对此的看法是消极的。看看拨款公告后的一些推文:

希望不要走向排它……这可能会破坏你的声誉。

我对将来会变成什么样感到怀疑。EPIC 最近一直在采取敌对战术。

总而言之

你仍然可以通过 Lutris 在 Linux 上运行 Epic Games,但这是很单薄的非官方尝试。Epic Games 没有表示有兴趣正式支持该项目。

所以,很明显不是每个人都信任 Epic Games。因此,这个消息带来了各种消极反应。

但是,这笔拨款肯定会帮助 Blender 基金会改善其组织和软件质量。

你怎么看待这件事?请在下面的评论中告诉我们您的想法。


via: https://itsfoss.com/epic-games-blender-grant/

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

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

使用 GCC 在单一的构建机器上来为不同的 CPU 架构交叉编译二进制文件。

如果你是一个开发者,要创建二进制软件包,像一个 RPM、DEB、Flatpak 或 Snap 软件包,你不得不为各种不同的目标平台编译代码。典型的编译目标包括 32 位和 64 位的 x86 和 ARM。你可以在不同的物理或虚拟机器上完成你的构建,但这需要你为何几个系统。作为代替,你可以使用 GNU 编译器集合 (GCC) 来交叉编译,在单一的构建机器上为几个不同的 CPU 架构产生二进制文件。

假设你有一个想要交叉编译的简单的掷骰子游戏。在大多数系统上,以 C 语言来编写这个相对简单,出于给添加现实的复杂性的目的,我以 C++ 语言写这个示例,所以程序依赖于一些不在 C 语言中东西 (具体来说就是 iostream)。

#include <iostream>
#include <cstdlib>

using namespace std;

void lose (int c); 
void win (int c); 
void draw (); 

int main() { 
  int i; 
    do { 
      cout << "Pick a number between 1 and 20: \n"; 
      cin >> i; 
      int c = rand ( ) % 21; 
      if (i > 20) lose (c); 
      else if (i < c ) lose (c); 
      else if (i > c ) win (c); 
      else draw (); 
      } 
      while (1==1); 
      }

void lose (int c ) 
  { 
    cout << "You lose! Computer rolled " << c << "\n"; 
  }

void win (int c ) 
  { 
    cout << "You win!! Computer rolled " << c << "\n"; 
   }

void draw ( ) 
   { 
     cout << "What are the chances. You tied. Try again, I dare you! \n";
   }

在你的系统上使用 g++ 命令编译它:

$ g++ dice.cpp -o dice

然后,运行它来确认其工作:

$ ./dice
Pick a number between 1 and 20:
[...]

你可以使用 file 命令来查看你刚刚生产的二进制文件的类型:

$ file ./dice
dice: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically
linked (uses shared libs), for GNU/Linux 5.1.15, not stripped

同样重要,使用 ldd 命令来查看它链接哪些库:

$ ldd dice
linux-vdso.so.1 =&gt; (0x00007ffe0d1dc000)
libstdc++.so.6 =&gt; /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007fce8410e000)
libc.so.6 =&gt; /lib/x86_64-linux-gnu/libc.so.6
(0x00007fce83d4f000)
libm.so.6 =&gt; /lib/x86_64-linux-gnu/libm.so.6
(0x00007fce83a52000)
/lib64/ld-linux-x86-64.so.2 (0x00007fce84449000)
libgcc_s.so.1 =&gt; /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007fce8383c000)

从这些测试中,你已经确认了两件事:你刚刚运行的二进制文件是 64 位的,并且它链接的是 64 位库。

这意味着,为实现 32 位交叉编译,你必需告诉 g++ 来:

  1. 产生一个 32 位二进制文件
  2. 链接 32 位库,而不是 64 位库

设置你的开发环境

为编译成 32 位二进制,你需要在你的系统上安装 32 位的库和头文件。如果你运行一个纯 64 位系统,那么,你没有 32 位的库或头文件,并且需要安装一个基础集合。最起码,你需要 C 和 C++ 库(glibclibstdc++)以及 GCC 库(libgcc)的 32 位版本。这些软件包的名称可能在每个发行版中不同。在 Slackware 系统上,一个纯 64 位的带有 32 位兼容的发行版,可以从 Alien BOB 提供的 multilib 软件包中获得。在 Fedora、CentOS 和 RHEL 系统上:

$ yum install libstdc++-*.i686
$ yum install glibc-*.i686
$ yum install libgcc.i686

不管你正在使用什么系统,你同样必须安装一些你工程使用的 32 位库。例如,如果你在你的工程中包含 yaml-cpp,那么,在编译工程前,你必需安装 yaml-cpp 的 32 位版本,或者,在很多系统上,安装 yaml-cpp 的开发软件包(例如,在 Fedora 系统上的 yaml-cpp-devel)。

一旦这些处理好了,编译是相当简单的:

$ g++ -m32 dice.cpp -o dice32 -L /usr/lib -march=i686

-m32 标志告诉 GCC 以 32 位模式编译。-march=i686 选项进一步定义来使用哪种最优化类型(参考 info gcc 了解选项列表)。-L 标志设置你希望 GCC 来链接的库的路径。对于 32 位来说通常是 /usr/lib,不过,这依赖于你的系统是如何设置的,它可以是 /usr/lib32,甚至 /opt/usr/lib,或者任何你知道存放你的 32 位库的地方。

在代码编译后,查看你的构建的证据:

$ file ./dice32
dice: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs) [...]

接着,当然, ldd ./dice32 也会指向你的 32 位库。

不同的架构

在 64 位相同的处理器家族上允许 GCC 做出很多关于如何编译代码的假设来编译 32 位软件。如果你需要为完全不同的处理器编译,你必需安装适当的交叉构建实用程序。安装哪种实用程序取决于你正在编译的东西。这个过程比为相同的 CPU 家族编译更复杂一点。

当你为相同处理器家族交叉编译时,你可以期待找到与 32 位库集的相同的 64 位库集,因为你的 Linux 发行版是同时维护这二者的。当为一个完全不同的架构编译时,你可能不得不穷追你的代码所需要的库。你需要的版本可能不在你的发行版的存储库中,因为你的发行版可能不为你的目标系统提供软件包,或者它不在容易到达的位置提供所有的软件包。如果你正在编译的代码是你写的,那么你可能非常清楚它的依赖关系是什么,并清楚在哪里找到它们。如果代码是你下载的,并需要编译,那么你可能不熟悉它的要求。在这种情况下,研究正确编译代码需要什么(它们通常被列在 READMEINSTALL 文件中,当然也出现在源文件代码自身之中),然后收集需要的组件。

例如,如果你需要为 ARM 编译 C 代码,你必须首先在 Fedora 或 RHEL 上安装 gcc-arm-linux-gnu(32 位)或 gcc-aarch64-linux-gnu(64 位);或者,在 Ubuntu 上安装 arm-linux-gnueabi-gccbinutils-arm-linux-gnueabi。这提供你需要用来构建(至少)一个简单的 C 程序的命令和库。此外,你需要你的代码使用的任何库。你可以在惯常的位置(大多数系统上在 /usr/include)放置头文件,或者,你可以放置它们在一个你选择的目录,并使用 -I 选项将 GCC 指向它。

当编译时,不使用标准的 gccg++ 命令。作为代替,使用你安装的 GCC 实用程序。例如:

$ arm-linux-gnu-g++ dice.cpp \
  -I/home/seth/src/crossbuild/arm/cpp \
  -o armdice.bin

验证你构建的内容:

$ file armdice.bin
armdice.bin: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV) [...]

库和可交付结果

这是一个如何使用交叉编译的简单的示例。在真实的生活中,你的源文件代码可能产生的不止于一个二进制文件。虽然你可以手动管理,在这里手动管理可能不是好的正当理由。在我接下来的文章中,我将说明 GNU 自动工具,GNU 自动工具做了使你的代码可移植的大部分工作。


via: https://opensource.com/article/19/7/cross-compiling-gcc

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

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

这个发行版可以使任何人在 Linux 上如家一般。

Linux 有着如此多种的发行版。许多发行版为了使自己与众不同而做出了很多改变。另一方面,许多发行版之间的区别又是如此之小,你可能会问为什么有人还愿意不厌其烦的重复别人已经做过的工作呢?也正是基于这一疑惑,让我好奇为什么 antiXMEPIS这两个社区要联合推出一个特殊的发行版,考虑到具体情况应该会是一个搭载 Xfce 桌面并基于 antiX 的版本,由 MEPIS 社区承担开发。

这一开发中的使用 Xfce 桌面的 antiX 系统是否会基于它之前的发行版呢?毕竟,antiX 旨在提供一个“基于 Debian 稳定版的快速、轻量级、易于安装的非 systemd 的 live CD 发行版”。antiX 所搭载的桌面是 LXDE,能够极好的满足关于轻量化系统的相关要求和特性。那究竟是什么原因使得 antiX 决定构建另一个轻量化发行版呢,仅仅是因为这次换成了 Xfce 吗?好吧,Linux 社区中的任何人都知道,增加了不同风格的好的轻量级发行版是值得一试的(特别是可以使得我们的旧硬件摆脱进入垃圾填埋场的宿命)。当然,LXDE 和 Xfce 并不完全属于同一类别。LXDE 应该被认为是一个真正的轻量级桌面,而 Xfce 应该被认为是一个中等体量的桌面。朋友们,这就是为什么 MX Linux 是 antiX 的一个重要迭代的关键。一个基于 Debian 的中等体量的发行版,它包含你完成工作所需的所有工具。

但是在 MX Linux 中有一些直接从 antiX 借用来的非常有用的东西 —— 那就是安装工具。当我初次设置了 VirtualBox 虚拟机来安装 MX Linux 时,我认为安装的系统将是我已经习惯的典型的、非常简单的 Linux 系统。令我非常惊讶的是,MX Linux 使用的 antiX 安装程序打破了以往的痛点,特别是对于那些对尝试 Linux 持观望态度的人来说。

因此,甚至在我开始尝试 MX Linux 之前,我就对它有了深刻的印象。让我们来看看是什么让这个发行版的安装如此特别,最后再来看看桌面。

你可以从这里下载 MX Linux 17.1。系统的最低要求是:

  • CD/DVD驱动器(以及能够从该驱动器引导的 BIOS)或 live USB(以及能够从 USB 引导的 BIOS)
  • 英特尔 i486 或 AMD 处理器
  • 512 MB 内存
  • 5 GB 硬盘空间
  • 扬声器,AC97 或 HDA-compatible 声卡
  • 作为一个 LiveUSB 使用,需要 4 GB 空间

安装

MX Linux 安装程序使安装 Linux 变得轻而易举。虽然它可能不是外观最现代化的安装工具,但也已经差不多了。安装的要点是从选择磁盘和选择安装类型开始的(图 1)。

 title=

图 1:MX Linux 的安装程序截图之一

下一个重要的界面(图 2)要求你设置一个计算机名称、域名和(如果需要的话,为微软网络设置)工作组。

network

图 2:设置网络名称

配置工作组的能力是第一个真正值得称赞的。这是我记忆中第一款在安装期间提供此选项的发行版。它还应该提示你,MX Linux 提供了开箱即用的共享目录功能。它做到了,而且深藏功与名。它并不完美,但它可以在不需要安装任何额外包的情况下工作(稍后将详细介绍)。

最后一个重要的安装界面(需要用户交互)是创建用户帐户和 root 权限的密码(图 3)。

 title=

图 3:设置用户帐户详细信息和 root 用户密码

最后一个界面设置完成后,安装将完成并要求重新启动。重启后,你将看到登录屏幕。登录并享受 MX Linux 带来的体验。

使用

Xfce 桌面是一个非常容易上手的界面。默认设置将面板位于屏幕的左边缘(图 4)。

 title=

图 4:MX Linux 的默认桌面

如果你想将面板移动到更传统的位置,右键单击面板上的空白点,然后单击“面板”>“面板首选项”。在显示的窗口中(图 5),单击样式下拉菜单,在桌面栏、垂直栏或水平栏之间进行选择你想要的模式。

 title=

图 5:配置 MX Linux 面板

桌面栏和垂直选项的区别在于,在桌面栏模式下,面板垂直对齐,就像在垂直模式下一样,但是插件是水平放置的。这意味着你可以创建更宽的面板(用于宽屏布局)。如果选择水平布局,它将默在顶部,然后你必须取消锁定面板,单击关闭,然后(使用面板左侧边缘的拖动手柄)将其拖动到底部。你可以回到面板设置窗口并重新锁定面板。

除此之外,使用 Xfce 桌面对于任何级别的用户来说都是无需动脑筋的事情……就是这么简单。你会发现很多涵盖了生产力(LibreOffice、Orage Calendar、PDF-Shuffler)、图像(GIMP)、通信(Firefox、Thunderbird、HexChat)、多媒体(Clementine、guvcview SMTube、VLC媒体播放器)的软件,和一些 MX Linux 专属的工具(称为 MX 工具,涵盖了 live-USB 驱动器制作工具、网络助手、包管理工具、仓库管理工具、live ISO 快照工具等等)。

Samba

让我们讨论一下如何将文件夹共享到你的网络。正如我所提到的,你不需要安装任何额外的包就可以使其正常工作。只需打开文件管理器,右键单击任何位置,并选择网络上的共享文件夹。系统将提示你输入管理密码(已在安装期间设置)。验证成功之后,Samba 服务器配置工具将打开(图 6)。

 title=

图 6:向网络共享一个目录

单击“+”按钮配置你的共享。你将被要求指定一个目录,为共享提供一个名称/描述,然后决定该共享是否可写和可见(图 7)。

 title=

图 7:在 MX Linux 上配置共享

当你单击 Access 选项时,你可以选择是让每个人都访问共享,还是限于特定的用户。问题就出在这里。此时,没有用户可以共享。为什么?因为它们还没有被添加。有两种方法可以把它们添加到共享:从命令行或使用我们已经打开的工具。让我们用一种更为简单的方法。在 Samba 服务器配置工具的主窗口中,单击“首选项” > “Samba 用户”。在弹出的窗口中,单击“添加用户”。

将出现一个新窗口(图 8),你需要从下拉框中选择用户,输入 Windows 用户名,并为用户键入/重新键入密码。

 title=

图 8:向 Samba 添加用户

一旦你单击“确定”,这用户就会被添加,并且基于你的网络的对用户的共享功能也随之启用。创建 Samba 共享从未变得如此容易。

结论

MX Linux 使任何从桌面操作系统转到 Linux 都变得非常简单。尽管有些人可能会觉得桌面界面不太现代,但发行版的主要关注点不是美观,而是简洁。为此,MX Linux 以出色的方式取得了成功。Linux 的这个特色发行版可以让任何人在使用 Linux 的过程中感到宾至如归。尝试这一中等体量的发行版,看看它能否作为你的日常系统。


via: https://www.linux.com/learn/intro-to-linux/2018/4/mx-linux-mid-weight-distro-focused-simplicity

作者:JACK WALLEN 译者:qfzy1233 校对:wxy 选题:lujun9972

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

DistroTest——在线试用200多种Linux和Unix操作系统

不久前我们介绍过OSBoxes,该网站提供了一系列免费且开箱即用的 Linux 和 Unix 虚拟机。你可以在你的 Linux 系统中下载这些虚拟机并用 VirtualBox 或 VMWare workstation 试用。今天,我偶然发现一个名叫 “DistroTest” 的类似服务。与 OSBoxes 不同之处在于 DistroTest 让你免费试用现场版 Linux 和 Unix 操作系统。你可以在线试用 200 多种 Linux 和 Unix 操作系统而无需在本地安装它们。只要打开该网站,选择你需要的 Linux/Unix 发行版,然后开始试用!

两个名为 Klemann Andy 和 Forster Tobias 的好心人用 Qemu 在 Debian 上运行了这项网络服务。这里列出的公开发行版在使用上没有任何限制。你可以象使用本地系统一样使用系统的所有功能。你可以安装和卸载软件。你可以测试安装的程序,甚至删除或格式化硬盘,删除系统文件。简而言之,DistroTest让喜欢尝试不同发行版的的人自行决定:

  • 最适合他们的发行版
  • 想要哪种图形界面
  • 他们可以选择哪些配置

本文撰写之时,DistroTest 提供了 227 种操作系统的 711 个版本。我已经使用 Linux 很多年,但我从未听说过这里列出的一些发行版。说实话我甚至不知道 Linux 操作系统有如此之多的版本。

DistroTest 网站提供的 Linux 发行版的列表如下。(LCTT 译注:其中也包括部分非 Linux 的操作系统如 FreeBSD 和 FreeDOS,或是分区工具如 Gparted)

  • 4mLinux
  • AbsoluteLinux
  • AlpineLinux
  • Antergos
  • antiX Linux
  • Aptosid
  • ArchBang
  • ArchLabs
  • ArchLinux
  • Archman
  • ArchStrike
  • ArtixLinux
  • AryaLinux
  • AvLinux
  • BackBoxLinux
  • BigLinux
  • Bio-Linux
  • BlackArch
  • BlackLab
  • BlackPantherOS
  • blag
  • BlankOn
  • Bluestar
  • Bodhi
  • BunsenLabs
  • Caine
  • Calculate Linux Desktop
  • CentOS 7
  • Chakra
  • ChaletOS
  • ClearOS
  • Clonezilla
  • ConnochaetOS
  • Cucumber
  • Damn Small Linux
  • Debian
  • Devil-Linux
  • Devuan
  • DragonFly BSD
  • Dragora
  • Dyne:bolic
  • Edubuntu
  • elementaryOS
  • Elive Linux
  • Emmabuntüs
  • Emmabuntüs
  • Endless OS
  • EnsoOS
  • Exe GNU/Linux
  • ExTiX
  • Fatdog64
  • Fedora
  • FerenOS
  • FreeBSD
  • FreeDOS
  • Frugalware
  • Frugalware
  • G4L
  • GeckoLinux
  • Gentoo
  • GNewSense
  • GoboLinux
  • Gparted
  • GreenieLinux
  • GRML
  • GuixSD
  • Haiku
  • Heads
  • Kali Linux
  • Kanotix
  • KaOS
  • Knoppix
  • Kodachi
  • KolibriOS
  • Korora
  • Kwort
  • Linux Lite
  • Linux Mint
  • LiveRaizo
  • LMDE
  • LXLE OS
  • Macpup
  • Mageia
  • MakuluLinux
  • Manjaro
  • MauiLinux
  • MenuetOS
  • MiniNo
  • Modicia
  • Musix
  • MX Linux
  • Nas4Free
  • Neptune
  • NetBSD
  • Netrunner
  • NixOs
  • NuTyX
  • OpenIndiana
  • OpenMandriva
  • openSUSE
  • OracleLinux
  • OSGeo live
  • OviOS
  • Parabola
  • Pardus
  • Parrot
  • Parsix
  • PCLinuxOS
  • PeachOSI
  • Peppermint
  • Pinguy
  • PinguyOS
  • plopLinux
  • PointLinux
  • Pop!\_OS
  • PORTEUS
  • Puppy Linux
  • PureOS
  • Q4OS
  • QubesOS
  • Quirky
  • ReactOS
  • Redcore
  • Rescatux
  • RevengeOS
  • RoboLinux
  • Rockstor
  • ROSA
  • Runtu
  • Sabayon
  • SalentOS
  • Salix
  • ScientificLinux
  • Siduction
  • Slax
  • SliTaz
  • Solus
  • SolydK
  • SparkyLinux
  • Springdale
  • Stresslinux
  • SubgraphOS
  • SwagArch (18.03)
  • Tails
  • Tanglu
  • Tiny Core
  • Trisquel
  • TrueOS
  • TurnKey Linux
  • Ubuntu及其官方衍生版本
  • Uruk
  • VectorLinux
  • VineLinux
  • VoidLinux
  • Voyager
  • VyOS
  • WattOs
  • Zentyal
  • Zenwalk
  • Zevenet
  • Zorin OS

如何使用?

要试用任何操作系统,点击下面的链接: https://distrotest.net/

在这个网站,你会看到可用的操作系统列表。单击你想了解的发行版名称即可。

用 DistroTest 试用 200 多种Linux和Unix操作系统

本文中我会试用 Arch Linux。

单击发行版链接后,在跳转到的页面单击 “System start” 按钮即可启动所选操作系统。

此现场版操作系统会在新浏览器窗口中启动。你可以通过内建的 noVNC viewer 访问它。请在浏览器中启用/允许 DistroTest 网站的弹出窗口,否则无法看到弹出的 noVNC 窗口。

按回车启动现场版系统。

这就是 Arch Linux 现场版系统:

你可以免费使用这个系统 1 小时。你可以试用该现场版操作系统、安装应用、卸载应用、删除或修改系统文件、测试配置或脚本。每次关机后,一切都会恢复成默认配置。

一旦试用结束,回到 DistroTest 页面并停止你试用的系统。如果你不想启用 DistroTest 页面的弹出窗口,用你本地系统安装的任意 VNC 客户端也可以。VNC 登录信息可在同一页面找到。

DistroTest 服务对两类用户比较实用:想在线试用 Linux/Unix 系统,或是没有喜欢的操作系统现场版 ISO 镜像文件的人。我在 4G 网络上测试的结果一切正常。

实际上,我没法在这个虚拟机里安装新软件

试用期间我注意到的一个问题是这个虚拟机没有联网。除了本地环回接口之外没有其他网络接口。没有联网也没有本地镜像源的情况下我没法下载和安装新软件。我不知道为何网站声称可以安装软件。也许在这点上我遗漏了什么。我在 DistroTest 上能做的只是看看现成的系统,试用现场版而不能安装任何软件。

推荐阅读:

暂时就这样了。我不知道 DistroTest 团队如何设法托管了这么多操作系统。我肯定这会花不少时间。这的确是件值得称赞的工作。我非常感激项目成员的无私行为。荣誉归于你们。加油!


via: https://www.ostechnix.com/test-100-linux-and-unix-operating-systems-online-for-free/

作者:sk 选题:lujun9972 译者:0x996 校对:wxy

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

编程可以给低收入家庭的学生提供足够的技能、信心和知识,进而让他们摆脱因为家庭收入低带来的经济和社会地位上的劣势。

尽管暑假期间底特律公共图书馆的帕克曼分部挤满了无聊的孩子并且占用了所有的电脑,图书馆工作人员并不觉得这会是个问题,反而更多是一个机会。他们成立一个名为 Parkman Coders 的编程社团,社团以 Qumisha Goss 为首,她是图书管理员,也负责利用 Python 的魔力引导弱势儿童的计算机思维。

四年前 Qumisha Goss 刚发起 Parkman Coders 计划的时候, “Q”(代表她)并不是太懂编程。之后她通过努力成为图书馆里教学和技术方面的专家和树莓派认证讲师。

社团最开始采用 Scratch 教学,但很快学生就对这种图形化的块编程感到乏味,他们觉得这就是个“婴儿玩具”。Q 坦言,“我们意识到是时候需要在课程内容这方面做些改变了,如果是为了维持课程内容对初学者的友好性继续选择 Scratch 教学,这无疑会影响孩子们后期继续保持对编程的关注。”因此,她开始教授孩子们 Python。

Q 是在 Code.org 平台玩地牢骷髅怪物这个关卡的时候第一次接触到 Python。她最开始是通过 《Python Programming: An Introduction to Computer Science》 和 《Python for Kids》 这两本书学习的 Python。她也推荐 《Automate the Boring Stuff with Python》 和 《Lauren Ipsum: A Story about Computer Science and Other Improbable Things》 这两本书。

建立一个基于树莓派的创客空间

Q 决定使用树莓派电脑来避免学生可能会因为自己的不当操作对图书馆的电脑造成损害,而且这些电脑因为便携性等问题也不方便用来构建组成一个创客空间。树莓派的购买价格加上它的灵活性和便携性包括生态圈里面的一些适合教学的自由免费软件,让大家更能感受到她的决策的可行性和可靠性。

虽然图书馆发起 Parkman Coders 社区计划的本意是通过努力创造一个吸引孩子们的学习空间,进而维持图书馆的平和,但社区发展的很快,很受大家欢迎,以至于这座建立于 1921 的大楼的空间,电脑和插座都不够用了。他们最开始是 20 个孩子共享 10 台树莓派来进行授课,但后来图书馆陆续收到了来自个人和公司比如 Microsoft、4H,和 Detroit Public Library Foundation 的资金援助从而能够购买更多设备以支撑社区的进一步壮大发展。

目前,每节课程大概有 40 个孩子参加,而且图书馆也有了足够的树莓派让参与者人手一台设备甚至还可以送出去一些。鉴于不少 Parkman Coders 的参与者来自于低收入家庭,图书馆也能提供别人捐赠的 Chromebooks 给他们使用。

Q 说,“当孩子们的表现可以证明他们能够很好的使用树莓派或者 Microbit 而且定期来参加课程,我们也会提供设备允许他们可以带回家练习。但即便这样也还是会遇到很多问题,比如他们在家无法访问网络或者没有显示器、键盘、鼠标等外设。”

利用 Python 学习生存技能,打破束缚

Q 说,“我认为教授孩子们计算机科学的主要目的是让他们学会批判性思考和解决问题的能力。我希望随着孩子们长大成人,不管他们选择在哪个领域继续发展他们的未来,这些经验教训都会一直伴随他们成长。此外,我也希望这个课程能够激发孩子们对创造的自豪感。能够清楚的意识到‘这是我做的’是一种很强烈、很有用的感受。而且一旦孩子们越早能够有这种成功的体验,我相信未来的路上他们都会满怀热情迎接新的挑战而不是逃避。”

她继续分享道,“在学习编程的过程中,你不得不对单词的拼写和大小写高度警惕。受限于孩子年龄,有时候阅读认知会是个大问题。为了确保课程受众的包容性,我们会在授课过程中大声拼读,同样我们也会极力鼓励孩子们大声说出他们不知道的或者不能正确拼写的单词,以便我们纠正。”

Q 也会尝试尽力去给需要帮助的孩子们更多的关注。她解释道,“如果我确认有孩子遇到困难不能跟上我们的授课进度,我们会尝试在课下时间安排老师辅导帮助他,但还是会允许他们继续参加编程。我们想帮助到他们而不是让他们因为挫败而沮丧的不再参与进来。”

最重要的是,Parkman Coders 计划所追求的是能够帮助每个孩子认识到每个人都会有独特的技能和能力。参与进来的大部分孩子都是非裔美国人,一半是女孩。Q 直言,“我们所生活在的这个世界,我们成长的过程中,伴随着各种各种的社会偏见,这些都常常会限制我们对自己所能达到的成就的准确认知。”她坚信孩子们需要一个没有偏见的空间,“他们可以尝试很多新事物,不会因为担心犯错责骂而束手束脚,可以放心大胆的去求知探索。”

Q 和 Parkman Coders 计划所营造的环境氛围能够帮助到参与者摆脱低家庭收入带来的劣势。如果说社区能够发展壮大到今天的规模真有什么独特秘诀的话,那大概就是,Q 解释道,“确保你有一个令人舒适的空间,充满了理解与宽容,这样大家才会被吸引过来。让来的人不忘初心,做好传道受业解惑的准备;当大家参与进来并感觉到充实愉悦,自然而然会想要留下来。”


via: https://opensource.com/article/19/2/break-down-stereotypes-python

作者:Don Watkins 选题:lujun9972 译者:WangYueScream 校对:wxy

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