Linux 终端是支持多媒体的,所以你可以在终端里听音乐,看电影,看图片,甚至是阅读 PDF。
在我的上一篇文章里,我们了解到 Linux 终端是可以支持多媒体的。是的,这是真的!你可以使用 Mplayer、fbi 和 fbgs 来实现不打开 X 会话就听音乐、看电影、看照片,甚至阅读 PDF。此外,你还可以通过 CMatrix 来体验黑客帝国(Matrix)风格的屏幕保护。
不过你可能需要对系统进行一些修改才能达到前面这些目的。下文的操作都是在 Ubuntu 16.04 上进行的。
MPlayer你可能会比较熟悉功能丰富的 MPlayer。它支持几乎所有格式的视频与音频,并且能在绝大部分现有的平台上运行,像 Linux、Android、Windows、Mac、Kindle、OS/2 甚至是 AmigaOS。不过,要在你的终端运行 MPlayer 可能需要多做一点工作,这些工作与你使用的 Linux 发行版有关。来,我们先试着播放一个视频:
$ mplayer [视频文件名]
如果上面的命令正常执行了,那么很好,接下来你可以把时间放在了解 MPlayer 的常用选项上了,譬如设定视频大小等。但是,有些 Linux 发行版在对帧缓冲framebuffer的处理方式上与早期的不同,那么你就需要进行一些额外的设置才能让其正常工作了。下面是在最近的 Ubuntu 发行版上需要做的一些操作。
首先,将你自己添加到 video 用户组。
其次,确认 /etc/modprobe.d/blacklist-framebuffer.conf 文件中包含这样一行:#blacklist vesafb。这一行应该默认被注释掉了,如果不是的话,那就手动把它注释掉。此外的其他模块行需要确认没有被注释,这样设置才能保证其他那些模块不会被载入。注:如果你想要更深入的利用帧缓冲framebuffer,这些针对你的显卡的模块可以使你获得更好的性能。
然后,在 /etc/initramfs-tools/modules 的结尾增加两个模块:vesafb 和 fbcon,并且更新 iniramfs 镜像:
$ sudonano/etc/initramfs-tools/modules
#List of modules that you want to includein your initramfs.
#They will be loaded at boot timein the order below.
fbcon
vesafb
$ sudo update-initramfs -u
fbcon 是 Linux 帧缓冲framebuffer终端,它运行在帧缓冲framebuffer之上并为其增加图形功能。而它需要一个帧缓冲framebuffer设备,这则是由 vesafb 模块来提供的。
接下来,你需要修改你的 GRUB2 配置。在 /etc/default/grub 中你将会看到类似下面的一行:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
它也可能还会有一些别的参数,不用管它,在其后加上 vga=789:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=789"
重启之后进入你的终端(Ctrl+Alt+F1)(LCTT 译注:在某些发行版中 Ctrl+Alt+F1 默认为图形界面,可以尝试 Ctrl+Alt+F2),然后就可以尝试播放一个视频了。下面的命令指定了 fbdev2 为视频输出设备,虽然我还没弄明白如何去选择用哪个输入设备,但是我用它成功过。默认的视频大小是 320x240,在此我给缩放到了 960:
$ mplayer -vo fbdev2 -vf scale -zoom -xy 960AlienSong_mp4.mov
来看图 1。粗糙的画面是由于我原视频的质量不高,而不是 MPlayer 的显示问题。
图 1 播放视频
MPlayer 可以播放 CD、DVD 以及网络视频流,并且还有一系列的回放选项,这些将作为作业留给大家自己去发现。
fbi 图片查看器fbi 是一个帧缓冲图片查看器。在大部分的 Linux 发行版中,它被包含在 fbida 包里。它原生支持一些常见的图片格式,而如果你安装了 convert(来自于 Image Magick),那么它还能借此打开一些其他格式。最简单的用法是用来查看一个图片文件:
$ fbi 文件名