Linux 烹饪指南 - 它是一个跨平台,没错!

作者:Marcel Gagné

是的,我承认,François。这很有趣。当我告诉你这个月的主题是跨平台开发时,我不是指那些让你生气的平台,尽管我可以理解将某些操作系统视为跨平台。 尽管这些图片很有趣,但我认为你今晚为菜单选择的艺术作品可能会引起一些人的注意,尽管我们的观众,我们不妨说是,是善解人意的。

说到这儿,我看到我们的客人已经到了。欢迎,mes amis(我的朋友们),来到 Chez Marcel(马塞尔之家),这里有非凡的 Linux 美食,世界一流的酒窖之一以及世界上最棒的顾客。请随意。François 和我正在讨论本月刊的主题,跨平台开发,而我的服务员有点吵闹。 似乎我们应该为此拿出白仙粉黛,但幸运的是,我们没有库存。François,去酒窖,immédiatement(立刻)!把 1992 年的纳帕谷赤霞珠拿上来。Vite!(快点!)

众所周知,Microsoft Windows 仍然是普通企业 IT 部门的一部分。我们中的许多人必须能够在 Windows 和 Linux 之间交换信息。例如,不知何故,你说服了管理层允许你在工作站上运行 Linux 而不是 Windows。也许你正在使用自己的笔记本电脑。无论是什么原因,你现在都必须处理 Windows 工作组或域以及相应的共享文件和打印机。 尽管会计部的 Jon 并不特别喜欢他的 Windows XP 电脑,但许多重要文件都是从该机器共享的,这些文件在网络邻居中共享。

你可能会问自己,利用网络邻居有多容易。考虑到有多少文件和打印服务器不是运行 Windows 而是 Linux,并通过 Samba 提供文件共享体验,这是一个有趣的问题。 因此,Samba 兼容的客户端软件倾向于作为大多数现代 Linux 发行版的标准安装的一部分出现,这并不奇怪。 这意味着你可以使用 smbclient 程序连接到网络上的 Windows 共享,启动命令如下:smbclient -L sedna,这将生成一个类似于这样的共享报告

Domain=[ACCOUNTING] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

        Sharename      Type      Comment
        ---------      ----      -------
        SEDNA_C        Disk
        IPC$           IPC       Remote IPC
        Reports        Disk
        Policies       Disk

假设你有权查看 Reports 文件夹,你可以像这样连接到它

smbclient //sedna/reports -U winuser

在上面的示例中,我正在从我的 Linux 工作站以用户 winuser 的身份连接到 Windows XP 电脑。 然后系统会要求我输入密码,之后我会被带到一个 Samba 提示符,看起来像这样

Domain=[ACCOUNTING] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \>

从那里,输入help然后 smbclient 会提供一个列表,列出你在连接时可以使用哪些命令执行哪些操作。 其中一些是显而易见的事情,例如dir, copy等等。 尽管所有这些都不错,但在图形意义上并不美观,并且在图形文件管理器或 OpenOffice.org 应用程序内部工作时无法使用它。

无论你使用 KDE 还是 GNOME 作为桌面环境,请放心,加入网络邻居所需的所有工具都在那里供你使用。 最重要的是,它非常容易做到。 让我们从 Konqueror 开始看起。

打开 Konqueror(作为文件管理器或浏览器)并输入smb:/在“位置”字段中。

Samba 服务器或 Windows 机器广告网络共享首先出现在浏览器窗口中,位于其工作组名称下(例如,ACCOUNTING,SALESGRP)。 图 1 显示了一个具有双面板视图的 Konqueror 会话;单击菜单栏上的“窗口”,然后选择“拆分视图”,“左右”。 在左侧面板中,我们具有基本网络浏览器视图,其中包含三个活动工作组。 在右侧面板中,我单击了 ACCOUNTING 工作组以显示属于该组的计算机。

Cooking with Linux - It's a Cross Platform, All Right!

图 1. 使用 Konqueror 浏览工作组

要读取、写入或以其他方式使用这些计算机上共享的文件,请双击该计算机的相应文件夹,例如 François 的计算机。 然后,所有可用的共享目录(或文件夹)都将可见(图 2)。

Cooking with Linux - It's a Cross Platform, All Right!

图 2. 连接后,浏览是基本的文件管理器导航。

从这里开始,都是经典地拖放,图形文件管理器浏览。 通过单击(或双击,取决于配置),我可以进入 cooking 文件夹,找到相应的文档,并在我选择的情况下使用 OpenOffice.org Writer 打开它。 (右键单击文件,选择“打开方式”,然后 voilà(瞧),我正在编辑共享 Windows 资源上的文档。)

理想情况下,我们不希望每次都经历整个导航过程。 要使给定的网络共享更接近几步,只需将相应的共享文件夹添加为书签即可。

在 GNOME 方面,我们有 Nautilus。 你应该发现该过程与我们使用 Konqueror 的过程类似。 启动 Nautilus 并输入smb:///在“位置”栏中。 然后 Nautilus 显示网络上的活动工作组(图 3)。

Cooking with Linux - It's a Cross Platform, All Right!

图 3. SMB 网络浏览模式下的 Nautilus

从那里,你可以双击其中一个工作组以选择计算机。 然后,从计算机列表中,双击你的选择,你可以浏览提供的各个资源(图 4)。 请注意,当你像这样在计算机之间移动时,有时可能会要求你输入该计算机甚至特定文件夹的用户名和密码。

Cooking with Linux - It's a Cross Platform, All Right!

图 4. 可以轻松访问 Windows 和 Samba 共享。

与之前的 Konqueror 示例一样,你可以通过将你选择的文件夹添加为书签来节省一些时间。 我提出的这两个建议的问题在于,它们都不能让你永久挂载网络驱动器。 访问特定文件夹需要你做一些命令行工作,这是一个足够容易的过程,但远非你网络上的 Windows 用户希望看到的点击式轻松体验。 让我们让 François 为我们续杯,同时我们来看看解决这个难题的方法。

为了更强大和灵活地在网络邻居中工作,你必须看看 Smb4K,这是一个非常出色的 SMB 浏览器工具,它也灵活而强大。 此外,Smb4K 可以预览共享,在本地挂载共享而无需以 root 身份运行,在启动时自动重新连接等等。

在撰写本文时,Smb4K 处于 0.3.2 版本,但我发现它是一个功能强大的软件包,绝对值得花时间研究。 该站点提供了 Debian、SuSE 和 Fedora 的二进制软件包,以及完整的源代码。 从源代码构建 Smb4K 与经典的提取和构建五步法一样容易

tar -xzvf smb4k-0.3.2.tar.gz
cd smb4k-0.3.2
./configure --prefix=/usr
make
su -c "make install"

安装软件包后,通过调用以下命令运行程序smb4k。 启动 Smb4K 后,它会扫描网络以查找活动共享。 你可以微调其功能,包括是否希望自动重新连接共享等选项,方法是单击菜单栏中的“设置”并选择“配置 Smb4K”。 图形界面直观且易于导航,整个软件包都易于使用。

显示分为左侧导航面板,可以在其中列出和导航工作组、计算机和共享。 要挂载共享,请右键单击它并选择“挂载”。 如果你希望先查看你要进入的内容,请选择“预览”代替。

Cooking with Linux - It's a Cross Platform, All Right!

图 5. Smb4K:这会是终极 SMB 浏览器吗?

挂载的驱动器在右上角的窗口中显示为驱动器图标。 双击其中一个驱动器图标会调用 Konqueror。 如果你运行df从命令行,你会看到驱动器现在已挂载,供你在自己的主目录下的 Smb4K 目录前缀中使用。 例如,对于图 5 中的示例,列表如下所示

Filesystem       Size Used Avail Use% Mounted on
//SEDNA/Reports  4.0G 3.0G  1.1G  75% /home/marcel/smb4k/SEDNA/Reports
//FRANCOIS/wine   13G 8.8G  3.3G  73% /home/marcel/smb4k/FRANCOIS/wine

现在,我的任何应用程序(无论是 KDE、GNOME、基于 shell 的还是其他任何应用程序)都可以访问共享。 成为邻居的一部分从未如此简单。

Mon Dieu, mes amis(我的天啊,我的朋友们),结束时间来得如此之快。 François,你能否好心最后一次为我们的客人续杯? 我们当然不希望任何人生气地回家,而且有了今天菜单上的项目,邻居的大门都向你敞开。 在下次之前,mes amis(我的朋友们),让我们为彼此的健康干杯。 A v�re sant� Bon app�it! (祝您健康! 胃口好!)

本文的资源: /article/7548

Marcel Gagné (mggagne@salmar.com) 居住在安大略省密西沙加市。 他是 Addison Wesley 出版的 Moving to Linux: Kiss the Blue Screen of Death Goodbye! (ISBN 0-321-15998-5)的作者。 他的第一本书是备受赞誉的 Linux System Administration: A User's Guide (ISBN 0-201-71934-7)。 在现实生活中,他是系统集成和网络咨询公司 Salmar Consulting, Inc. 的总裁。

加载 Disqus 评论