分类 分享 下的文章

一般人喜欢使用历史命令功能来查看/再次调用之前在终端中输入的命令。不幸的是,那样做只会显示先前输入的命令,而不是之前输出的内容。

在 Linux 中,有许多可以用来记录终端活动的实用工具。这种工具将会帮助我们记录用户在终端中的活动,并帮助我们识别输出中有用的信息。

在这之前,我们已经介绍了一些这类实用工具了。今天,让我们接着讨论这类工具。

如果你希望尝试其它一些记录你终端活动的工具,我推荐你试试 script 命令和 Terminalizer 工具。script 是在无头服务器中记录终端活动的最佳方式之一。script 是一个记录在终端中输入过的 Unix 命令的实用工具(在某些终端中,它会记录显示在你终端中的所有东西)。它会在当前工作目录下以文本文件方式储存所有终端输出。

不过,如果你在寻找 GIF 录制器 ,你可以尝试 GifineKgifPeek

什么是 Termtosvg

Termtosvg 是一个用 Python 编写的 Unix 终端录制器,它可以将你的命令行会话保存为 SVG 动画。

Termtosvg 的特点

  • 可以制作嵌入于项目主页的简洁美观的动画。
  • 可以在 SVG 模板中自定义配色、终端 UI 和动画。
  • 兼容 asciinema 录制格式。
  • 要求 Python 版本为 3.5 或更高。

如何在 Linux 中安装 Termtosvg

它是用 Python 编写的,所以我推荐使用 pip 来安装它。

请确保你已经安装了 python-pip 包。如果你还没安装,请输入下面的命令。 对于 Debian 或 Ubuntu 用户,请使用 aptapt-get 来安装 pip

sudo apt install python-pip

对于 Archlinux 用户,请使用 pacman 来安装 pip

sudo pacman -S python-pip

对于 Fedora 用户,请使用 dnf 来安装 pip

sudo dnf install python-pip

对于 CentOS 或 RHEL 用户,请使用 yum 来安装 pip

sudo yum install python-pip

对于 openSUSE 用户,请使用 zypper 来安装 pip

sudo zypper install python-pip

最后,请执行 pip 来安装 Termtosvg。

sudo pip3 install termtosvg pyte python-xlib svgwrite

如何使用 Termtosvg

成功安装 Termtosvg 后,请使用以下命令来开始录制。

$ termtosvg
Recording started, enter "exit" command or Control-D to end

如果只是想测试它是否正常工作,随意输入几行命令即可。

$ uname -a
Linux daygeek-Y700 4.19.8-2-MANJARO #1 SMP PREEMPT Sat Dec 8 14:45:36 UTC 2018 x86_64 GNU/Linux
$ hostname
daygeek-Y700
$ cat /etc/*-release
Manjaro Linux
DISTRIB_ID=ManjaroLinux
DISTRIB_RELEASE=18.0
DISTRIB_CODENAME=Illyria
DISTRIB_DESCRIPTION="Manjaro Linux"
Manjaro Linux
NAME="Manjaro Linux"
ID=manjaro
ID_LIKE=arch
PRETTY_NAME="Manjaro Linux"
ANSI_COLOR="1;32"
HOME_URL="https://www.manjaro.org/"
SUPPORT_URL="https://www.manjaro.org/"
BUG_REPORT_URL="https://bugs.manjaro.org/"
$ free -g
free: Multiple unit options doesn't make sense.
$ free -m
free: Multiple unit options doesn't make sense.
$ pip3 --version
pip 18.1 from /usr/lib/python3.7/site-packages/pip (python 3.7)

完成后,你可以按下 CTRL+D 或输入 exit 来停止录制。录制完后,输出文件会以一个独一无二的名字被保存在 /tmp 文件夹中。

$ exit
exit
Recording ended, SVG animation is /tmp/termtosvg_5waorper.svg

我们可以在任意浏览器中打开 SVG 文件。

firefox /tmp/termtosvg_5waorper.svg

最终效果


via: https://www.2daygeek.com/termtosvg-record-your-terminal-sessions-as-svg-animations-in-linux/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:zhs852 校对:校对者ID

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

使用这些工具从远程了解天气、阅读资料等。

我们即将结束为期 24 天的 Linux 命令行玩具日历。希望你有一直在看,如果没有,请回到开始,从头看过来。你会发现 Linux 终端有很多游戏、消遣和奇怪之处。

虽然你之前可能已经看过我们日历中的一些玩具,但我们希望每个人都遇见一个新事物。

今天的玩具(实际是玩具集合)有点不同。到目前为止,我主要是想把重点放在那些独立的玩具上,并且完全可在开源许可下使用。但是我从读者那里得到了一些很好的建议,利用开源工具远程访问一些开源或者不开源的东西。今天,我将介绍其中的一些。

第一个是经典之作:使用 Telnet 观看星球大战的 ASCII 演绎版本。你的系统可能已经安装了 Telnet,因此你只需运行:

$ telnet towel.blinkenlights.nl

我第一次看到它是十年之前,因此我对于它还存在有点惊奇。如果你还没看过,请留出一点时间看一下。你不会后悔的。

接下来,Opensource.com 的撰稿人 Manuel Dewald 提出了一种从终端获取当地天气的方法。它很简单,你只需安装 curl(或者,wget)。

$ curl wttr.in

最后,在假期中虽然你可以从命令行 Web 浏览器浏览你喜欢的网站(包括 Opensource.com),但有一些我最喜欢的网站可以通过专用客户端更轻松地浏览。其中两个是 Reddit 和 Hacker News,有人推荐给我一些它们的客户端,你可能也想尝试,它们都使用开源许可。我尝试过 haxor-news (Hacker News) 和 rtv (Reddit),它们都还不错。

你有特别喜欢的命令行小玩具需要我介绍的吗?提交今年的建议有点晚了,但我们仍然希望在新的一年里有一些很酷的命令行玩具。请在下面的评论中告诉我,我会查看的。让我知道你对今天的玩具有何看法。

一定要看看昨天的玩具,在 Linux 终端收看 Youtube 视频,明天还要再来!


via: https://opensource.com/article/18/12/linux-toy-remote

作者:Jason Baker 选题:lujun9972 译者:geekpi 校对:wxy

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

有了这个 20 世纪 70 年代的经典重制游戏,Python 将不再是你在 Linux 终端能发现的唯一的“蛇”。

欢迎回到 Linux 命令行玩具日历。如果这是你第一次访问该系列,你可能会问什么是命令行玩具。这很难确切地说,但我的定义是任何可以帮助你在终端玩得开心的东西。

我们这周都在介绍游戏,这很有趣,接着让我们看下今天的游戏,贪吃蛇!

贪吃蛇是一个古老又很好的游戏,这些年一直有各种版本。我记得我第一次玩得版本是 20 世纪 90 年代与 QBasic 一起打包发布的 Nibbles),它对我理解什么是编程语言起了很重要的作用。我有游戏的源码,我可以修改并查看会发生什么,并学习到一些组成这个编程语言的有趣词汇究竟是什么意思。

今天的贪吃蛇是用 Go 写的,它很简单并且和原版的游戏一样有趣。像大多数简单的老游戏一样,它有很多版本可供选择。这今天的贪吃蛇中,甚至还有一个经典的 bsdgames 形式的包,它的发行版几乎一定有它。

但我喜欢的是用 Docker 打包的贪吃蛇,因为我可以轻松地在命令行中运行,而不用担心发行版相关的问题。这个版本使用 15 个随机的食物 emoji 图案让蛇来吃。我玩得不好。不管怎样,请试一下:

$ docker run -ti dyego/snake-game

这个贪吃蛇以 MIT 许可证开源,你可在 Github 取得源码。

你有特别喜欢的命令行小玩具需要我介绍的吗?这个系列要介绍的小玩具大部分已经有了落实,但还预留了几个空位置。请在评论区留言,我会查看的。如果还有空位置,我会考虑介绍它的。如果没有,但如果我得到了一些很好的意见,我会在最后做一些有价值的提及。

请查看昨天的玩具,数字 2 的力量,Linux 的力量:在命令行中玩 2048,记得明天再来!


via: https://opensource.com/article/18/12/linux-toy-snake

作者:Jason Baker 选题:lujun9972 译者:geekpi 校对:wxy

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

长久以来,游戏都是 Linux 的软肋。近些年,Steam、GOG 等游戏发布平台上不少商业游戏都开始支持 Linux,这对于 Linux 的游戏生态来说是件好事,但是我们能在这些平台上玩到的游戏通常是不开源的商业作品。当然,这些游戏在一个开源的操作系统上运行,但对于一个开源提倡者来说这似乎还不够纯粹。

那么,我们能找到既自由开源又能给玩家带来完整游戏体验的优质游戏吗?当然!虽然绝大多数的开源游戏很难和 3A 商业游戏大作竞争,但仍然有不少各种类型的开源游戏,不仅内容有趣而且直接可以通过几大 Linux 发行版本库中直接安装。

本文首先介绍 Linux 开源游戏中的街机类型游戏,在之后的文章中,我将介绍桌面和卡牌游戏,解谜游戏,竞速游戏,以及策略模拟游戏。

太空危机 AstroMenace

太空危机 是一个近现代太空背景下的滚动页面射击游戏。开发初期它是一个闭源游戏,但它的代码和素材而后以开源许可证发布了。游戏玩法和大多数此类游戏大同小异,但它有质量极高的 3D 画面。飞船和武器升级可以通过击杀敌人所获得的点数购买。游戏的难度可以选择,因此适合新手以及想要追求挑战的硬核玩家。

安装太空危机,你只需要在终端下运行以下指令:

  • Fedora 用户: dnf install astromenace
  • Debian/Ubuntu 用户: apt install astromenace

坦克战役 Battle Tanks

坦克战役 是一个俯瞰式视角的快节奏坦克战斗游戏。玩家可以选择三种不同的陆地坦克,操纵其在地图上前行,收集道具并且尝试炸飞敌军。它有四种游戏模式,死亡竞赛(又称“死斗”)、团队死斗、夺旗模式和合作模式。死斗和夺旗模式下,分别有 9 张地图可供玩家选择,合作模式则有 4 张。该游戏支持分屏本地双人游戏,以及在线多人竞技。游戏节奏很快,默认一次战役仅 5 分钟,因此,坦克战役十分适合想要利用零碎时间快速来一局的玩家。

安装坦克战役,你只需要在终端下运行以下指令:

  • Fedora 用户: dnf install btanks
  • Debian/Ubuntu 用户: apt install btanks

火星 M.A.R.S.

火星 是一个自上而下的太空射击游戏,游戏机制类似传统街机游戏 “ 爆破彗星 Asteroids ”。玩家在操控一个太空船的同时向敌方射击并躲避敌军的弹幕射击。游戏有标准的死斗和团体死斗模式,除此之外也有更新鲜的比赛形式 —— 例如在一个模式下,玩家需要控制一个球使其进入敌方母星。该游戏支持本地多人游戏,但遗憾的是不支持多人联机。该游戏的开发更新似乎已经停止,所以该游戏之后增加联机模式的几率很小,但就算没有联机支持,这个游戏仍然值得一试。

安装火星,你只需要在终端下运行以下指令:

  • Fedora 用户: dnf install marsshooter
  • Debian/Ubuntu 用户: apt install marsshooter

不存在之球 Neverball

不存在之球 的游戏灵感来源自世嘉的 “ 超级猴子球 Super Monkey Ball ” ,玩家需要将一个球在 3D 球场上运动起来,但是玩家控制的不是球,而是球场。游戏任务是在规定的时限内,收集足够多的金币从而打开该关卡的出口并且将小球落进该洞中。游戏可以调整难度,从休闲到难以超乎想象,可以适应不同的玩家需求。该游戏支持键盘/鼠标以及控制杆操作。

安装不存在之球,你只需要在终端下运行以下指令:

  • Fedora 用户:dnf install neverball
  • Debian/Ubuntu 用户:apt install neverball

超级 Tux SuperTux

超级 Tux 是继任天堂超级马里奥后的一款 2D 的平台跳跃游戏。Linux 的吉祥物企鹅 Tux 代替了马里奥,而鸡蛋对应着马里奥系列中的蘑菇能力提升。当 Tux 获得了鸡蛋得到了能力提升,它便可以收集花朵,而花朵可以带来新的附加特殊能力。火焰花在关卡中最为常见,收集了火焰花的 Tux 可以掷出火球。除此之外,冰冻花/空气花/土地花也在游戏的程序中。收集星星的能力提升能使 Tux 暂时变得隐形,就如同马里奥系列游戏。该游戏最基础的一组关卡,冰之岛也有 30 关之多,因此游戏的内容和流程和超级马里奥系列一般长。SuperTux 还有一些附加关卡,例如三个额外奖励小岛、一个森林之岛、一个万圣节岛、一个孵化处,以及很多测试关卡。SuperTux 有一个自带的关卡编辑器,所以玩家可以创建他们的原创关卡。

安装超级 Tux,你只需要在终端下运行以下指令:

  • Fedora 用户:dnf install supertux
  • Debian/Ubuntu 用户: apt install supertux

如果我没有在上文中提及你最喜欢的开源街机游戏,欢迎在评论中分享。

有关作者

Joshua Allen Holm - 是 Opensource.com 的社区协调者之一。他的主要兴趣有数字人文、学术开放以及公开教育资源。你可以在 GitHub、GitLab、LinkedIn 和 Zotero 上找到他。可以通过 [email protected] 联系到他。


via: https://opensource.com/article/18/1/arcade-games-linux

作者:Joshua Allen Holm 译者:Scoutydren 校对:wxy

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

想让你的终端被记住么?将它打在横幅上,不要错过。

欢迎再次来到为期 24 天的 Linux 命令行玩具日历。如果这是你第一次访问该系列,你甚至可能会问自己什么是命令行玩具。我们也在思考,但一般来说,它可能是一个游戏,或任何简单的消遣,可以帮助你在终端玩得开心。

很可能你们中的一些人之前已经看过我们日历中的各种玩具,但我们希望每个人至少见到一件新事物。

今天的玩具是 figlet,一个在 Linux 终端上以横幅形式打印文本的程序。

你可能会再标准仓库中找到 figlet。在我的 Fedora 上,这意味着安装就像下面这样简单:

$ sudo dnf install figlet

之后,只需使用程序的名称来调用它。你可以以交互方式使用它,或者将一些文本通过管道输入,如下所示:

echo "Hello world" | figlet
 _   _      _ _                            _     _
| | | | ___| | | ___   __      _____  _ __| | __| |
| |_| |/ _ \ | |/ _ \  \ \ /\ / / _ \| '__| |/ _` |
|  _  |  __/ | | (_) |  \ V  V / (_) | |  | | (_| |
|_| |_|\___|_|_|\___/    \_/\_/ \___/|_|  |_|\__,_|

figlet 有许多不同的字体。要查看可用的字体,请尝试使用命令 showfigfonts。在我这里显示了十几个。我在下面复制了一些我的最爱。

block :
                                           
_|        _|                      _|        
_|_|_|    _|    _|_|      _|_|_|  _|  _|    
_|    _|  _|  _|    _|  _|        _|_|      
_|    _|  _|  _|    _|  _|        _|  _|    
_|_|_|    _|    _|_|      _|_|_|  _|    _|  


bubble :
  _   _   _   _   _   _  
 / \ / \ / \ / \ / \ / \
( b | u | b | b | l | e )
 \_/ \_/ \_/ \_/ \_/ \_/


lean :
                                     
    _/                              
   _/    _/_/      _/_/_/  _/_/_/    
  _/  _/_/_/_/  _/    _/  _/    _/  
 _/  _/        _/    _/  _/    _/    
_/    _/_/_/    _/_/_/  _/    _/  


script :
                         
               o          
 ,   __   ,_        _ _|_
/ \_/    /  |  |  |/ \_|  
 \/ \___/   |_/|_/|__/ |_/
                 /|      
                 \|      

你可以在项目的主页上找到有关 figlet 的更多信息。我下载的版本是以 MIT 许可开源的。

你会发现 figlet 不是唯一的 Linux 终端横幅打印机。另外一个你可以选择的是 toilet,它有一套自己的 ASCII 艺术风格的打印选项。

你有特别喜欢的命令行小玩具需要我介绍的吗?我们的日历基本上满了,但我们仍然希望在新的一年中展示一些很酷的命令行玩具。请在评论中留言,我会查看的。记得让我知道你对今天玩具的看法。

一定要看看昨天的玩具,使用 asciiquarium 在终端中游泳,记得明天回来!


via: https://opensource.com/article/18/12/linux-toy-figlet

作者:Jason Baker 选题:lujun9972 译者:geekpi 校对:wxy

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

数独是简单的逻辑游戏,它可以在任何地方玩,包括在 Linux 终端中。

欢迎回到我们为期 24 天的 Linux 命令行玩具日历。如果这是你第一次访问该系列,你甚至可能会问什么是命令行玩具。我们在考虑中,但一般来说,它可能是一个游戏,或任何简单的消遣,可以帮助你在终端玩得开心。

很可能你们中的一些人之前已经看过我们日历中的各种玩具,但我们希望每个人至少见到一件新事物。

每年圣诞节,我的岳母都会给我妻子一本数独日历。它接着会在我们的咖啡桌上呆上一年。每天都是一张单独的表格(星期六和星期日除外,它们合并在一页上),这样你每天都有一个新的谜题,同时还有一本能用的日历。

问题在于在实际中它是一本很好的谜题,但不是一本好的日历,因为事实证明有些日子的题目比其他日子更难,我们没有以每天一个的速度解决它们。然后,我们会在懒散的周日来解决这周堆积的谜题。

既然我在这个系列的一部分中介绍过日历,那么在这里介绍数独也是公平的,除了我们的命令行版本是解耦的,因此将来很容易就能完成它。

我在 Fedora 的默认仓库中找到了 nudoku,因此安装它就像下面这样简单:

$ sudo dnf install nudoku

安装完后,只需输入 nudoku 即可启动它,之后的操作就很明了。如果你以前从未玩过数独,它它很容易:你只需要确保每行、每列、每个 3x3 构成的方块里都包含了 1-9 的所有数字。

你可在 Github 中找到 GPLv3 许可的 nudoku 源码

你有特别喜欢的命令行小玩具需要我介绍的吗?我们的日历基本上满了,但我们仍然希望在新的一年中展示一些很酷的命令行玩具。请在评论中留言,我会查看的。记得让我知道你对今天玩具的看法。

一定要看看昨天的玩具,使用 Linux 终端庆祝丰年,记得明天回来!


via: https://opensource.com/article/18/12/linux-toy-nudoku

作者:Jason Baker 选题:lujun9972 译者:geekpi 校对:wxy

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