你是否在不同的网络环境中使用笔记本电脑?在家?在办公室?在客户的场所?
如果是,小软件包 "netenv" 可能会对您有所帮助。当启动笔记本电脑时,它会为您提供一个简单的界面,您可以从中选择当前的网络环境。第一次在新环境中,您可以输入基本数据并保存以供以后重用。
Netenv 设置一个包含变量赋值的文件,这些变量赋值描述了当前环境。这可以被 PCMCIA 设置方案使用,例如,像 Debian/GNU Linux 和其他一些发行版自带的方案一样。
netenv 数据可以用于以下用途:
网络设备:为不同的环境配置网络设备。
选择合适的XF86Config:考虑在独立使用笔记本电脑时使用触摸板,或者在连接到 CRT 监视器并使用外接鼠标时的情况。例如,滚轮鼠标可以在停靠时使用,但该驱动程序与正常的指点杆或触摸板不兼容。
窗口管理器:您可以根据机器的当前位置设置合适的窗口管理器。
打印环境:netenv 数据可以轻松用于设置打印环境。
Netenv 在 netenv home 可用。它的菜单界面依赖于 dialog(1)。Netenv 由 Gerd Bavendiek 开发。
SuSE 的 系统配置profile管理 - SCPM 软件允许您切换配置profile。您可以直接启动到一个profile,然后在运行时切换到另一个profile。这是 SuSE 较旧的 “scheme” 管理软件的后继者。
ifplugd 是一个轻量级的 Linux 守护进程,当网线插入时自动配置网络,当网线拔出时取消配置。它主要用于笔记本电脑。它依赖于发行版原生的网络配置子系统,因此侵入性不强。
divine 是一个为那些一直需要在不同网络中使用机器的人提供的实用程序。“想法是这样的
你在 /etc/divine.conf 中描述可能的网络,包括一台或多台可能在线的机器(路由器和 NIS 服务器)。
在启动时,你运行 divine。
divine 启动一个线程,该线程将虚假的 arp 请求注入到网络中。该线程将重试最多三次,每次重试之间暂停 1 秒。如果最后一次尝试再次超时,该线程将打印错误消息,将接口保持在原始状态并干净地退出。
主线程只是查找 arp 回复,如果找到一个就退出。
你有一个resolv.conf每个网络,例如/etc/resolv.conf.default和/etc/resolv.conf.work。 divine 会将它们中的一个软链接到/etc/resolv.conf给你。
你可以指定一个代理服务器和端口, divine 会将代理服务器写入到/etc/proxy。 这可以在你的 shell 启动脚本中进行评估,就像这样 (zsh)
export http_proxy="http://`</etc/proxy`/" |
你甚至可以为每个选择指定一个要运行的附加脚本。你可以使用它来编辑/etc/printcap或/etc/issue或者做一些我忘记的其他事情。
与其他解决方案相比,divine 的重点在于其他解决方案通常使用 ping 或类似的东西。 divine 可以瞬间检查大量网络,假设您 ping 的机器在一秒钟内响应(以太网上的正常时间为 0.4 秒)。 ping 一个未知地址无论如何都会执行 arp 请求,那么为什么不首先执行 arp 请求呢?”
来自 Networking-HOWTO : “术语 IP 移动性描述了主机将其网络连接从互联网上的一个点移动到另一个点,而无需更改其 IP 地址或丢失连接的能力。通常,当 IP 主机更改其连接点时,它也必须更改其 IP 地址。 IP 移动性通过为移动主机分配一个固定的 IP 地址并使用 IP 封装(隧道)与自动路由来克服这个问题,以确保发往它的数据报被路由到它当前正在使用的实际 IP 地址。”
Dynamics Mobile IP 是一个用于 Linux 操作系统的动态、分层移动 IP 系统。该实现为 IP 移动性启用了一个分层模型,从而减少了移动主机移动时的位置更新时间。 Dynamics 系统在设计时考虑了无线 LAN 技术,并且该系统针对 WLAN 中的移动性优化了功能。
DHCP 和 BootP 也可用于在不同的环境工作。请参阅 DHCP-HOWTO 。
如何为家庭和工作分别设置 PCMCIA 设备?使用 PCMCIA 方案支持可以很容易地做到这一点。使用两个配置方案,分别称为 home 和 work。有关详细信息,请阅读 PCMCIA-HOWTO 中的相应章节。
我从 Martin J. Evans 那里得到了这个建议:首先要注意的是,如果 init 没有将 name=value 形式的任何参数识别为其他内容,它将把它们作为环境变量赋值。这意味着你可以在你的 rc 脚本运行之前从 LILO 启动提示符设置环境变量。我根据我启动 Linux 时所在的位置设置 LOCATION 环境变量。例如
LILO: linux LOCATION=home |
LILO: linux LOCATION=work |
LILO: linux |
# Linux bootable partition for booting Linux at home # image = /vmlinuz root = /dev/hda3 label = linux read-only # Linux bootable partition config ends # # Linux bootable partition for booting Linux at work # image = /vmlinuz root = /dev/hda3 label = work read-only append="LOCATION=work" # Linux bootable partition config ends |
有了上述功能,你现在可以编辑相关的 rc 脚本来测试 ENVIRONMENT,然后再运行 ifconfig,设置 route 等。
还有一些其他经常被忽视的引导加载程序。除了 LILO 之外,还可以看看 loadlin、CHooseOS (CHOS)(非 GPL)、GRand Unified Bootloader (GRUB)、System Commander,并查看 ftp://metalab.unc.edu/pub/Linux/system/boot/loaders/ 。甚至可以使用 MicroSoft Windows-NT 引导加载程序或 OS/2 引导加载程序。
我从 Steve <steve_AT_cygnet.co.uk> 那里得到一个关于使用外接显示器的 X Windows 配置:请注意,我引入了一个巧妙的技巧!对于我漂亮的 17 英寸显示器,我启动 X11 时不带任何选项,并获得默认的 16 位 1152x864 显示 - 但是当使用 LCD 屏幕时,我指定一个 15 位显示 (startx -- -bpp 15) 并自动获得正确的 800x600 分辨率。这节省了拥有两个 X11 配置文件。
Gerd Bavendiek 撰写的 在不同环境中使用笔记本电脑 。这篇文章发表在 1997 年 8 月的 Linux Gazette 期刊上。这是一篇优秀的简短技术文章,描述了一种简单的方法来设置你的 Linux 笔记本电脑以启动到不同的网络和打印配置,对于那些在家以及其他地点(如办公室、学校或客户现场)使用机器的人特别有用。