VNC 的应用及灰屏鼠标变X问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/parker1234/article/details/41778617

Ubuntu中vnc服务器端的安装很简单,运行如下命令:

$sudo apt-get install vnc4server

第一次启动vncserver后,在用户家目录中会生成.vnc/目录,注意:刚安装完用户家目录中是没有.vnc目录的。服务器中可以在不同的账户中启动不同的display号,客户端登录时需要填写对应的display号登录到对应的账户。如果多个客户端登录同一个display,会看到别人操作的动作,即会争抢鼠标。
默认的配置文件是~/.vnc/xstartup。刚安装完如果不修改配置文件的话,从客户端连接时将看不到完整的桌面,而只有一个Terminal窗口,如下图所示
这是因为默认启用的桌面配置的问题,需要修改配置文件。

1、新用户在服务端申请桌面(display号)

终端 

$vncserver

首次输入vncserver会提示输入vnc登陆密码,设置完成之后,产生如下信息:

New'hp-Compaq-Presario-CQ45-Notebook-PC:1 (hp)' desktop ishp-Compaq-Presario-CQ45-Notebook-PC:1
Starting applications specifiedin /home/hp/.vnc/xstartup
Log file is/home/hp/.vnc/hp-Compaq-Presario-CQ45-Notebook-PC:1.log

主要的意思是vncserver产生了一个新的桌面,其中的:1是端口号,用于vnc客户端远程连接端口的。

并且会根据/home/hp/.vnc/xstartup(即用户主目录下的 .vnc/xstartup)文件的配置进行启动,相关的log运行记录在/hp/.vnc/hp-Compaq-Presario-CQ45-Notebook-PC:1.log

2、修改配置文件
 那么我们需要做的是修改xstartup配置文件,终端下输入以下内容进行编辑:
$ gedit ~/.vnc/xstartup
默认配置文件~/.vnc/xstartup如下:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
 xsetroot -solid grey
 vncconfig -iconic &
 x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
 x-window-manager &

将所有内容替换为一下内容(直接复制粘贴):
<pre name="code" class="plain">#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS  
# 上面这句话在XUbuntu桌面环境下开启vnc的话最好取消注释
#exec /etc/X11/xinit/xinitrc
#上面这行先不要打开
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#gnome-session &
#x-window-manager &
#下面这块主要是针对运用xfce4管理桌面
x-session-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &
 
   
我当时遇到了灰屏并且鼠标变为X状况,后来将上面三行取消注释貌似就ok了!

关于灰屏+鼠标变X号:

sudochmod a+x /etc/X11/xinit/xinitrc

这也是种办法,不知是否是这句话生效了
(你没遇到最好!)

3、运行
$vncserver -kill :1  <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">(1是刚才申请的桌面编号)</span>

PS:注意这里-kill之后需要加空格,本人就是因为漏了空格不仅没有能够成功关闭端口1vncserver,反而又启动了一个新的vncserver端口

操作成功之后会出现如下信息:

Killing Xvnc4 process ID 3913

4、再次运行

$vncserver

在配置完成之后,我们需要重新启动vncserver 得到新的窗口编号(一般和刚才的相同,除非你操作过程中别人也申请了一个)


客户端:


VNC Viewer只需安装Viewer就行,不用安装server,否则需要License;

CNC Server处:IP:窗口号(在服务端得到的,比如1)

密码:在服务端启动nvcserver时候输入的密码




Ubuntu下:

Ubuntu下如果之前没有安装过vncserver的话可以只安装vnc客户端,在终端下输入:

$ sudo apt-get install xvnc4viewer

安装完成之后,如果在本机测试的话输入:

$ vncviewer localhost:1

这里localhost对应本机的ip地址,如果是远程登陆的话将localhost改为要登陆主机的ip地址即可,连接上以后会提示输入密码,输入会出现远程桌面。
远程桌面中Tab键补全功能不能使
方法:直接在远程桌面中设置,打开菜单->设置->窗口管理器,或者在终端中输入xfwm4-settings打开(xfwm4就是xfce4 window manger的缩写)
选择键盘,可以看到窗口快捷键中动作一列有“切换同一应用程序的窗口”选项,将该选项的快捷键清除后关闭窗口即可。


关于vncserver的开机启动
安装vncserver主要是为了能远程操作服务器,但是会有一个问题:如果远程操作时需要将服务器重启,但是服务器重启后如果vncserver不能开机自己启动的话,客户端就无法远程连接到服务器了,这样用起来就非常麻烦了,所以必须想办法让vncserver开机启动。

方法:
在服务器上开启ssh服务并让ssh服务开机启动,这样服务器重启后,先通过ssh连接到服务器,然后通过命令行启动vncserver,然后就可以用vnc客户端连接了。关于Ubuntussh的安装配置与开机启动可以查看:http://www.linuxidc.com/Linux/2013-10/90819.htm

猜你喜欢

转载自blog.csdn.net/parker1234/article/details/41778617
VNC