最近在ubuntu服务器上console跑matlab脚本,但还要用图形化手动处理数据,来回传数据文件太大,太麻烦,因此在ubuntu server上安装一个gnome桌面。步骤如下:

1.在ubuntu上安装vncserver,使用命令:sudo apt-get install vnc4server
2.开启vnc服务,输入命令:vncserver ,首次启动会要求设置密码,后面可以使用 vncpasswd 修改;
看到 New ‘:1 ()’ desktop is :1 (代表主机名)即表示启动vnc成功,在主目录下产生一个.vnc目录;
但是,这个页面是vncserver默认使用的窗口管理器是twm,这是一个很简陋的窗口管理器,下面我们把桌面改成GNOME或KDE。
3.下面我们开始安装gnome桌面环境
(1)安装x-windows的基础 :

sudo apt-get install x-window-system-core

(2)安装登录管理器:(还可以为kdm/xdm)

sudo apt-get install gdm

(3)安装Ubuntu的桌面:(还可以为Kubunut-desktop/ Xubuntu-desktop )

sudo apt-get install ubuntu-desktop

(4)安装命令: 可以安装GNOME的一些基础。

sudo apt-get install gnome-core

4.备份原有xstartup文件:

 cp ~/.vnc/xstartup ~/.vnc/xstartup.bak

下面我们需要修改vnc启动文件,使用命令:vi ~/.vnc/xstartup

\#!/bin/sh def export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS

gnome-panel & gnome-settings-daemon & metacity & nautilus &
gnome-terminal &

  1. 输入命令:vncserver -kill :1 杀掉原桌面进程, 再次输入:vncserver :1 生成新的会话。可加geometry参数更改分辨率vncserver :1 -geometry 1366x768
  2. 将vncserver安装到service
    (1)建立启动文件sudo vi /etc/init.d/vncserver,配置如下:

\#!/bin/bash
\### BEGIN INIT INFO
\# Provides: VNCSERVER
\# Required-Start: $remote_fs $syslog
\# Required-Stop: $remote_fs $syslog
\# Default-Start: 2 3 4 5
\# Default-Stop: 0 1 6
\# Short-Description: Start daemon at boot time
\# Description: Enable service provided by daemon.
\### END INIT INFO unset VNCSERVERARGS VNCSERVERS="" [ -f /etc/vncservers.conf ] && . /etc/vncservers.conf prog=$"VNC server"
start() { . /lib/lsb/init-functions REQ_USER=$2 echo -n $"Starting
$prog: " ulimit -S -c 0 >/dev/null 2>&1 RETVAL=0 for display in
${VNCSERVERS} do export USER="${display##*:}" if test -z
"${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then echo -n "${display}
" unset BASH_ENV ENV DISP="${display%%:*}" export
VNCUSERARGS="${VNCSERVERARGS[${DISP}]}" su ${USER} -c "cd ~${USER} &&
[ -f .vnc/passwd ] && vncserver :${DISP} ${VNCUSERARGS}" fi done }
stop() { . /lib/lsb/init-functions REQ_USER=$2 echo -n $"Shutting
down VNCServer: " for display in ${VNCSERVERS} do export
USER="${display##*:}" if test -z "${REQ_USER}" -o "${REQ_USER}" ==
${USER} ; then echo -n "${display} " unset BASH_ENV ENV export
USER="${display##*:}" su ${USER} -c "vncserver -kill :${display%%:*}"

/dev/null 2>&1 fi done echo -e "\n" echo "VNCServer Stopped" } case "$1" in start) start $@ ;; stop) stop $@ ;; restart|reload) stop
$@ sleep 3 start $@ ;; condrestart) if [ -f /var/lock/subsys/vncserver
]; then stop $@ sleep 3 start $@ fi ;; status) status Xvnc ;;
*) echo $"Usage: $0 {start|stop|restart|condrestart|status}" exit 1 esac

(2)赋予执行权限

sudo chmod +x /etc/init.d/vncserver 

(3)建立配置文件

sudo vi /etc/vncservers.conf
VNCSERVERS="1:krizna 2:bobby" VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"

这样用户krizna就可以使用IP:1,而用户bobby就可以使用IP:2了。

(4)开机启动:sudo update-rc.d vncserver defaults

现在就可以使用sudo /etc/init.d/vncserver start 以及(stop, restart) 等命令了。

注:登录后有可能会有快捷键问题,如按"d"显示桌面,按"s"显示系统菜单,按"up, down"最大小化等。解决方法如下:
(在本机输入命令,VNC登录后,粘贴到命令行)
打开配置编辑器dconf-editor ,找到org->gnome->desktop->wm->keybindings,在右侧删除所有带Super的快捷设置,然后断开vnc,并重启vnc服务即可。

标签: ubuntu, 桌面, gnome

添加新评论