我正在使用Red Hat 5.6,并且已经为我的Unix用户配置了VNC,没有任何问题。我可以登录它,它默认是Gnome。KDE安装在机器上,我想使用它。下面是我的~/.vnc/xstartup文件。
我尝试将下面的twm替换为"startkde &“,但不起作用。Gnome似乎是默认的桌面,尽管twm显示在下面,而且即使我更改了它,它也不能工作。即使没有列出桌面,Gnome仍会启动。
有谁知道为什么会发生这种情况,以及我如何启动其他桌面?
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
vncconfig -nowin &
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &发布于 2011-11-13 11:38:52
脚本永远不会到达底部,因为' exec‘会导致当前进程被exec的目标所替换,在本例中是脚本/etc/X11/xinit/xinitrc,它是/etc/X11/Xsession脚本的来源,该脚本反过来执行/etc/X11/Xsession.d的运行部分,并调用默认的x-session-manager,即gnome-session。
发布于 2021-10-11 09:21:38
只需记录一个如何启动KDE (适用于Centos7)的示例,请参见以下内容:
#!/bin/sh
[ -r /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
export LANG
export SYSFONT
vncconfig -iconic &
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
DSKTPSTARTKDE="$(type -p startkde)"
# KDE.
echo "KDE session"
exec "$DSKTPSTARTKDE"下面是在Centos7上启动KDE、MATE或Gnome的更复杂的原件。
#!/bin/sh
[ -r /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
export LANG
export SYSFONT
vncconfig -iconic &
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
OS=`uname -s`
if [ $OS = 'Linux' ]; then
case "$WINDOWMANAGER" in
*gnome*)
if [ -e /etc/SuSE-release ]; then
PATH=$PATH:/opt/gnome/bin
export PATH
fi
;;
esac
fi
## select a desktop preference MATE, KDE, DEFAULT.
# comment out mate to get kde, etc. If not there then will try the next.
#DSKTPMSESSION="$(type -p mate-session)"
DSKTPSTARTKDE="$(type -p startkde)"**
#DSKTPGSESSION="$(type -p gnome-session)"
if [ -n "$DSKTPMSESSION" ]; then
# if MATE run that.
echo "MATE session"
# Start up the standard mate desktop
exec "$DSKTPMSESSION"
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
elif [ -n "$DSKTPSTARTKDE" ]; then
# if MATE isn't installed, try KDE.
echo "KDE session"
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec "$DSKTPSTARTKDE"
elif [ -n "$DSKTPGSESSION" ]; then
################################ !!!!!!!!!!!!!!!!!! doesn't work
# echo "DESKTOP=KDE" > /etc/sysconfig/desktop
# KDE default on montpelier tricky to get back to gnome-classic
# if MATE and KDE isn't installed, try Gnome3 or 2.
echo "Gnome session"
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export GNOME_SHELL_SESSION_MODE=classic
if [ -x /etc/X11/xinit/xinitrc ]; then
exec /etc/X11/xinit/xinitrc
fi
if [ -f /etc/X11/xinit/xinitrc ]; then
exec sh /etc/X11/xinit/xinitrc
fi
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xset r off # switch off key repeat
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
exec "$DSKTPGSESSION"
# below didn't work
# exec "$DSKTPGSESSION --session=gnome-classic"
################ Still shows KDE on montpelier drat!!!!!!!!
else
## else is go with whatever is the standard probably GNOME3 on centos7
## echo "DESKTOP=KDE" > /etc/sysconfig/desktop ;# can switch the default
echo "DEFAULT session"
if [ -x /etc/X11/xinit/xinitrc ]; then
exec /etc/X11/xinit/xinitrc
fi
if [ -f /etc/X11/xinit/xinitrc ]; then
exec sh /etc/X11/xinit/xinitrc
fi
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xset r off # switch off key repeat
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
fihttps://stackoverflow.com/questions/7162488
复制相似问题