2018年1月

概要: 本文列举了 Linux 中最好的命令行游戏。

Linux 从来都不是游戏的首选操作系统,尽管近日来 Linux 的游戏提供了很多,你也可以从许多资源下载到 Linux 游戏

也有专门的 游戏版 Linux。没错,确实有。但是今天,我们并不是要欣赏游戏版 Linux。

Linux 有一个超过 Windows 的优势。它拥有一个强大的 Linux 终端。在 Linux 终端上,你可以做很多事情,包括玩 命令行游戏

当然,我们都是 Linux 终端的骨灰粉。终端游戏轻便、快速、有地狱般的魔力。而这最有意思的事情是,你可以在 Linux 终端上重温大量经典游戏。

最好的 Linux 终端游戏

来揭秘这张榜单,找出 Linux 终端最好的游戏。

1. Bastet

谁还没花上几个小时玩俄罗斯方块?它简单而且容易上瘾。 Bastet 就是 Linux 版的俄罗斯方块。

Linux 终端游戏 Bastet

使用下面的命令获取 Bastet:

sudo apt install bastet

运行下列命令,在终端上开始这个游戏:

bastet

使用空格键旋转方块,方向键控制方块移动。

2. Ninvaders

Space Invaders(太空侵略者)。我仍记得这个游戏里,和我兄弟为了最高分而比拼。这是最好的街机游戏之一。

Linux 终端游戏 nInvaders

复制粘贴这段代码安装 Ninvaders。

sudo apt-get install ninvaders

使用下面的命令开始游戏:

ninvaders

方向键移动太空飞船。空格键射击外星人。

推荐阅读:2016 你可以开始的 Linux 游戏 Top 10

3. Pacman4console

是的,这个就是街机之王。Pacman4console 是最受欢迎的街机游戏 Pacman(吃豆人)的终端版。

Linux 命令行吃豆豆游戏 Pacman4console

使用以下命令获取 pacman4console:

sudo apt-get install pacman4console

打开终端,建议使用最大的终端界面。键入以下命令启动游戏:

pacman4console

使用方向键控制移动。

4. nSnake

记得在老式诺基亚手机里玩的贪吃蛇游戏吗?

这个游戏让我在很长时间内着迷于手机。我曾经设计过各种姿态去获得更长的蛇身。

nsnake : Linux 终端上的贪吃蛇游戏

我们拥有 Linux 终端上的贪吃蛇游戏 得感谢 nSnake。使用下面的命令安装它:

sudo apt-get install nsnake

键入下面的命令开始游戏:

nsnake

使用方向键控制蛇身并喂它。

5. Greed

Greed 有点像 Tron(类似贪吃蛇的进化版),但是减少了速度,也没那么刺激。

你当前的位置由闪烁的 ‘@’ 表示。你被数字所环绕,你可以在四个方向任意移动。

你选择的移动方向上标识的数字,就是你能移动的步数。你将重复这个步骤。走过的路不能再走,如果你无路可走,游戏结束。

似乎我让它听起来变得更复杂了。

Greed : 命令行上的 Tron

通过下列命令获取 Greed:

sudo apt-get install greed

通过下列命令启动游戏,使用方向键控制游戏。

greed

6. Air Traffic Controller

还有什么比做飞行员更有意思的?那就是空中交通管制员。在你的终端中,你可以模拟一个空中交通系统。说实话,在终端里管理空中交通蛮有意思的。

Linux 空中交通管理员

使用下列命令安装游戏:

sudo apt-get install bsdgames

键入下列命令启动游戏:

atc

ATC 不是孩子玩的游戏。建议查看官方文档。

7. Backgammon(双陆棋)

无论之前你有没有玩过 双陆棋,你都应该看看这个。 它的说明书和控制手册都非常友好。如果你喜欢,可以挑战你的电脑或者你的朋友。

Linux 终端上的双陆棋

使用下列命令安装双陆棋:

sudo apt-get install bsdgames

键入下列命令启动游戏:

backgammon

当你提示游戏规则时,回复 ‘y’ 即可。

8. Moon Buggy

跳跃、开火。欢乐时光不必多言。

Moon buggy

使用下列命令安装游戏:

sudo apt-get install moon-buggy

使用下列命令启动游戏:

moon-buggy

空格跳跃,‘a’ 或者 ‘l’射击。尽情享受吧。

9. 2048

2048 可以活跃你的大脑。2048 是一个策咯游戏,很容易上瘾。以获取 2048 分为目标。

Linux 终端上的 2048

复制粘贴下面的命令安装游戏:

wget https://raw.githubusercontent.com/mevdschee/2048.c/master/2048.c

gcc -o 2048 2048.c

键入下列命令启动游戏:

./2048

10. Tron

没有动作类游戏,这张榜单怎么可能结束?

Linux 终端游戏 Tron

是的,Linux 终端可以实现这种精力充沛的游戏 Tron。为接下来迅捷的反应做准备吧。无需被下载和安装困扰。一个命令即可启动游戏,你只需要一个网络连接:

ssh sshtron.zachlatta.com

如果有别的在线游戏者,你可以多人游戏。了解更多:Linux 终端游戏 Tron

你看上了哪一款?

伙计,十大 Linux 终端游戏都分享给你了。我猜你现在正准备键入 ctrl+alt+T(终端快捷键) 了。榜单中那个是你最喜欢的游戏?或者你有其它的终端游戏么?尽情分享吧!


via: https://itsfoss.com/best-command-line-games-linux/

作者:Aquil Roshan 译者:CYLeft 校对:wxy

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

目标:仅使用命令行工具来配置 WiFi

发行版:适用主流的那些发行版

要求:安装了无线网卡的 Linux 并且拥有 root 权限。

难度:简单

约定:

  • # - 需要使用 root 权限来执行指定命令,可以直接使用 root 用户来执行,也可以使用 sudo 命令
  • $ - 可以使用普通用户来执行指定命令

简介

许多人喜欢用图形化的工具来管理电脑,但也有很多人不喜欢这样做。如果你比较喜欢命令行工具,管理 WiFi 会是件很痛苦的事情。然而,事情本不该如此。

wpa\_supplicant 可以作为命令行工具来用。使用一个简单的配置文件就可以很容易设置号 WiFi。

扫描网络

若你已经知道了网络的信息,就可以跳过这一步。如果不了解的话,则这是一个找出网络信息的好方法。

wpa\_supplicant 中有一个工具叫做 wpa_cli,它提供了一个命令行接口来管理你的 WiFi 连接。事实上你可以用它来设置任何东西,但是设置一个配置文件看起来要更容易一些。

使用 root 权限运行 wpa_cli,然后扫描网络。

# wpa_cli
> scan

扫描过程要花上一点时间,并且会显示所在区域的那些网络。记住你想要连接的那个网络。然后输入 quit 退出。

生成配置块并且加密你的密码

还有更方便的工具可以用来设置配置文件。它接受网络名称和密码作为参数,然后生成一个包含该网路配置块(其中的密码被加密处理了)的配置文件。

# wpa_passphrase networkname password > /etc/wpa_supplicant/wpa_supplicant.conf

裁剪你的配置

现在你已经有了一个配置文件了,这个配置文件就是 /etc/wpa_supplicant/wpa_supplicant.conf。其中的内容并不多,只有一个网络块,其中有网络名称和密码,不过你可以在此基础上对它进行修改。

用喜欢的编辑器打开该文件,首先删掉说明密码的那行注释。然后,将下面行加到配置最上方。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

这一行只是让 wheel 组中的用户可以管理 wpa\_supplicant。这会方便很多。

其他的内容则添加到网络块中。

如果你要连接到一个隐藏网络,你可以添加下面行来通知 wpa\_supplicant 先扫描该网络。

scan_ssid=1

下一步,设置协议以及密钥管理方面的配置。下面这些是 WPA2 相关的配置。

proto=RSN
key_mgmt=WPA-PSK

grouppairwise 配置告诉 wpa\_supplicant 你是否使用了 CCMP、TKIP,或者两者都用到了。为了安全考虑,你应该只用 CCMP。

group=CCMP
pairwise=CCMP

最后,设置网络优先级。越高的值越会优先连接。

priority=10

Complete WPA_Supplicant Settings

保存配置然后重启 wpa\_supplicant 来让改动生效。

结语

当然,该方法并不是用于即时配置无线网络的最好方法,但对于定期连接的网络来说,这种方法非常有效。


via: https://linuxconfig.org/connect-to-wifi-from-the-linux-command-line

作者:Nick Congleton 译者:lujun9972 校对:wxy

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

2018 年伊始,Wine(Wine Is Not an Emulator) 项目发布了年度更新,释出了最新的 3.0 稳定版本。 Wine 是一个在 Linux 和 Unix 类操作系统上运行 Windows 应用及游戏的开源兼容层。

经过近一年的开发,Wine 3.0 发布了许多神奇的功能,如 Android 图形驱动可以使用户在基于 Android 的机器上运行 Windows 应用和游戏,对 AMD Radeon 和 Intel GPU 默认启用 Direct3D 11 支持,在 macOS 上支持 AES 加密支持,程序管理器的 DDE 支持以及任务调度器。

此外,Wine 3.0 通过 reg.exe 引入了输出注册表项的功能,对中继调试和 OLE 数据缓存增加了各种增强,以及在 MSHTML 中增加了另外一层事件支持,这是微软专有的 HTML 布局引擎,用于 Windows 版本的 IE 浏览器。

更多更新细节可以参考发布公告

其中还提到:“再一次,因为是年度发布,一些功能还在开发当中,会被延迟到下一个开发周期当中。这包括 Direct3D 12 和 Vulkan 支持,以及在 Android 上启用 Direct3D 的 OpenGL ES 支持。”。

下载 Wine 3.0

如果你不想等待你的 Linux 发行版更新,你可以直接下载源代码构建或者从官方网站下载二进制包。

源代码:

二进制包:

据其发布公告,Wine 3.0 作为一个主要更新,其包含了 6000 处以上的单独改进。对于那些需要在 GNU/Linux 发行版上运行 Windows 应用及游戏的人们来说,相信这是一个重要的里程碑;同样,这对于要在 Android 系统上运行 Windows 应用的人来说也是如此。

Q:我想找出所有的 *.doc 文件并将它们创建成一个 tar 包,然后存储在 /nfs/backups/docs/file.tar 中。是否可以在 Linux 或者类 Unix 系统上查找并 tar 打包文件?

find 命令用于按照给定条件在目录层次结构中搜索文件。tar 命令是用于 Linux 和类 Unix 系统创建 tar 包的归档工具。

How to find and tar files on linux unix

让我们看看如何将 tar 命令与 find 命令结合在一个命令行中创建一个 tar 包。

Find 命令

语法是:

find /path/to/search -name "file-to-search" -options
## 找出所有 Perl(*.pl)文件 ##
find $HOME -name "*.pl" -print
## 找出所有 *.doc 文件 ##
find $HOME -name "*.doc" -print
## 找出所有 *.sh(shell 脚本)并运行 ls -l 命令 ##
find . -iname "*.sh" -exec ls -l {} +

最后一个命令的输出示例:

-rw-r--r-- 1 vivek vivek 1169 Apr  4  2017 ./backups/ansible/cluster/nginx.build.sh
-rwxr-xr-x 1 vivek vivek 1500 Dec  6 14:36 ./bin/cloudflare.pure.url.sh
lrwxrwxrwx 1 vivek vivek   13 Dec 31  2013 ./bin/cmspostupload.sh -> postupload.sh
lrwxrwxrwx 1 vivek vivek   12 Dec 31  2013 ./bin/cmspreupload.sh -> preupload.sh
lrwxrwxrwx 1 vivek vivek   14 Dec 31  2013 ./bin/cmssuploadimage.sh -> uploadimage.sh
lrwxrwxrwx 1 vivek vivek   13 Dec 31  2013 ./bin/faqpostupload.sh -> postupload.sh
lrwxrwxrwx 1 vivek vivek   12 Dec 31  2013 ./bin/faqpreupload.sh -> preupload.sh
lrwxrwxrwx 1 vivek vivek   14 Dec 31  2013 ./bin/faquploadimage.sh -> uploadimage.sh
-rw-r--r-- 1 vivek vivek  778 Nov  6 14:44 ./bin/mirror.sh
-rwxr-xr-x 1 vivek vivek  136 Apr 25  2015 ./bin/nixcraft.com.301.sh
-rwxr-xr-x 1 vivek vivek  547 Jan 30  2017 ./bin/paypal.sh
-rwxr-xr-x 1 vivek vivek  531 Dec 31  2013 ./bin/postupload.sh
-rwxr-xr-x 1 vivek vivek  437 Dec 31  2013 ./bin/preupload.sh
-rwxr-xr-x 1 vivek vivek 1046 May 18  2017 ./bin/purge.all.cloudflare.domain.sh
lrwxrwxrwx 1 vivek vivek   13 Dec 31  2013 ./bin/tipspostupload.sh -> postupload.sh
lrwxrwxrwx 1 vivek vivek   12 Dec 31  2013 ./bin/tipspreupload.sh -> preupload.sh
lrwxrwxrwx 1 vivek vivek   14 Dec 31  2013 ./bin/tipsuploadimage.sh -> uploadimage.sh
-rwxr-xr-x 1 vivek vivek 1193 Oct 18  2013 ./bin/uploadimage.sh
-rwxr-xr-x 1 vivek vivek   29 Nov  6 14:33 ./.vim/plugged/neomake/tests/fixtures/errors.sh
-rwxr-xr-x 1 vivek vivek  215 Nov  6 14:33 ./.vim/plugged/neomake/tests/helpers/trap.sh

Tar 命令

创建 /home/vivek/projects 目录的 tar 包,运行:

$ tar -cvf /home/vivek/projects.tar /home/vivek/projects

结合 find 和 tar 命令

语法是:

find /dir/to/search/ -name "*.doc" -exec tar -rvf out.tar {} \;

或者

find /dir/to/search/ -name "*.doc" -exec tar -rvf out.tar {} +

例子:

find $HOME -name "*.doc" -exec tar -rvf /tmp/all-doc-files.tar "{}" \;

或者

find $HOME -name "*.doc" -exec tar -rvf /tmp/all-doc-files.tar "{}" +

这里,find 命令的选项:

  • -name "*.doc":按照给定的模式/标准查找文件。在这里,在 $HOME 中查找所有 *.doc 文件。
  • -exec tar ... :对 find 命令找到的所有文件执行 tar 命令。

这里,tar 命令的选项:

  • -r:将文件追加到归档末尾。参数与 -c 选项具有相同的含义。
  • -v:详细输出。
  • -f out.tar : 将所有文件追加到 out.tar 中。

也可以像下面这样将 find 命令的输出通过管道输入到 tar 命令中:

find $HOME -name "*.doc" -print0 | tar -cvf /tmp/file.tar --null -T - 

传递给 find 命令的 -print0 选项处理特殊的文件名。--null-T 选项告诉 tar 命令从标准输入/管道读取输入。也可以使用 xargs 命令:

find $HOME -type f -name "*.sh" | xargs tar cfvz /nfs/x230/my-shell-scripts.tgz

有关更多信息,请参阅下面的 man 页面:

$ man tar
$ man find
$ man xargs
$ man bash

作者简介:

作者是 nixCraft 的创造者,是一名经验丰富的系统管理员,也是 Linux 操作系统/Unix shell 脚本培训师。他曾与全球客户以及 IT、教育、国防和太空研究以及非营利部门等多个行业合作。在 Twitter、Facebook 和 Google+ 上关注他。


via: https://www.cyberciti.biz/faq/linux-unix-find-tar-files-into-tarball-command/

作者:Vivek Gite 译者:geekpi 校对:wxy

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

摘要:Google 多年来一直使用基于 Ubuntu 的内部操作系统 Goobuntu。如今,Goobuntu 正在被基于 Debian Testing 的 gLinux 所取代。

如果你读过那篇《Ubuntu 十个令人惊奇的事实》,你可能知道 Google 使用了一个名为 Goobuntu 的 Linux 发行版作为开发平台。这是一个定制化的 Linux 发行版,不难猜到,它是基于 Ubuntu 的。

Goobuntu 基本上是一个 采用轻量级的界面的 Ubuntu,它是基于 Ubuntu LTS 版本的。如果你认为 Google 对 Ubuntu 的测试或开发做出了贡献,那么你就错了。Google 只是 Canonical 公司的 Ubuntu Advantage Program 计划的付费客户而已。Canonical 是 Ubuntu 的母公司。

遇见 gLinux:Google 基于 Debian Buster 的新 Linux 发行版

gLinux from Goobuntu

在使用 Ubuntu 五年多以后,Google 正在用一个基于 Debian Testing 版本的 Linux 发行版 —— gLinux 取代 Goobuntu。

正如 MuyLinux 所报道的,gLinux 是从软件包的源代码中构建出来的,然后 Google 对其进行了修改,这些改动也将为上游做出贡献。

这个“新闻”并不是什么新鲜事,它早在去年八月就在 Debconf'17 开发者大会上宣布了。但不知为何,这件事并没有引起应有的关注。

请点击 这里 观看 Debconf 视频中的演示。gLinux 的演示从 12:00 开始。

推荐阅读:微软出局,巴塞罗那青睐 Linux 系统和开源软件

从 Ubuntu 14.04 LTS 转移到 Debian 10 Buster

Google 曾经看重 Ubuntu LTS 的稳定性,现在为了及时测试软件而转移到 Debian Testing 上。但目前尚不清楚 Google 为什么决定从 Ubuntu 切换到 Debian。

Google 计划如何转移到 Debian Testing?目前的 Debian Testing 版本是即将发布的 Debian 10 Buster。Google 开发了一个内部工具,用于将现有系统从 Ubuntu 14.04 LTS 迁移到 Debian 10 Buster。项目负责人 Margarita 在 Debconf 中声称,经过测试,该工具工作正常。

Google 还计划将这些改动发到 Debian 的上游项目中,从而为其发展做出贡献。

gLinux testing plan from Google

gLinux 的开发计划

Ubuntu 丢失了一个大客户!

回溯到 2012 年,Canonical 公司澄清说 Google 不是他们最大的商业桌面客户。但至少可以说,Google 是他们的大客户。当 Google 准备切换到 Debian 时,必然会使 Canonical 蒙受损失。

你怎么看?

请记住,Google 不会限制其开发者使用任何操作系统,但鼓励使用 Linux。

如果你想使用 Goobuntu 或 gLinux,那得成为 Google 公司的雇员才行。因为这是 Google 的内部项目,不对公众开放。

总的来说,这对 Debian 来说是一个好消息,尤其是他们成为了上游发行版的话。对 Ubuntu 来说可就不同了。我已经联系了 Canonical 公司征求意见,但至今没有回应。

更新:Canonical 公司回应称,他们“不共享与单个客户关系的细节”,因此他们不能提供有关收入和任何其他的细节。

你对 Google 抛弃 Ubuntu 而选择 Debian 有什么看法?


关于作者 Abhishek Prakash

我是一名专业的软件开发人员,也是 FOSS 的创始人。我是一个狂热的 Linux 爱好者和开源爱好者。我使用 Ubuntu 并相信知识共享。除了 Linux 之外,我还喜欢经典的侦探推理故事。我是阿加莎·克里斯蒂(Agatha Christie)作品的忠实粉丝。


via: https://itsfoss.com/goobuntu-glinux-google/

作者:Abhishek Prakash 译者:jessie-pang 校对:wxy

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

像许多笔记本用户一样,我经常将笔记本插入到不同的显示器上(桌面上有多台显示器,演示时有投影机等)。运行 xrandr 命令或点击界面非常繁琐,编写脚本也不是很好。

最近,我遇到了 autorandr,它使用 EDID(和其他设置)检测连接的显示器,保存 xrandr 配置并恢复它们。它也可以在加载特定配置时运行任意脚本。我已经打包了它,目前仍在 NEW 状态。如果你不能等待,这是 deb这是 git 仓库

要使用它,只需安装软件包,并创建你的初始配置(我这里用的名字是 undocked):

autorandr --save undocked

然后,连接你的笔记本(或者插入你的外部显示器),使用 xrandr(或其他任何)更改配置,然后保存你的新配置(我这里用的名字是 workstation):

autorandr --save workstation

对你额外的配置(或当你有新的配置)进行重复操作。

autorandrudevsystemdpm-utils 钩子,当新的显示器出现时 autorandr --change 应该会立即运行。如果需要,也可以手动运行 autorandr --changeautorandr - load workstation。你也可以在加载配置后在 ~/.config/autorandr/$PROFILE/postswitch 添加自己的脚本来运行。由于我运行 i3,我的工作站配置如下所示:

#!/bin/bash

xrandr --dpi 92
xrandr --output DP2-2 --primary
i3-msg '[workspace="^(1|4|6)"] move workspace to output DP2-2;'
i3-msg '[workspace="^(2|5|9)"] move workspace to output DP2-3;'
i3-msg '[workspace="^(3|8)"] move workspace to output DP2-1;'

它适当地修正了 dpi,设置主屏幕(可能不需要?),并移动 i3 工作区。你可以通过在配置文件目录中添加一个 block 钩子来安排配置永远不会运行。

如果你定期更换显示器,请看一下!


via: https://www.donarmstrong.com/posts/autorandr/

作者:Don Armstrong 译者:geekpi 校对:wxy

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