[问题]一个关于.xinitrc的问题(startx 的问题)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
chasye
帖子: 333
注册时间: 2007-05-13 15:20

[问题]一个关于.xinitrc的问题(startx 的问题)

#1

帖子 chasye » 2007-09-12 12:01

以下是本人的.xinitrc(没有安装gdm)
#!/bin/sh
MSLUGX()
{
gngeo mslugx -f
}

ICEWM()
{
cat ~/.icewm/gtkrc-2.0 > ~/.gtkrc-2.0
xrandr -s 0 &
scim -d &
/usr/bin/icewm-session
}

XFCE()
{
if [ -e ~/.gtkrc-2.0 ]; then
echo "" > ~/.gtkrc-2.0
fi
. /etc/X11/Xsession
}

export LANG="zh_CN.UTF-8"
export LANGUAGE="zh_CN:zh_TW:zh:en_US:en"
#sleep 3 && mpg123 /home/chao/.local/sound/startup.mp3 &

XFCE
#ICEWM
#MSLUGX

exit 0
#end

不过这样问题就出来了,每次要进入不同的桌面(模式)都是通过改.xinitrc,非常麻烦,不知道可不可以在startx 时直接传个参数过去,让它选择呢?
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#2

帖子 bones7456 » 2007-09-12 18:33

同问。
关注我的blog: ε==3
雕啸长空
帖子: 1897
注册时间: 2006-09-12 14:09

#3

帖子 雕啸长空 » 2007-09-12 18:52

搞参数多麻烦,还不如做好几个对应的xinitrc,再建对应WM的启动脚本,里面直接copy盖掉当前的...不需要什么技术含量........

PS:不要鄙视菜鸟......

代码: 全选

#!/bin/bash
cp /xxx/xinitrc_kde  ~/.xinitrc && startx

代码: 全选

#!/bin/bash
cp /xxx/xinitrc_gnome  ~/.xinitrc && startx

代码: 全选

#!/bin/bash
cp /xxx/xinitrc_xfce  ~/.xinitrc && startx
Fair winds and following seas !
雕啸长空
帖子: 1897
注册时间: 2006-09-12 14:09

#4

帖子 雕啸长空 » 2007-09-12 20:01

装了个fluxbox,试了个更土的办法:

代码: 全选

startx startkde  <--启动kde
startx fluxbox    <--启动fluxbox

代码: 全选

fideas@zerone ~ $ cat .xinitrc
source /home/fideas/env/envset &&
exec  $@

代码: 全选

fideas@zerone ~ $ cat env/envset
export LANG="en_US.UTF-8"
export LC_CTYPE="zh_CN.UTF-8"
export XMODIFIER="@im=fcitx"
export XMODIFIERS="@im=fcitx"
fcitx &
自己写个条件判断,简化后面那个恶心的参数?
Fair winds and following seas !
头像
jarryson
帖子: 4002
注册时间: 2005-08-14 19:53

#5

帖子 jarryson » 2007-09-12 21:26

这个想法我也想过。因为我用slim代替gdm。因为不用gnome所以没有必要用gdm。

slim是通过.xinitrc来启动x的。但是没有办法更改wm。

exec /bin/bash -login ~/.xinitrc %session

这个是slim里面启动的脚本。应该是可以通过定义%session来启动session的。可惜我还是不会
chasye
帖子: 333
注册时间: 2007-05-13 15:20

#6

帖子 chasye » 2007-09-13 15:44

以下是本人刚写的脚本,与上面的脚本一起用的, 以后算是不用手动改了
#!/bin/sh
FILE=~/.xinitrc

case $1 in
xfce)
perl -pi -e 's/^ICEWM$/#ICEWM/' $FILE
perl -pi -e 's/^MSLUGX$/#MSLUGX/' $FILE
perl -pi -e 's/#XFCE/XFCE/' $FILE
;;
icewm)
perl -pi -e 's/^XFCE$/#XFCE/' $FILE
perl -pi -e 's/^MSLUGX$/#MSLUGX/' $FILE
perl -pi -e 's/#ICEWM/ICEWM/' $FILE
;;
game)
perl -pi -e 's/^ICEWM$/#ICEWM/' $FILE
perl -pi -e 's/^XFCE$/#XFCE/' $FILE
perl -pi -e 's/#MSLUGX/MSLUGX/' $FILE
;;
*) echo "Unknown Option"
exit 0
;;
esac
startx
exit 0
回复