分享
 
 
 

轻松切换X窗口管理器

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

在Linux下使用X-Window,当你也象Lanche一样在系统中安装了七八个窗口管理器时,是否也为选择启动哪一个管理器而伤脑筋呢?因为还没有在启动X-Window时可以选择使用哪一个窗口管理器的好工具,而且只有极少数的窗口管理器提供直接切换到其它界面的功能,比如在mlvwm中可能通过菜单操作来直接启动进入icewm,而反之在icewm中却不能直接切换回mlvwm;虽然许多Linux发行套件都带有的KDE和Gnome这两个杰出的桌面操作环境可以利用swithdesk工具来实现切换,但在切换后仍须重启动X会话才能进入新的桌面环境。

要在启动X-Window时可以选择使用哪一个窗口管理器,其实最简单的做法就是修改用户主目录下的.xinitrc文件,利用它来控制启动哪一个窗口管理器,这样做既容易又不会影响到其它X资源文件或系统的其它用户。可是每次启动不同的窗口管理器时都要手动修改.xinitrc文件是不太可取的,为了一劳永逸Lanche就写了一个叫做xwin的脚本,通过运行这个脚本就可以在每次运行X-Window时任意选择想要启动的Window Manager了。

xwin脚本的清单附后,在此先作一个简要说明:

清单中的行号只是用于阅读,在真正的脚本中是没有行号的;007-014行在首次运行本脚本时备份你的.xinitrc文件;016-063行的Functions段有两个函数,writerc( )函数将“<< RCFILE”和“RCFILE”之间的HERE文本写入$HOME/.xinitrc,它是用于运行位于$HOME/Desktop/Autostart的启动组程序的语句,并非是必须的;getchose( )函数则是显示选择菜单;065-144行判断用户输入的选择动态地修改$HOME/.xinitrc文件然后启动相应的窗口管理器,如果选择了系统中还没有安装的窗口管理器则会给出错误提示。

小技巧:利用此脚本,你还可以同时在一台机子的七号及八号虚拟控制台上运行两个完全不同的X-Window Manager。

xwin脚本清单:

001 #!/bin/sh

002 #

003 # xwin This script display a text menu and allow you to select

004 # which X-Window Manager you want to use

005 # Author: Lanche , < lanche@163.com >

006 #

007 # Backcup your $HOME/.xinirtc file while run this

008 # script first time

009 #

010 if [ -f $HOME/.xinitrc~ ];then

011 echo

012 else

013 cp $HOME/.xinitrc $HOME/.xinitrc~

014 fi

015 #

016 # Functions

017 #

018 writerc( ) {

019 tee $HOME/.xinitrc << RCFILE

020 #!/bin/sh

021 #

022 # This file writed by the xwin script

023 #

024 # Start-up items from ~/Desktop/Autostart

025 #

026 for i in \$(ls \$HOME/Desktop/Autostart/); do

027 if test -x \$HOME/Desktop/Autostart/\$i; then

028 \$HOME/Desktop/Autostart/\$i &

030 fi

031 done

032 #

033 # And launch window manager

034 #

035 RCFILE

036 }

037 #

038 getchose( ) {

039 clear

040 echo

041 echo

042 echo

043 echo

044 echo

045 echo

046 echo ' ################################################'

047 echo ' # #'

048 echo ' # 你想使用哪一个窗口管理器? #'

049 echo ' # #'

050 echo ' # #'

051 echo ' # 1 --- kde #'

052 echo ' # 2 --- xfce #'

053 echo ' # 3 --- icewm #'

054 echo ' # 4 --- mlvwm #'

055 echo ' # 5 --- Fvwm95 #'

056 echo ' # 6 --- AfterStep #'

057 echo ' # #'

058 echo ' # #'

059 echo ' ################################################'

060 echo

061 echo -n ' 请选择:'

062 }

063 # End of Functions

064 #

065 getchose

066 read CHOSE

067 #

068 #Start the selected X-window manager

069 #

070 case $CHOSE in

071 1)

072 echo 'You chosed kde'

073 if [ -f `which kde` ];then

074 writerc

075 echo 'startkde' >> $HOME/.xinitrc

076 echo 'Starting kde...'

077 startx

078 else

079 echo 'KDE is not installed on your system!'

080 fi

081 ;;

082 2)

083 echo 'You chosed xfce'

084 if [ -f `which xfce` ];then

085 writerc

086 echo 'exec xfwm' >> $HOME/.xinitrc

087 echo 'Starting xfce...'

088 startx

089 else

090 echo 'XFCE is not installed on your system!'

091 fi

092 ;;

093 3)

094 echo 'You chosed icewm'

095 if [ -f `which icewm` ];then

096 writerc

097 echo 'xsetbg -onroot /root/wall.jpg &' >> $HOME/.xinitrc

098 echo 'exec icewm' >> $HOME/.xinitrc

099 echo 'Starting icewm...'

100 startx

101 else

102 echo 'Icewm is not installed on your system!'

103 fi

104 ;;

105 4)

106 echo 'You chosed mlvwm'

107 if [ -f `which mlvwm` ];then

108 writerc

109 echo 'cd /usr/X11R6/lib/X11/mlvwm' >> $HOME/.xinitrc

110 echo 'xsetbg -onroot /usr/X11R6/lib/X11/mlvwm/mac.jpg &'>> $HOME/.xinitrc

111 echo 'exec mlvwm' >> $HOME/.xinitrc

112 echo 'Starting mlvwm...'

113 startx

114 else

115 echo 'Mlvwm is not installed on your system!'

116 fi

117 ;;

118 5)

119 echo 'You chosed fvwm95'

120 if [ -f `which fvwm95` ];then

121 writerc

122 echo 'exec fvwm95' >> $HOME/.xinitrc

123 echo 'Starting fvwm95...'

124 startx

125 else

126 echo 'fvwm95 is not installed on your system!'

127 fi

128 ;;

129 6)

130 echo 'You chosed AfterStep'

131 if [ -f `which afterstep` ];then

132 writerc

133 echo 'exec afterstep' >> $HOME/.xinitrc

134 echo 'Starting AfterStep...'

135 startx

136 else

137 echo 'AfterStep is not installed on your system!'

138 fi

139 ;;

140 *)

141 echo 'No one was chosed.'

142 esac

143 #

144 exit 0

145 #

146 # End of the script

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有