• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在Linux中方便地使用不同X-Windows窗口管理器

发布: 2007-7-01 23:30 | 作者: admin | 来源: | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网    X Windows 是 Linux 和许多其它 Unix 系统使用的、与 Microsoft Windows类似的图形窗口系统,在许多发行的 Linux 版本中包括的 X11 是 X Windows 的一个版本,主要支持各种 intel x86 平台的unix系统,与 Microsoft Windows 不同的是它被设计成网络化的客户机/服务器程序,窗口管理器只是一种运行在 X11服务器上的客户程序,因此,可以有许多风格各异的窗口管理器,用户能够根据自己的喜好任意选择一种来管理自己的屏幕窗口和程序。在 RedHat Linux 5.1中自带了 fvwm2(默认)、frwm、twm、motif等窗口管理器,笔者又安装了流行的 kde和独特的 enlighte,经常根据具体需要启动不同的管理器,但是,选择的灵活性也带来了操作上的不便,启动各种管理器要用不同的方法,有时还需要改动配置文件,十分麻烦,为了能够方便的使用各种窗口管理器,我修改了系统默认的 X 窗口管理器启动程序 startx,利用命令行参数方便地启动不同的窗口管理器,具体方法如下:

   编辑 /usr/X11/bin/startx,在下面语句:

whoseargs="client"
while [ "x$1" != "x" ]; do
case "$1" in
/@#@#*|\.*) if [ "$whoseargs" = "client" ]; then
clientargs="$1"
else
serverargs="$1"
fi ;;
--) whoseargs="server" ;;
*) if [ "$whoseargs" = "client" ]; then
clientargs="$clientargs $1"
else
serverargs="$serverargs $1"
fi ;;
esac
shift
done
xinit $clientargs -- $serverargs

   之前的任一空处(不要写在控制语句块内和程序开头)插入以下语句:

case "$1" in
"kde") if [ -r "/etc/X11/xinit/Xclients.kde" ]; then
cp /etc/X11/xinit/Xclients.kde $HOME/.Xclients
fi ;;
"mwm") if [ -r "/etc/X11/mwm/Xclients" ]; then
cp /etc/X11/mwm/Xclients $HOME/.Xclients
fi ;;
"twm") if [ -r "/etc/X11/twm/Xclients" ]; then
cp /etc/X11/twm/Xclients $HOME/.Xclients
fi ;;
*) if [ -r "/etc/X11/xinit/Xclients" ]; then
cp /etc/X11/xinit/Xclients $HOME/.Xclients
fi ;;
esac

   上面用到的 /etc/X11/twm/Xclients 程序是笔者为启动 twm 编写的,内容如下:

#!/bin/bash
xpmroot /usr/X11R6/include/X11/pixmaps/rhpenguin.xpm
xterm -title "Hello,welcome to twm!" &
exec twm

   仿照这个 Xclients 程序可以编写未提供 Xclients 的其它窗口管理器的Xclients 程序。

   根据具体情况修改、增加 case 选项即可满足不同需要。

   修改后程序的运行方法为:startx [ kde | mwm | twm ],例如:运行startx kde 命令即可启动 kde,运行不带参数的 startx 命令启动系统默认的fvwm95。

---- 以上程序在 RedHat Linux 5.1 中运行通过。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网