Cooking with Linux - Tricked-Out Terminals

作者:Marcel Gagné

拜托,弗朗索瓦,别哭了。是什么让你这么伤心?这家餐厅看起来棒极了,我的朋友。一切都准备好了。究竟有什么这么糟糕?什么? 你在看菜单,看到我们将以终端程序为特色,这让你感到难过?啊,我的天哪 弗朗索瓦,终端程序与死亡无关;它们是通往 shell 的窗口,就像 GNOME 终端、xterm 或 KDE Konsole 一样。

我们的客人到了,弗朗索瓦。欢迎大家来到 Chez Marcel,在这里,精致的 Linux 美食与美酒相遇。请坐下,放松身心。弗朗索瓦,请去酒窖把 1999 年的罗讷河谷葡萄酒拿来。快点!

在为这期以系统管理为主题的杂志准备菜单时,我有些犹豫。毕竟,这个主题有很多不同的方面。然后,我问自己,我最常用的系统管理工具是什么,得出的答案很有趣——它是在某种终端模拟器中运行的命令 shell。虽然这看起来可能非常基础,但自古老的 xterm 时代以来,终端程序已经走了很长一段路。

对于那些太年轻而记不住的人来说,我们将它们称为终端程序或模拟器,而不是 shell 窗口,因为它们是终端的软件桌面等价物,终端曾经物理连接到大型计算机系统。但我离题了,弗朗索瓦带着葡萄酒回来了。

多年来,我使用过相当多的终端程序。最初,它只是一个普通的 xterm,在大多数 Linux 系统上仍然可用。美化它意味着更改字体颜色或背景,但仅此而已。例如,要启动一个带有钢蓝色背景和红色文本的普通 xterm,我会这样做

xterm -background "SteelBlue" -foreground "Red"

随着时间的推移,我发现了另一个名为 rxvt 的终端程序,它也应该包含在大多数系统中。它让我对配置选项有了更多的控制权。它不仅看起来比我的旧 xterm 更好看,而且我可以为背景分配一个 XPM 位图图像,这在当时看起来非常酷

rxvt -pixmap /usr/share/themes/BrushedMetal/gtk/bg.xpm -fg black

然后,我遇到了第一个我真正爱上的终端模拟器,一个我今天仍然喜欢的模拟器。它叫做 Eterm,虽然它被设计为 Enlightenment 窗口管理器的 xterm 替代品,但它应该适用于你拥有的任何东西,无论是 GNOME、XFCE、KDE 还是其他任何东西。检查你的发行版 CD 中是否有这个程序,因为它可能尚未安装在你的系统上。你也可以从 Eterm 网站(参见在线资源)获取最新的 Eterm。

除了外观精美外,Eterm 还提供一些很酷的功能。例如,Eterm 可以有各种各样的背景图像,事实上,它自带了好几种。其中一些是平铺的像素图,另一些是完整的背景图像(图 1)。只需单击 Eterm 菜单栏上的“Background”(背景),然后单击“Pixmap”(像素图),然后从可用的平铺或缩放像素图中选择即可。

Cooking with Linux - Tricked-Out Terminals

图 1. Eterm 具有透明度、背景、主题等功能。

你还可以更改字体大小、亮度、对比度、滚动条样式等等。你甚至可以创建和自定义你自己的菜单。如果你对你修改的设置感到满意,请单击菜单栏上的“Eterm”,然后选择“Save User Settings”(保存用户设置)。

Eterm 也是可主题化的。单击 Eterm 网站上的“Themes”(主题)链接,你将看到几个可以下载并安装到你的系统上的主题。这些都是 tar 压缩的 gzip 包。要安装它们,请在你的 $HOME 目录下创建一个 .Eterm 目录,然后在该目录下创建一个 themes 目录。现在你所要做的就是将主题解压到该目录中,它就会变为可用。要使用适当的主题启动你的下一个 Eterm,请在命令行中像这样命名它

Eterm -t theme_name

然而,Eterm 我最喜欢的功能之一是使其透明化的能力。我发现这一点特别好,因为它让我可以关注系统日志,因为它们会在我的桌面和我当前最喜欢的壁纸上滚动。你所要做的就是单击菜单栏上的“Background”(背景),然后选择“Toggle Transparency”(切换透明度)。此选项在 KDE 上不起作用,但在 GNOME、WindowMaker 和其他系统上起作用。要在我的透明 Eterm 上查看我的 Web 服务器上的 Apache 日志,我将运行以下命令

Eterm -O -e sudo tail -f /var/log/httpd/access_log

这与终端模拟器本身无关,但在上面的示例中,你可能需要将自己添加到 /etc/sudoers 文件中才能使其工作,除非你以 root 用户身份运行 Eterm。在我的例子中,我在文件中 root 用户权限的定义正下方添加了一行

# User privilege specification
root    ALL=(ALL) ALL
marcel  ALL=(ALL) ALL

如今,终端程序中的另一个功能让我感到兴奋,那就是选项卡。无需打开三四个终端应用程序,这可能会占用相当多的实际空间。以 KDE Konsole 程序或 GNOME 终端为例。两者不仅提供基本的 shell 访问,而且还允许你在选项卡式会话中运行多个 shell。要在你的 GNOME 终端上使用选项卡,请按 Shift-Ctrl-T,你将看到一个新的会话(图 2)。

Cooking with Linux - Tricked-Out Terminals

图 2. 带有选项卡的 GNOME 终端节省了屏幕空间。

GNOME 终端也支持透明度,因此如果我想启动一个脚本,让我的日志在我的壁纸 du jour 上滚动,我也可以这样做。在 GNOME 终端中,这是通过配置文件完成的。要创建配置文件,请单击 GNOME 终端菜单栏上的“Edit”(编辑),然后选择“Profiles”(配置文件)。单击“New”(新建),为你的配置文件命名,例如,seethrough。当“Editing Profile”(编辑配置文件)对话框出现时,单击“Effects”(效果)选项卡,然后单击“Transparent background”(透明背景)单选按钮(图 3)。

Cooking with Linux - Tricked-Out Terminals

图 3. 要创建透明的 GNOME 终端,你首先需要创建一个配置文件。

使用滑块调整透明度级别,然后关闭配置文件对话框。现在,像这样启动 GNOME 终端

gnome-terminal --window-with-profile=seethrough \
-e "sudo tail -f /var/log/messages"

如果你喜欢结果,请在 shell 脚本中使用该命令,以便使用对你来说有意义的名称来调用它。

在 KDE 世界中,有 Konsole,它也可以很好地处理选项卡。要启动选项卡式 Konsole 会话,请单击菜单栏上的“Session”(会话),然后选择“New Shell”(新建 Shell)。然后,通过双击选项卡并为其命名来自定义选项卡。当你运行多个 shell 时——一个用于编译,一个用于监视会话,另一个用于 root shell——命名你的选项卡很有意义。另请注意,当你单击“Session”(会话)菜单时,有多个选项可用,包括在书签位置启动会话(图 4)。

Cooking with Linux - Tricked-Out Terminals

图 4. 令人惊叹的 Konsole——选项卡、书签等等!

书签?当你作为管理员工作时,你会发现自己一遍又一遍地进入相同的目录。当然,你可以快速键入并到达你想去的地方,但 Konsole 通过让你分配书签来扩展其功能。当你在那个熟悉的七层深的目录中时,只需单击菜单栏上的“Bookmarks”(书签),然后选择“Add Bookmark”(添加书签)。你可以为你想要的位置分配一个名称,并通过单击一下在该位置打开一个 shell。

当然,我不能在不提及透明度的情况下继续前进。要在 Konsole 中启用透明度,请单击菜单栏上的“Settings”(设置),然后单击“Schema”(主题),然后从那里选择 Konsole 透明度之一。当你在“Settings”(设置)菜单中时,你会看到 Konsole 终端程序的大量配置选项。更改字体,进入全屏模式并更改编码,更改键盘布局或设置警报以在你选项卡式会话之一中发生更改时通知你。你可以自行探索 Konsole 功能,但我将给你留下一个不错的脚本来启动一个干净、透明的 Konsole 来跟踪你的日志文件

konsole --schema Transparent.schema --nomenubar \
  --notabbar --noframe \
  -e sudo tail -f /var/log/messages

今晚菜单上的最后一个选择非常棒,坦率地说,我很惊讶以前没有见过类似的东西。我认为它很棒,因为我一发现它就开始经常使用它。Simon Perreault 使用 KDE kparts 创建了一个名为 Quadkonsole 的程序。顾名思义,它在网格中启动四个 Konsole 程序(图 5)。无需并排排列你的 Konsoles 或从一个 shell 选项卡单击到下一个 shell 选项卡。为了使事情更美好,Quadkonsole 只在任务栏中创建一个任务,使你的 Kicker 面板保持整洁。当我告诉你更多关于这个出色的终端程序时,这个功能将特别有用。

Cooking with Linux - Tricked-Out Terminals

图 5. Quadkonsole 在完美的网格中启动四个 Konsoles。

可以通过右键单击每个正在运行的 Konsole,选择“Settings”(设置),然后从菜单中选择你感兴趣的更改来随意修改它。例如,你可能希望其中一个透明,另一个是黑底白字的小字体,等等。毕竟,每个都是 Konsole,可以相应地修改。

如果你感到特别分心,你可以告诉 Quadkonsole 启动超过四个 Konsoles。只需指定行数和列数,如下所示

quadkonsole --rows 4 --columns 4

此命令启动 Quadkonsole,其中包含 16 个单独的终端会话(图 6)。这就是为什么在你的 Kicker 面板中只有一个实例是如此好的功能。如果你希望信息适合,现在也是开始调整字体大小的好时机。在我的一个会话中,我运行了 top,实时进程和资源监视器,字体非常小。当然,现在我需要运行一个桌面放大镜,例如 kmag,才能看到它。

Cooking with Linux - Tricked-Out Terminals

图 6. 当信息过多恰到好处时,Quadkonsole 响应呼叫。

默认情况下,焦点跟随鼠标指针,因此如果你在键入时碰巧意外地轻推鼠标,可能会发生奇怪而美妙的事情。要覆盖该默认值,请使用--clickfocus命令选项来启动你的 Quadkonsole 程序。这样做之后,你必须单击每个窗口才能选择特定的 Konsole。

我碰巧更喜欢单击聚焦选项,但我并不总是喜欢每次都伸手去拿鼠标。幸运的是,Quadkonsole 也涵盖了这一点。你可以使用 Shift-Ctrl-箭头键组合在 Konsole 实例之间导航。这允许你从一个会话向上、向下、向左或向右移动到另一个会话。

难以置信! 似乎,我的朋友们,闭店时间再次到来。如果有人可以编写一个应用程序,可以将我们一次的休闲时间转换为四次或十六次就好了。有太多美妙的葡萄酒值得品尝,有太多程序值得探索,而且肯定没有足够的时间。别担心,我的朋友们,我非常愿意多花一点时间,弗朗索瓦也很乐意在你们聊天时为你们续杯。坐下来,享受罗讷河谷葡萄酒。举起你们的酒杯,我的朋友们,让我们为彼此的健康干杯。祝您健康!祝您好胃口!

本文的资源: /article/8259

Marcel Gagné 是一位屡获殊荣的作家,居住在安大略省密西沙加市。他是 Moving to the Linux Business Desktop (ISBN 0-131-42192-1) 的作者,这是他在 Addison Wesley 出版的第三本书。他还定期在电视节目中露面,担任 Call for Help 的 Linux 专家。Marcel 还是一名飞行员,曾是 Top-40 唱片骑师,创作科幻小说和奇幻小说,并且会折叠出精美的折纸霸王龙。可以通过电子邮件 mggagne@salmar.com 与他联系。你可以从他的网站 www.marcelgagne.com 发现许多其他东西(包括很棒的葡萄酒链接)。

加载 Disqus 评论