Linux Journal 采访罗伯特·内申

采访
Larry:虽然我在各种软件文档中都见过您的名字,但我意识到我对您的个人细节知之甚少。您能向我介绍一下您的背景吗?
Robert:我在纽约州伊萨卡长大,我的父亲是康奈尔大学的教授。我获得了康奈尔大学的电气工程学士和硕士学位。从那时起,我曾在马萨诸塞州的雷神公司和新罕布什尔州南部的桑德斯公司工作过。我现在和我的妻子(也是康奈尔大学毕业,来自纽约州北部)以及三个孩子(分别为 4 岁、5 岁和 7 岁)在新罕布什尔州梅里马克居住了几年。
Larry:您目前从事什么样的工作?
Robert:我在洛克希德·马丁公司旗下的桑德斯公司工作。桑德斯公司是美国军方电子对抗设备的主要供应商。桑德斯公司还在通信和战场态势感知领域开展工作。我一直在研究用于远距离检测和分类直升机和坦克的系统,通过它们发出的声音,以及通过它们在高频声纳中的回声来识别水肺潜水员。
Larry:您是如何参与自由软件编程的?
Robert:在我开始在桑德斯公司工作后,我意识到 Unix 工作站是信号分析的绝佳工具——在现场测试中,我们从一些原型雷达、声纳或声学系统记录数据,然后将数据加载到我们的工作站上,以找出执行计算机辅助目标检测和分类的最佳方法。
大约在 1990 年,我在网上看到了关于 Linux 的提及,并认为也许可以使用低成本 PC 进行信号分析——优点是 PC 笔记本电脑很便宜。它们也很容易在现场测试中进行现场数据分析,以便在我们实际测试系统时调整系统参数。我买了一台 PC,开始学习 Linux 以跟踪这一趋势——同时也复习我的计算机和软件技能。
Larry:您是如何受到激励创建 FVWM 的,现在 FVWM 已成为 Linux 社区中使用最广泛的窗口管理器之一?
Robert:我创建 FVWM 的最初原因是帮助我查看记录数据的频谱图。频谱图是一种以时间为横轴,频率为纵轴的图。图中每个像素的亮度表示在该频率和时间接收到的功率量。我也喜欢使用颜色来指示数据的到达方向,这让事情变得更复杂。无论如何,我开始查看越来越大的频谱图——直到它们最终达到 2000 像素 x 400 像素,我不想通过将图像挤在一个屏幕上来损失分辨率。TVTWM 或 VTWM 对于这项工作来说已经足够好了,但我想学习一些关于 X11 编程的知识,所以我开始拆解 TWM 来创建 FVWM。
Larry:FVWM 和 RXVT 这两个首字母缩略词分别代表什么?
Robert:FVWM 代表 Feeble Virtual Window Manager(微弱的虚拟窗口管理器)。最初的版本(大约 0.8 或更早的版本)几乎没有用户可选择的功能,所以它真的很微弱。我认为唯一可以更改的是窗口边框的颜色。
RXVT 是 Rob 的 XVT 版本。我相信 XVT 代表 X Virtual Terminal(X 虚拟终端)。
Larry:您认为 FVWM 与 TWM 相比,在大小、速度和内存方面如何?
Robert:虽然早期版本的 FVWM 比 TWM 更小(内存占用更少),但我确信现在情况并非如此。此外,人们倾向于使用 FVWM 模块,这会消耗更多内存。
TWM 最终在内存方面并没有那么糟糕——只是它初始化了一个相当大的可能的鼠标按钮和 shift/alt 组合表。该表用于存储菜单到鼠标按钮的绑定。我相信 TWM 甚至初始化了该表,因此它确实必须被分配,然后大部分被换出。在我发现这个问题后,FVWM 相对于 TWM 并没有太大的优势。
就速度而言,TWM 使用的装饰较少,因此速度稍快一些。但这在当今的快速显示器上似乎没有太大区别。
Larry:您如何看待最近激增的新型 FVWM 变体?
Robert:我现在使用 FVWM-95。我认为任务栏是一个很好的功能,并且在这个新的微软时代,motif 外观/兼容性有点过时了。我没有花太多时间研究 Afterstep 或 FVWM 的其他变体,但我确实注意到使用彩色像素图来制作大量小工具的趋势越来越明显,这些小工具确实减慢了我在工作中使用的 X 终端的速度。
Larry:RXVT 的前身是什么,是什么促使您开始开发它?
Robert:RXVT 基于 XVT,XVT 仍然可以在网上找到。XVT 工作正常,但屏幕更新有点慢。我四处摸索了一段时间,主要是为了学习更多 X11 的东西。我还添加了内联图形的选项,我认为这对于科学绘图非常有用——您可以发出一个绘图命令,看到结果,并让绘图像其他文本一样滚动消失。虽然我经常使用这个功能,但它并没有像我希望的那样有用。我偶尔会使用 Xgraph 来查看一堆散点图,最终屏幕上会布满一百万个图。RXVT 中的图形功能确实消除了这个问题。
Larry:浏览一本 Linux 手册页,我在 top 程序的致谢中看到了您的名字。您参与了什么?
Robert:有一个版本的 top 程序直接读取内核结构来获取进程信息,但每次内核更改时都需要重新编译,并且必须经常更新。还有一个全新的基于 /proc 的 ps 程序。我所做的只是将两者结合起来,从旧版本的 top 程序中获取了大量的显示软件,从 ps 程序中获取了进程信息软件,从而制作了您现在看到的基于 /proc 的 top 程序版本。这大约花了两个晚上,自从我第一次发布以来,其他人一直在维护它。
Larry:除了上面提到的程序之外,您还开发过其他 Linux 软件吗?
Robert:没有我发布过的。几个月前,我尝试开发一个小型的图形服务器,类似于 mgr,但它能够更新最顶层窗口以外的窗口,并一次更新多个窗口——而不仅仅是活动窗口。我使窗口系统和文本窗口以单色模式工作,但从未完成其余的图形功能。
Larry:您有完成图形服务器的计划吗?
Robert:可能不会,因为我刚买了一台新的家用电脑,内存高达 16MB,X 在那台设备上运行得非常好。但这确实是一次有趣的學習经历。需要弄清楚窗口重叠的位置并正确有效地更新它们的软件并非易事。
Larry:您对 Linux 的最初体验和印象是什么?
Robert:我大约在 1990 年开始使用 Linux。我认为那是 0.9 或左右的版本。我印象非常深刻——我安装了一个 SLS 发行版,我将其下载到工作单位的 Sun 计算机上,并从软盘安装。我记得,它工作得非常完美。我仍然在家中使用相同的安装,分阶段升级到最新的内核、编译器和库。在所有这些年中,我只记得一个内核存在重大问题,并且安装软件包时遇到的问题非常少。
我们刚刚开始在工作单位使用 Linux。系统维护方面存在一个重大问题——由于 Suns 附带完整但罕见的更新,而 Linux 附带持续的、零碎的更新,我们不知道支付更多钱购买 Sun 硬件并节省系统管理成本是否更便宜,还是仅仅购买 PC 并承担系统管理风险。我们现在正在实验性地使用它,明年将把一个原型潜艇通信系统带到海上,使用 Linux 笔记本电脑作为 VME 设备机架的控制台。
Larry:为什么选择 Linux 用于这个通信系统?
Robert:我们使用 Linux 来运行图形显示(X11)。桑德斯公司长期以来一直使用 X11 和 Sun 工作站进行显示,因此我们拥有丰富的知识和经验基础。我们为潜艇系统做的选择是
将 CRT 显示器直接连接到实时系统——这是可以接受的,但很难将笨重的 CRT 放入潜艇中——它们必须通过直径 30 英寸的鱼雷装载舱口装载,该舱口大约有 2 层楼高。
使用单独的 Sun 工作站——同样的问题
使用 Sun 笔记本电脑——非常昂贵且有点慢。
使用 Windows——我们的编程经验非常少。
使用 Linux——我们做出这个选择是因为成本低、内部编程经验丰富以及软件源代码通常与 Sun 软件兼容。
Larry:您对 Linux 或其他您想补充的主题有什么想法吗?
Robert:我不知道您对 Linux 还能要求多少——开发人员在将这个操作系统组合在一起方面做得非常出色。我很高兴看到一些软件供应商现在正在支持 matlab 版本的软件,但我希望有更多可用的软件。我想知道是否有人在为某些人许可 Word 或 PowerPoint 等软件的有限权利,然后在 Linux 上移植、销售和支持它,这是否存在市场。
我想知道是否有人正在开发下一代用户界面。我想这可能是语音激活的,或者更有趣的是,某种 3D,也许是虚拟现实的东西。我一直在想《侏罗纪公园》中的一个简短片段,其中他们展示了一个有趣的 3D 文件管理器,我想知道那里是否有任何想法。
Larry:感谢您抽出时间。