Linux Red Hat 5.6 和 VNC:KDE 和 Gnome

问题描述 投票:0回答:3

我正在使用 Red Hat 5.6,并且我已经为我的 Unix 用户配置了 VNC,没有任何问题。我能够登录它,它默认为 Gnome。机器上安装了 KDE,我想使用它。下面是我的 ~/.vnc/xstartup 文件。

我尝试用“startkde &”替换下面的twm,但它不起作用。尽管下面显示了 twm,但 Gnome 似乎是默认桌面,即使我更改了它,它也不起作用。即使没有列出桌面,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 &
linux gnome vnc kde-plasma
3个回答
3
投票

脚本永远不会到达底部,因为“exec”导致当前进程被 exec 的目标替换,在本例中是脚本 /etc/X11/xinit/xinitrc,它源自 /etc/X11 /Xsession 脚本,依次执行 /etc/X11/Xsession.d 的运行部分,调用默认的 x-session-manager,即 gnome-session。


0
投票

仅记录一个如何启动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 &
fi

0
投票

只是想补充一点,在将 exec 放在配置文件的底部之后,这在我的 rhel9 上有效。

#!/bin/sh

对于普通桌面,取消注释以下两行:

取消设置SESSION_MANAGER vncconfig -nowin &

[ -x /etc/vnc/xstartup ] && 执行 /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot - 纯灰色 vncconfig - 标志性的 & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP 桌面" & TWM &

执行/etc/X11/xinit/xinitrc

© www.soinside.com 2019 - 2024. All rights reserved.