读者来信

作者:Staff

读者来信

技术提示视频技巧

我最近开始喜欢上 Shawn Powers 在 [LinuxJournal.com] 上的技术提示视频,我有一个关于改进可用性/可访问性的建议。我认为没有必要提供完整的文字稿,但是列出视频中提到的文件、目录、命令和 URL 的项目符号列表可能会很酷。感谢您的考虑。


Dallas Legan

我收到了很多关于技术提示视频的类似建议,对于一分钟的视频来说,“展示注释”之类的东西可能是有意义的。技术提示最近一直停滞不前(希望在本文印刷时情况会有所不同),因为我的房子失火了,但是一旦我回到正轨,我会尝试包含适当的文本。如果不出意外,这将使搜索视频更容易!—Shawn Powers

不经常写入文件系统是一个特性!

在 2010 年 3 月的读者来信中,Peter Bratton 抱怨 explore2fs 无法写入 NTFS 文件,并推荐了 www.fs-driver.org,一个非开源驱动程序。也许不写入外来格式文件系统是一个特性,而不是一个限制?

所有软件都可能存在错误,而文件系统错误尤其具有破坏性,因为它们很容易破坏系统。如果我需要在 Windows 和 Linux 之间实现互操作性,我通常使用中间的 fat 文件系统,我可以在其中放置来自两个系统的文件,而且如果我发现错误,我不会感到崩溃。

挂载外来格式文件系统时使用 -r(只读)通常是一个好主意。当我在双启动机器上运行 Linux 时,我就是这样做的。


marty

及时内容

感谢这本伟大的杂志。2010 年 4 月关于软件开发的期刊上有一篇关于 Selenium 的文章。我刚刚开始寻找 Web 自动化和测试工具,这篇文章以及我们对 Selenium 的相应使用为我节省了很多时间。感谢提供直接应用于我们工作的内容。我喜欢及时的编辑内容。我迫不及待想知道下个月我需要什么。继续保持良好的工作。


John Beauford

回复:合法使用 Linux

我想对 Luke 关于 Linux 许可的来信发表评论,该信件刊登在 2010 年 5 月号 LJ 第 12 页。在他的例子中,他提到了 Red Hat,并表示很难确定所有内容的许可证,并思考是否所有工作都留给用户。

我可以从 Fedora、Red Hat 和 CentOS 用户的角度告诉你,确定某项东西的许可证很容易。对于已安装的软件,只需执行以下操作

rpm -qi {packagename}

这将查询有关软件包的信息,其中一个字段是软件许可证。

如果一个软件包没有安装,但你有一个 .rpm 副本可以访问它,只需在标志中添加一个 p

rpm -qip {package-filename}.rpm

Red Hat 有律师,甚至有一个人专门调查 Fedora 项目的许可证。Red Hat 非常重视许可证和许可,并且避开已知在有问题的条款下获得许可的东西。因此,例如,Red Hat 不会预装任何 Adobe 产品,也不会预装 MP3 播放器或解码器,仅举几例。Fedora 曾多次放弃一个软件包,因为对其许可证存在一些不确定性。如果你认为 Red Hat 将其客户置于其提供的软件的风险之中,你就错了。Red Hat 已经做了功课(参见 www.redhat.com/legal/open_source_assurance_agreement.html)。

有关 Fedora 的许可证负责人做功课的示例文章,请参阅以下 Linux Weekly News 文章:lwn.net/Articles/312262。这当然不是唯一一篇关于该主题的文章。还有一个项目旨在帮助进行许可证验证,尽管我已经有一段时间没有阅读过相关内容了。我不会说其他任何内容,只需查看网站:fossology.org

我认为 Linux 上的许可比大多数专有操作系统上无人阅读的 EULAware 容易得多。我也没听说过任何企业或最终用户因为违反发行版库存存储库中安装的产品的许可证而被起诉的主流 Linux 发行版。这种情况根本不会发生。如果 Microsoft 决定因为其专利侵权而起诉 Linux 用户,情况可能会发生变化,正如它在媒体上声称的那样。


Scott Dowdle

我们也在 Linux Journal Insider 播客中讨论了这封信 [请参阅 www.linuxjournal.com/podcast/lj-insider 以获取我们每月关于每期新刊的播客]。感谢您的信息。非常感谢。—Ed.

Dave Taylor 的陷阱,第二部分

在 2010 年 5 月号中,一封题为“Dave Taylor 的陷阱”的信建议不要在 0(零)上设置陷阱。在 0 上设置陷阱非常有用。它是 EXIT 的陷阱。bash(1) 手册页指出“如果 sigspec 是 EXIT (0),则命令 arg 在 shell 退出时执行。” EXIT (0) 上的陷阱在其他 Bourne shell 兼容的 shell 中也可用,例如 sh、ksh、dash 和 zsh。我建议在“0 1 2 3 15”上设置陷阱,如下例所示,以便在脚本退出或被终止时删除 tmp 文件。shell 不会在另一个陷阱内执行 EXIT (0) 上的陷阱,从而避免了如果您在陷阱上设置 EXIT 陷阱时可能发生的递归循环

exitval=1
tmpfile=`tempfile` || exit 1
trap 'rm -f $tmpfile; exit $exitval' 0 1 2 3 15
# do some work with $tmpfile
exitval=0



Paul Jackson

Dave Taylor 的陷阱,第三部分

2010 年 4 月号的一封信抱怨 Dave Taylor 在 shell trap 命令中使用信号 0,并且他为“错误”道歉。这不是错误;包括信号 0 是 trap 内置命令的一个常见且非常有用的功能。您和写信人都是正确的,没有实际的信号 0,但在 trap 的情况下,信号 0 指定脚本正常终止的事件。

因此,可以使用trap "cleanup_code" 0在正常退出时调用清理代码。我一直使用它来清除临时文件和其他垃圾。感谢您的实用专栏。


bruce

Dave Taylor 回复:<拍额头> 谢谢!我知道陷阱 0 是个好主意是有原因的,我只是忘记了原因。现在我可以睡个好觉了。

使用文本编辑器编写代码

Dave Taylor 在他 2010 年 5 月的 Work the Shell 专栏中关于转换 HTML 表单时,提到使用 vi 进行一些代码 hack,这让我开始思考使用文本编辑器编写代码。在处理代码时,文本编辑器的选择有多重要?Emacs 和 vi 似乎是最常见的推荐。为什么它们如此受欢迎或经常被推荐,以及 gedit、joe、Leafpad、pico 或 nano 作为代码 hacking 的文本编辑器怎么样?


Philip S. Ruckle, Jr.

XDMCP

关于 Michael J. Hammel 在 2010 年 2 月号中发表的“运行远程应用程序”,作者似乎误解了 XDMCP 的目的和工作原理。XDMCP 允许您从列表中选择一个 X 客户端(使用 XDMCP 选择器),并使用为会话预配置的远程显示(X 服务器)登录。

在第 61 页,作者声明:“-display 选项的使用与 X 服务器上 XDMCP 的配置有关。” 这不是真的;-display 选项可以在任何登录 shell 中使用,并且可以指向任何可用的 X 服务器。例如,用户可以使用 SSH 登录并输入 -display 选项以指向不同的服务器。事实上,-display 选项可以用于在任意 X 服务器上启动 X 客户端。X 服务器唯一需要的配置是必须允许 TCP 连接。

从文章中可以看出,TCP 连接仅为 gdm/kdm 启用;启用与 X 服务器的 TCP 连接(至少在 Ubuntu Karmic 中)可以通过删除-nolisten tcp在 /etc/X11/xinit/xserverrc 文件中显示的选项来完成。

也没有必要切换运行级别来重启 gdm(或 kdm);显示管理器是一个专用 X 服务器,可以通过 Ctrl-Alt-Backspace 或使用命令行中的 kill 命令“重启”正在运行的 xdm。

没有明确说明的一件事是,VNC 本质上是一个新的 X 服务器,带有基于网络的远程显示。VNC 最初就是这样设计的:从 X 中删除了实际呈现显示的代码,并添加了网络功能。运行 VNC 通常不会共享当前显示;这是通过其他工具完成的。


David Douthitt

观点/反驳

关于 Kyle Rankin 和 Bill Childers 在 2010 年 3 月号中发表的“/opt vs. /usr/local”,在这两位杰出人物的交流中,有一些事实被遗漏或错误陈述。

首先,/usr/local 和 /opt 之间的真正对比是布局:/opt 通过将所有软件的文件放在一个目录中使用,而 /usr/local 创建了一个新的层次结构,其中包含 /usr/local/bin、/usr/local/sbin、/usr/local/etc 等等。这一点被暗示但从未明确说明。

其次,/usr/local 实际上比 /opt 更古老;/opt 随 Solaris 一起出现,而 /usr/local 早于 Solaris。

第三,Linux 发行版中的软件包都不会将其文件放在 /usr/local 中;相反,所有软件包都将其文件放在 /usr 中。Solaris 软件包将其文件放在 /opt 中。如果你使用 tar 和 gzip 从源代码编译,你会发现你的文件进入 /usr/local。如果你编译一个自定义的 Apache,你会发现文件在 /usr/local 中(而不是 /usr 中)。

最后,考虑到 HP-UX 最近几年从 /opt 切换到 /usr/local。在大多数安装中,编译到 /opt 中的文件的路径变得非常大。添加 /usr/local 文件意味着向路径添加两个目录:/usr/local/bin 和 /usr/local/sbin。

FreeBSD 和其他 BSD 操作系统专门使用 /usr/local 来添加软件,就像 Solaris 使用 /opt 一样。除非你编译自己的软件,否则 Linux 不使用 /usr/local。

告诉 Kyle 和 Bill 继续保持良好的工作。


David Douthitt

Kyle Rankin 回复:感谢您提供的关于 /opt/ 和 /usr/local 的所有额外背景信息。我可以看出您是一位经验丰富且学识渊博的管理员,不仅仅是因为您同意我的观点。

Bill Childers 回复:感谢您的历史见解!可能值得注意的是,Blastwave Solaris 的人们确实在 /opt/csw 下创建了自己的 bin、etc 和 lib 目录,原因与您在信中指定的一些原因相同。我感谢您引用的多操作系统观点,因为我尊敬的同事倾向于通过企鹅色的眼镜看世界。

使用 Telnet 发送电子邮件

Kyle Rankin 的 telnet 电子邮件运行良好(参见 Kyle 在 2010 年 5 月号中的 Upfront 文章),但是MAIL FROM命令不符合实际的 SMTP RFC2821,因此大多数 SMTP 服务器都会拒绝它并显示语法错误

MAIL FROM: <bill.gates@microsoft.com>

将使用额外的“<address>”来解决问题!


Torsten

Kyle Rankin 回复:我一定是使用了太多的 postfix 服务器,因为它们对语法更加宽容。感谢您的澄清,并且您因参考 RFC 而获得额外积分。

用于电视广播的开源

此消息的目标是 Doc Searls。似乎多年来他都参加了每年四月的 NAB 展会,然后写了关于信息孤岛的文章。LJ 可能会有兴趣了解更多关于世界各地的一些广播公司(包括欧洲最大的广播公司之一)如何使用 MLT 作为播出服务器并为其做出贡献的信息。这个工具包/库也充当了新兴视频编辑器 Kdenlive 和 OpenShot 的引擎。如果 Doc 今年参加 NAB 展会,这对他来说是一个值得了解的东西 (www.mltframework.org)。


Dan Dennedy

每月照片

有照片想与 LJ 读者分享吗?请将您的投稿发送至 publisher@linuxjournal.com。如果我们在杂志上刊登您的照片,我们将向您发送一件免费 T 恤。

Letters

geekchick-mobile 车牌的视图(我真的会拼写“chick”,但仅限于七个字符)。

Letters

我,蒙大拿州最近一次大麻相关活动中的大麻活动家/极客女孩。(感谢上帝,我带了我的 LJ 杂志。)照片由 Heather Masterson,蒙大拿州米苏拉市提交。

加载 Disqus 评论