标签 终端 下的文章

Linux 上有许多 GUI 图片浏览器。但我尚未听说或使用过任何在终端中显示图片的应用程序。幸运的是,我刚刚发现了一个可用于在终端中显示图像的名叫 FIM 的图像查看器。FIM 引起了我的注意,是因为与大多数 GUI 图片浏览器相比,它非常轻巧。毫不迟疑,让我们来看看它能做什么。

使用 FIM 在终端中显示图像

FIM 意即 Fbi IMproved。对于那些不知道的人,Fbi 是指 Linux 中的 frame buffer imageviewer。它使用系统的帧缓冲器直接从命令行显示图像。默认情况下,它能用终端显示 bmp、gif、jpeg、PhotoCD、png、ppm、tiff 和 xwd。对于其他格式,它会尝试使用 ImageMagick 的转换。

FIM 基于 Fbi,它是一款高度可高度定制及脚本化的图像浏览器,非常适合使用 Vim 文本编辑器或 Mutt 等软件的用户。它会以全屏显示图像,并可通过键盘快捷键控制(如调整大小、翻转、缩放)。与 Fbi 不同的是,FIM 是通用的:它可以打开许多文件格式,并且可以在以下视频模式下显示图片:

  • 使用 Linux framebuffer 设备,以图形方式呈现
  • 在 X / Xorg 下,使用 SDL 库,以图形方式呈现
  • 在 X / Xorg 下,使用 Imlib2 库,以图形方式呈现。
  • 在任何文本控制台中使用 AAlib 库呈现为 ASCII 字符画

FIM 是完全免费且开源的。

安装 FIM

基于 DEB 的系统,如 Ubuntu、Linux Mint, 可从默认的仓库中获取 FIM 图像查看器。因此,你可以使用如下命令安装fbi:

$ sudo apt-get install fim

如果它在你使用的 Linux 发行版的仓库中不包含 FIM,则可以下载源代码进行编译和安装,如下所示。

wget http://download.savannah.nongnu.org/releases/fbi-improved/fim-0.6-trunk.tar.gz
wget http://download.savannah.nongnu.org/releases/fbi-improved/fim-0.6-trunk.tar.gz.sig
gpg --search 'dezperado autistici org'
#按照屏幕上的说明,从密钥服务器导入密钥
gpg --verify fim-0.6-trunk.tar.gz.sig
tar xzf fim-0.6-trunk.tar.gz
cd fim-0.6-trunk
./configure --help=short
#阅读./configure --help=short 的输出:你可以在 ./configure 中添加选项
./configure
make
su -c“make install”

FIM用法

安装完成后,您可以使用以下命令以“自动缩放”显示的图像:

$ fim -a dog.jpg

这里是我的 Ubuntu 主机的示例输出。

正如你在上面的屏幕截图中看到的,FIM 没有使用任何外部 GUI 图片浏览器。相反,它使用我们系统的帧缓冲器来显示图像。

如果当前目录中有多个 .jpg 文件,可以使用通配符打开所有文件,如下所示。

$ fim -a * .jpg

要打开目录中的所有图像,例如 Pictures,请运行:

$ fim Pictures/

我们也可以在文件夹及其子文件夹中递归地打开图像,然后像下面那样对列表进行排序。

$ fim -R Pictures/ --sort

要以 ASCII 格式渲染图像,可以使用 -t 标志。

$ fim -t dog.jpg

要退出 Fim,请按 ESCq

键盘快捷键

您可以使用各种键盘快捷键来管理图像。例如,要加载下一张图像和之前的图像,请按下 PgUp / PgDown 键。成倍放大或缩小,请使用 + / - 键。以下是用于在FIM中控制图像的常用按键。

  • PageUp / Down:上一张/下一张图片
  • + / - :放大/缩小
  • a:自动缩放
  • w:自适应宽度
  • h:自适应高度
  • j / k:平移/向上
  • f / m:翻转/镜像
  • r / R:旋转(顺时针/逆时针)
  • ESC / q:退出

有关完整详细信息,请参阅手册页。

$ man fim

那么,就是这样。希望这对你有所帮助。后续还会介绍更多的优秀工具。敬请关注!

干杯!


via: https://www.ostechnix.com/how-to-display-images-in-the-terminal/

作者:SK 选题:lujun9972 译者:KevinSJ 校对:wxy

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

Instagram 不需要介绍。它是像 Facebook 和 Twitter 之类的流行社交网络平台之一,它可以公开或私下分享照片和视频给确认过的粉丝。它是由两位企业家 Kevin SystromMike Krieger于 2010 年发起的。2012 年,社交网络巨头 Facebook 收购了 Instagram。Android 和 iOS 设备上可以免费下载 Instagram。我们也可以通过网络浏览器在桌面系统中使用它。而且,最酷的是现在你可以在任何类 Unix 操作系统上的终端中使用 Instagram。你兴奋了吗?那么,请阅读以下内容了解如何在终端上查看你的 Instagram feed。

终端中的 Instagram

首先,按照以下链接中的说明安装 pip3

然后,git clone 它的脚本仓库。

$ git clone https://github.com/billcccheng/instagram-terminal-news-feed.git

以上命令会将 instagram 脚本的内容克隆到当前工作目录中名为 instagram-terminal-news-feed 的目录中。cd 到该目录:

$ cd instagram-terminal-news-feed/

然后,运行以下命令安装它:

$ pip3 install -r requirements.txt

现在,运行以下命令在 Linux 终端中启动 instagram。

$ python3 start.py

输入你的 Instagram 用户名和密码,并直接从终端中浏览你的 Instagram feed。你的 instragram 用户名和密码将仅本地存储在名为 credential.json 的文件中。所以,你不必担心它。你也可以选择不保存默认保存的凭证。

下面是我的 Instagram 页面的一些截图。

请注意,你只能查看你的 feed。你不能关注任何人,喜欢或评论帖子。这只是一个 instagram feed 阅读器。

该项目可在 GitHub 上免费获得,因此你可以查看源代码,改进它,添加更多功能,修复任何 bug。

玩得开心!干杯!!


via: https://www.ostechnix.com/how-to-use-instagram-in-terminal/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

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

有时候你很忙。而有时候你只是需要看起来很忙,就像电影中的黑客一样。有一些开源工具就是干这个的。

如果在你在消磨时光时看过谍战片、动作片或犯罪片,那么你就会清晰地在脑海中勾勒出黑客的电脑屏幕的样子。就像是在《黑客帝国》电影中,代码雨 一样的十六进制数字流,又或是一排排快速移动的代码。

也许电影中出现一幅世界地图,其中布满了闪烁的光点和一些快速更新的图表。不可或缺的,也可能有 3D 旋转的几何形状。甚至,这一切都会显示在一些完全不符合人类习惯的数量荒谬的显示屏上。 在《剑鱼行动》电影中黑客就使用了七个显示屏。

当然,我们这些从事计算机行业的人一下子就明白这完全是胡说八道。虽然在我们中,许多人都有双显示器(或更多),但一个闪烁的数据仪表盘、刷新的数据通常和专注工作是相互矛盾的。编写代码、项目管理和系统管理与日常工作不同。我们遇到的大多数情况,为了解决问题,都需要大量的思考,与客户沟通所得到一些研究和组织的资料,然后才是少许的 敲代码

然而,这与我们想追求电影中的效果并不矛盾,也许,我们只是想要看起来“忙于工作”而已。

注:当然,我仅仅是在此胡诌。如果您公司实际上是根据您繁忙程度来评估您的工作时,无论您是蓝领还是白领,都需要亟待解决这样的工作文化。假装工作很忙是一种有毒的文化,对公司和员工都有害无益。

这就是说,让我们找些乐子,用一些老式的、毫无意义的数据和代码片段填充我们的屏幕。(当然,数据或许有意义,但不是在这种没有上下文的环境中。)当然有一些用于此用途的有趣的图形界面程序,如 hackertyper.net 或是 GEEKtyper.com 网站(LCTT 译注:是在线假装黑客操作的网站),为什么不使用标准的 Linux 终端程序呢?对于更老派的外观,可以考虑使用 酷炫复古终端,这听起来确实如此:一个酷炫的复古终端程序。我将在下面的屏幕截图中使用酷炫复古终端,因为它看起来的确很酷。

Genact

我们来看下第一个工具——Genact。Genact 的原理很简单,就是慢慢地无尽循环播放您选择的一个序列,让您的代码在您外出休息时“编译”。由您来决定播放顺序,但是其中默认包含数字货币挖矿模拟器、Composer PHP 依赖关系管理工具、内核编译器、下载器、内存转储等工具。其中我最喜欢的是其中类似《模拟城市》加载显示。所以只要没有人仔细检查,你可以花一整个下午等待您的电脑完成进度条。

Genact 发布了 支持 Linux、OS X 和 Windows 的版本。并且其 Rust 源代码 在 GitHub 上开源(遵循 MIT 许可证)。

Hollywood

Hollywood 采取更直接的方法。它本质上是在终端中创建一个随机的数量和配置的分屏,并启动那些看起来很繁忙的应用程序,如 htop、目录树、源代码文件等,并每隔几秒将其切换。它被组织成一个 shell 脚本,所以可以非常容易地根据需求进行修改。

Hollywood的 源代码 在 GitHub 上开源(遵循 Apache 2.0 许可证)。

Blessed-contrib

Blessed-contrib 是我个人最喜欢的应用,实际上并不是为了这种表演而专门设计的应用。相反地,它是一个基于 Node.js 的终端仪表盘的构建库的演示文件。与其他两个不同,实际上我已经在工作中使用 Blessed-contrib 的库,而不是用于假装忙于工作。因为它是一个相当有用的库,并且可以使用一组在命令行显示信息的小部件。与此同时填充虚拟数据也很容易,所以可以很容易实现你在计算机上模拟《战争游戏》的想法。

Blessed-contrib 的源代码在 GitHub 上(遵循 MIT 许可证)。

当然,尽管这些工具很容易使用,但也有很多其他的方式使你的屏幕丰富。在你看到电影中最常用的工具之一就是Nmap,这是一个开源的网络安全扫描工具。实际上,它被广泛用作展示好莱坞电影中,黑客电脑屏幕上的工具。因此 Nmap 的开发者创建了一个 页面,列出了它出现在其中的一些电影,从《黑客帝国 2:重装上阵》到《谍影重重3》、《龙纹身的女孩》,甚至《虎胆龙威 4》。

当然,您可以创建自己的组合,使用终端多路复用器(如 screentmux)启动您希望使用的任何数据切分程序。

那么,您是如何使用您的屏幕的呢?


via: https://opensource.com/article/18/2/command-line-tools-productivity

作者:Jason Baker 译者:wyxplus 校对:wxy

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

Tlog 是 Linux 中终端 I/O 录制和回放软件包。它用于实现一个集中式用户会话录制。它将所有经过的消息录制为 JSON 消息。录制为 JSON 格式的主要目的是将数据传送到 ElasticSearch 之类的存储服务,可以从中搜索和查询,以及回放。同时,它们保留所有通过的数据和时序。

Tlog 包含三个工具,分别是 tlog-rec、tlog-rec-sessiontlog-play`。

  • tlog-rec 工具一般用于录制终端、程序或 shell 的输入或输出。
  • tlog-rec-session 工具用于录制整个终端会话的 I/O,包括录制的用户。
  • tlog-play 工具用于回放录制。

在本文中,我将解释如何在 CentOS 7.4 服务器上安装 Tlog。

安装

在安装之前,我们需要确保我们的系统满足编译和安装程序的所有软件要求。在第一步中,使用以下命令更新系统仓库和软件包。

# yum update

我们需要安装此软件安装所需的依赖项。在安装之前,我已经使用这些命令安装了所有依赖包。

# yum install wget gcc
# yum install systemd-devel json-c-devel libcurl-devel m4

完成这些安装后,我们可以下载该工具的源码包并根据需要将其解压到服务器上:

# wget https://github.com/Scribery/tlog/releases/download/v3/tlog-3.tar.gz
# tar -xvf tlog-3.tar.gz
# cd tlog-3

现在,你可以使用我们通常的配置和编译方法开始构建此工具。

# ./configure --prefix=/usr --sysconfdir=/etc && make
# make install
# ldconfig

最后,你需要运行 ldconfig。它对命令行中指定目录、/etc/ld.so.conf 文件,以及信任的目录( /lib/usr/lib)中最近的共享库创建必要的链接和缓存。

Tlog 工作流程图

Tlog working process

首先,用户通过 PAM 进行身份验证登录。名称服务交换器(NSS)提供的 tlog 信息是用户的 shell。这初始化了 tlog 部分,并从环境变量/配置文件收集关于实际 shell 的信息,并在 PTY 中启动实际的 shell。然后通过 syslog 或 sd-journal 开始录制在终端和 PTY 之间传递的所有内容。

用法

你可以使用 tlog-rec 录制一个会话并使用 tlog-play 回放它,以测试新安装的 tlog 是否能够正常录制和回放会话。

录制到文件中

要将会话录制到文件中,请在命令行中执行 tlog-rec,如下所示:

tlog-rec --writer=file --file-path=tlog.log

该命令会将我们的终端会话录制到名为 tlog.log 的文件中,并将其保存在命令中指定的路径中。

从文件中回放

你可以在录制过程中或录制后使用 tlog-play 命令回放录制的会话。

tlog-play --reader=file --file-path=tlog.log

该命令从指定的路径读取先前录制的文件 tlog.log

总结

Tlog 是一个开源软件包,可用于实现集中式用户会话录制。它主要是作为一个更大的用户会话录制解决方案的一部分使用,但它被设计为独立且可重用的。该工具可以帮助录制用户所做的一切,并将其存储在服务器的某个位置,以备将来参考。你可以从这个文档中获得关于这个软件包使用的更多细节。我希望这篇文章对你有用。请发表你的宝贵建议和意见。

关于 Saheetha Shameer (作者)

我正在担任高级系统管理员。我是一名快速学习者,有轻微的倾向跟随行业中目前和正在出现的趋势。我的爱好包括听音乐、玩策略游戏、阅读和园艺。我对尝试各种美食也有很高的热情 :-)


via: https://linoxide.com/linux-how-to/tlog-tool-record-play-terminal-io-sessions/

作者:Saheetha Shameer 译者:geekpi 校对:wxy

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

你可以使用几乎所有的屏幕录制程序轻松录制终端会话。但是,你很可能会得到超大的视频文件。Linux 中有几种终端录制程序,每种录制程序都有自己的优点和缺点。Showterm 是一个可以非常容易地记录终端会话、上传、分享,并将它们嵌入到任何网页中的工具。一个优点是,你不会有巨大的文件来处理。

Showterm 是开源的,该项目可以在这个 GitHub 页面上找到。

相关2 个简单的将你的终端会话录制为视频的 Linux 程序

在 Linux 中安装 Showterm

Showterm 要求你在计算机上安装了 Ruby。以下是如何安装该程序。

gem install showterm

如果你没有在 Linux 上安装 Ruby,可以这样:

sudo curl showterm.io/showterm > ~/bin/showterm
sudo chmod +x ~/bin/showterm

如果你只是想运行程序而不是安装:

bash <(curl record.showterm.io)

你可以在终端输入 showterm --help 得到帮助页面。如果没有出现帮助页面,那么可能是未安装 showterm。现在你已安装了 Showterm(或正在运行独立版本),让我们开始使用该工具进行录制。

相关如何在 Ubuntu 中录制终端会话

录制终端会话

 title=

录制终端会话非常简单。从命令行运行 showterm。这会在后台启动终端录制。所有从命令行输入的命令都由 Showterm 记录。完成录制后,请按 Ctrl + D 或在命令行中输入exit 停止录制。

Showterm 会上传你的视频并输出一个看起来像 http://showterm.io/<一长串字符> 的链接的视频。不幸的是,终端会话会立即上传,而没有任何提示。请不要惊慌!你可以通过输入 showterm --delete <recording URL> 删除任何已上传的视频。在上传视频之前,你可以通过在 showterm 命令中添加 -e 选项来改变计时。如果视频无法上传,你可以使用 showterm --retry <script> <times> 强制重试。

在查看录制内容时,还可以通过在 URL 中添加 #slow#fast#stop 来控制视频的计时。#slow 让视频以正常速度播放、#fast 是速度加倍、#stop,如名称所示,停止播放视频。

Showterm 终端录制视频可以通过 iframe 轻松嵌入到网页中。这可以通过将 iframe 源添加到 showterm 视频地址来实现,如下所示。

 title=

作为开源工具,Showterm 允许进一步定制。例如,要运行你自己的 Showterm 服务器,你需要运行以下命令:

export SHOWTERM_SERVER=https://showterm.myorg.local/

这样你的客户端可以和它通信。还有额外的功能只需很少的编程知识就可添加。Showterm 服务器项目可在此 GitHub 页面获得。

结论

如果你想与同事分享一些命令行教程,请务必记得 Showterm。Showterm 是基于文本的。因此,与其他屏幕录制机相比,它将产生相对较小的视频。该工具本身尺寸相当小 —— 只有几千字节。


via: https://www.maketecheasier.com/record-terminal-session-showterm/

作者:Bruno Edoh 译者:geekpi 校对:wxy

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

我尝试尽可能的保持心灵祥和,然而总有一些事情让我意难平,比如控制台字体太小了。记住我的话,朋友,有一天你的眼睛会退化,无法再看清你编码时用的那些细小字体,到那时你就后悔莫及了。

幸好,Linux 死忠们,你可以更改控制台的字体。按照 Linux 一贯的尿性,不断变化的 Linux 环境使得这个问题变得不太简单明了,而 Linux 上也没有字体管理这么个东西,这使得我们很容易就被搞晕了。本文,我将会向你展示,我找到的更改字体的最简方法。

Linux 控制台是个什么鬼?

首先让我们来澄清一下我们说的到底是个什么东西。当我提到 Linux 控制台,我指的是 TTY1-6,即你从图形环境用 Ctrl-Alt-F1F6 切换到的虚拟终端。按下 Ctrl+Alt+F7 会切回图形环境。(不过这些热键已经不再通用,你的 Linux 发行版可能有不同的键映射。你的 TTY 的数量也可能不同,你图形环境会话也可能不在 F7。比如,Fedora 的默认图形会话是 F2,它只有一个额外的终端在 F1。) 我觉得能同时拥有 X 会话和终端会话实在是太酷了。

Linux 控制台是内核的一部分,而且并不运行在 X 会话中。它和你在没有图形环境的 无头 headless 服务器中用的控制台是一样的。我称呼在图形会话中的 X 终端为终端,而将控制台和 X 终端统称为终端模拟器。

但这还没完。Linux 终端从早期的 ANSI 时代开始已经经历了长久的发展,多亏了 Linux framebuffer,它现在支持 Unicode 并且对图形也有了有限的一些支持。而且出现了很多在控制台下运行的多媒体应用,这些我们在以后的文章中会提到。

控制台截屏

获取控制台截屏的最简单方法是让控制台跑在虚拟机内部。然后你可以在宿主系统上使用中意的截屏软件来抓取。不过借助 fbcatfbgrab 你也可以直接在控制台上截屏。fbcat 会创建一个可移植的像素映射格式(PPM)的图像; 这是一个高度可移植的未压缩图像格式,可以在所有的操作系统上读取,当然你也可以把它转换成任何喜欢的其他格式。fbgrab 则是 fbcat 的一个封装脚本,用来生成一个 PNG 文件。很多人写过多个版本的 fbgrab。每个版本的选项都有限而且只能创建截取全屏。

fbcat 的执行需要 root 权限,而且它的输出需要重定向到文件中。你无需指定文件扩展名,只需要输入文件名就行了:

$ sudo fbcat > Pictures/myfile

在 GIMP 中裁剪后,就得到了图 1。

图 1 : 裁剪后查看

如果能在左边空白处有一点填充就好了,如果有读者知道如何实现请在留言框中告诉我。

fbgrab 还有一些选项,你可以通过 man fbgrab 来查看,这些选项包括对另一个控制台进行截屏,以及延时截屏等。在下面的例子中可以看到,fbgrab 截屏跟 fbcat 截屏类似,只是你无需明确进行输出重定性了:

$ sudo fbgrab Pictures/myOtherfile

查找字体

就我所知,除了查看字体存储目录 /usr/share/consolefonts/(Debian 等),/lib/kbd/consolefonts/ (Fedora),/usr/share/kbd/consolefonts (openSUSE)外没有其他方法可以列出已安装的字体了。

更改字体

可读字体不是什么新概念。我们应该尊重以前的经验!可读性是很重要的。可配置性也很重要,然而现如今却不怎么看重了。

在 Debian/Ubuntu 等系统上,可以运行 sudo dpkg-reconfigure console-setup 来设置控制台字体,然后在控制台运行 setupcon 命令来让变更生效。setupcon 属于 console-setup 软件包中的一部分。若你的 Linux 发行版中不包含该工具,可以在 openSUSE 中下载到它。

你也可以直接编辑 /etc/default/console-setup 文件。下面这个例子中设置字体为 32 点大小的 Terminus Bold 字体,这是我的最爱,并且严格限制控制台宽度为 80 列。

ACTIVE_CONSOLES="/dev/tty[1-6]"
CHARMAP="UTF-8"
CODESET="guess"
FONTFACE="TerminusBold"
FONTSIZE="16x32"
SCREEN_WIDTH="80"

这里的 FONTFACEFONTSIZE 的值来自于字体的文件名 TerminusBold32x16.psf.gz。是的,你需要反转 FONTSIZE 中值的顺序。计算机就是这么搞笑。然后再运行 setupcon 来让新配置生效。可以使用 showconsolefont 来查看当前所用字体的所有字符集。要查看完整的选项说明请参考 man console-setup

Systemd

Systemd 与 console-setup 不太一样,除了字体之外,你无需安装任何东西。你只需要编辑 /etc/vconsole.conf 然后重启就行了。我在 Fedora 和 openSUSE 系统中安装了一些额外的大字号的 Terminus 字体包,因为默认安装的字体最大只有 16 点而我想要的是 32 点。然后将 /etc/vconsole.conf 的内容修改为:

KEYMAP="us"
FONT="ter-v32b"

下周我们还将学习一些更加酷的控制台小技巧,以及一些在控制台上运行的多媒体应用


via: https://www.linux.com/learn/intro-to-linux/2018/1/how-change-your-linux-console-fonts

作者:Carla Schroder 译者:lujun9972 校对:wxy

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