熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

輕松切換X窗口管理器

2013-11-13 15:46:31  來源: Oracle 

  在Linux下使用XWindow當你也象Lanche一樣在系統中安裝了七八個窗口管理器時是否也為選擇啟動哪一個管理器而傷腦筋呢?因為還沒有在啟動XWindow時可以選擇使用哪一個窗口管理器的好工具而且只有極少數的窗口管理器提供直接切換到其它界面的功能比如在mlvwm中可能通過菜單操作來直接啟動進入icewm而反之在icewm中卻不能直接切換回mlvwm雖然許多Linux發行套件都帶有的KDE和Gnome這兩個傑出的桌面操作環境可以利用swithdesk工具來實現切換但在切換後仍須重啟動X會話才能進入新的桌面環境
  
  
  要在啟動XWindow時可以選擇使用哪一個窗口管理器其實最簡單的做法就是修改用戶主目錄下的xinitrc文件利用它來控制啟動哪一個窗口管理器這樣做既容易又不會影響到其它X資源文件或系統的其它用戶可是每次啟動不同的窗口管理器時都要手動修改xinitrc文件是不太可取的為了一勞永逸Lanche就寫了一個叫做xwin的腳本通過運行這個腳本就可以在每次運行XWindow時任意選擇想要啟動的Window Manager了
  xwin腳本的清單附後在此先作一個簡要說明
  清單中的行號只是用於閱讀在真正的腳本中是沒有行號的行在首次運行本腳本時備份你的xinitrc文件行的Functions段有兩個函數writerc( )函數將<< RCFILE”和“RCFILE”之間的HERE文本寫入$HOME/.xinitrc,它是用於運行位於$HOME/Desktop/Autostart的啟動組程序的語句,並非是必須的;getchose( )函數則是顯示選擇菜單;065-144行判斷用戶輸入的選擇動態地修改$HOME/.xinitrc文件然後啟動相應的窗口管理器,如果選擇了系統中還沒有安裝的窗口管理器則會給出錯誤提示。tw.WIngWIT.com
  
  
  小技巧:利用此腳本,你還可以同時在一台機子的七號及八號虛擬控制台上運行兩個完全不同的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 , < >
  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
   echo Starting xfce
   startx
   else
   echo XFCE is not installed on your system!
   fi
   ;;
   )
   echo You chosed icewm
   if [ f `which icewm` ];then
   writerc
   echo xsetbg onroot /root/walljpg & >> $HOME/xinitrc
   echo exec icewm >> $HOME/xinitrc
   echo Starting icewm
   startx
   else
   echo Icewm is not installed on your system!
   fi
   ;;
   )
   echo You chosed mlvwm
   if [ f `which mlvwm` ];then
   writerc
   echo cd /usr/XR/lib/X/mlvwm >> $HOME/xinitrc
   echo xsetbg onroot /usr/XR/lib/X/mlvwm/macjpg &>> $HOME/xinitrc
   echo exec mlvwm >> $HOME/xinitrc
   echo Starting mlvwm
   startx
   else
   echo Mlvwm is not installed on your system!
   fi
   ;;
   )
   echo You chosed fvwm
   if [ f `which fvwm` ];then
   writerc
   echo exec fvwm >> $HOME/xinitrc
   echo Starting fvwm
   startx
   else
   echo fvwm is not installed on your system!
   fi
   ;;
   )
   echo You chosed AfterStep
   if [ f `which afterstep` ];then
   writerc
   echo exec afterstep >> $HOME/xinitrc
   echo Starting AfterStep
   startx
   else
   echo AfterStep is not installed on your system!
   fi
   ;;
   *)
   echo No one was chosed
   esac
   #
   exit
   #
   # End of the script
  

From:http://tw.wingwit.com/Article/program/Oracle/201311/17287.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.