首页 > 编程知识 正文

vnc如何查看是否被远程控制,linux

时间:2023-05-06 10:35:59 阅读:120934 作者:3916

《VNC介绍》

网络遥控技术是指一台计算机(主控端)控制另一台计算机(主控端),当主控端处于控制端时,就像用户自己坐在被控制端前面进行操作一样。

虚拟网络计算(VNC )是由ATT实验室开发的能够操作远程计算机的软件,采用GPL许可条款,任何人都可以免费获得。 VNC软件主要包括VNC服务器和VNC查看器两部分。 用户必须在主计算机上安装VNC服务器,然后在主计算机上运行VNC查看器控制。

(也是windows上有名的网络远程操作软件之一――Symantec公司发售的pcAnywhere。

VNC server和VNC viewer支持多种操作系统,包括Unix系列(Unix、Linux、Solaris等)、windows和MacOS,因此VNC server和VNC viewer 如果当前运行的主计算机上没有安装VNC查看器,也可以通过常用的web浏览器控制主计算机。

整个VNC的工作流程如下:

(1) VNC客户端通过浏览器或VNC查看器连接到VNC服务器。

(2) VNC Server向客户端发送连接密码和请求输入访问的VNC Server显示装置的对话框。

)3)客户端输入在线密码后,VNC Server验证客户端是否具有访问权限。

)4)如果客户端通过VNC服务器认证,客户端将请求VNC服务器查看桌面环境。

)5) VNC服务器通过x协议要求x服务器由VNC服务器负责画面显示控制权。

)6)将来,VNC Server将使用VNC通信协议从X Server桌面环境发送到客户端,以便客户端控制VNC Server桌面环境和输入设备。

《VNC的安装和使用》

本人操作环境:受控端Redhat9.0,主控端Windows XP。

1 .装载VNC服务器

VNC服务器下载地址: http://gwbn.onlinedown.net/soft/1271.htm

2 .安装。

vnc-3.3.7-x86_linux.tar.gz (源代码时请参阅软件包说明。 下载VNC的Linux版本后,可以将文件解压缩到/home/vnc等文件夹中,然后从VNC服务器的集成Java界面复制文件vncserver、vncpasswd 创建此子目录后,将VNCJava.class文件复制到此目录中。 (一般的redhat 9.0附带上述文件,直接在终端上运行即可。)。

在Linux上启动VNC服务器

运行VNC服务器命令:

[root@Linuxroot]#VNC服务器

youwillrequireapasswordtoaccessyourdesktops。

Password: —-为了让每个人都能自由远程操作这台计算机。 所以第一

验证: -启动VNC服务器一次后,系统会提示您设置网络遥控器密码。

new‘x’desktopislinux :1 -请记住以后将使用此行。

creatingdefaultstartupscript/root/. VNC/x startup

startingapplicationsspecifiedin/root/. VNC/x startup

log file is/root/. VNC/Linux :1.log

(经过上述步骤,VNC服务器启动了。 如果想更改VNC服务器的密码,可以运行vncpasswd命令。 )

5 .通过浏览器远程操作。

启动VNC Server直接打开浏览器,在地址栏中输入被控制方的地址或IP地址,在地址后加上“: 5800显示号码”的端口号即可操作这台计算机。

例如,http://192.168.01.5801 (如果显示编号为1,则通常最初设置的显示编号为1,则使用5800 1=5801 )。 )

看看窗口,就说明你成功了。 只要在密码框中输入密码,就可以远程操作。

6 .常见问题解答

a .如何通过图形界面登录被控方?

~/.编辑VNC/x startup

#! 傲娇害羞/sh

# uncommentthefollowingtwolinesfornormaldesktop :

# unset SESSION_MANAGER

# exec /etc/X11/xinit/xinitrc

[-x/etc/VNC/x startup ] exec/etc/VNC/x startup

[ -r $HOME/.Xresources ]

&& xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
gnome-session &
startkde &
twm &

gnome-session是启动Gnome图形界面;startkde是启动KDE图形界面;twm是启动文本界面。三者选其一。

A. 如何开机时自动启动vnc服务

打开“系统设置”–>”服务器设置”–>”服务”,勾选上vncserver,“保存”。

修改 /etc/sysconfig/vncservers

VNCSERVERS=”1:root 2:phred 3:sysadmin” 1代表“桌面1”,root代表用户名;可同时启动多个用户桌面
VNCSERVERARGS[1]=”-geometry 800×600 -alwaysshared -depth 24″

-alwaysshared代表允许多用户同时登录 -depth代为色深,参数有8,16,24,32。


A.为什么连接后,不能显示桌面,而只有一个Terminal窗口?
试着修改/root/.vnc/xstartup,把最后一行 twm& 改成 gnome-session& or kde&(据说KDE在目前的VNC Viewer上的表现不太稳定)

B. 为什么重新启动VNC Server后,连接不上了?
因为重新启动VNC Server时,系统会指定一个新的显示编号,需使用此新的编号,否则就无法连接

——————————————————————————————————————————–

查看vnc已启用的桌面号及监听进程

[root@linux /]# netstat -tlnp |grep vnc

vncserver 命令带有一些很有用的参数,用vncserver –help 查看。
简单解释一下:
vncserver [:] [-name ] [-geometry x] [-depth ]
[-pixelformat format]
vncserver -kill :display

:
vnc服务的display号,可以自行指定,尽量不要使用系统默认的以保证安全,必须为非0的正整数
vncserver :99
使用时必须输入正确的display号才能连接;用浏览器要在端口号加上display号,默认端口5800,远程连接输入 XXX.XXX.XXX.XXX:5899

-name 指定vncserver桌面名字
比如要让名字显示为 “红帽”
vncserver -name 红帽

-geometry x指定显示桌面的分辨率,默认为1024×768
vncserver -geometry 800×600
这个命令实际中很有用,例如本地分辨率为1024×768 如果不设定远程vnc服务分辨率就会造成桌面显示不全的问题。

-depth 指定显示颜色,设定范围8~32
vncserver -depth 16
用16bits颜色显示

-pixelformat 指定色素格式 与-depth大致相同,只是表示方法不一样
vncserver -pixelformat RGB888
用24bits颜色显示

vncserver -kill :display
结束vnc服务及远程桌面
vncserver -kill :1
其它更详细的使用请用man查看。

vnc内定的窗口管理器是twm与大家使用的可能不同,通过修改vnc的配置文件可以更换为自己喜欢的,方法如下:
修改用户目录下的 .vnc/xstartup 文件
#!/傲娇的含羞草/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
twm &
将#!/傲娇的含羞草/sh后面的内容全部注释掉,改成
~/.Xclients
保存文件
现在可以测试修改是否成功,先kill vncserver服务
vncserver -kill :

pa aux|grep Xvnc
kill PID
重新启动vncserver ,用vncviewer连接远程桌面是不是已经变成自己喜欢的类型了。

在前面有vnc server 设置的文章(http: //bbs.chinaunix.net/forum/viewtopic.php?t=368552&highlight=yunqing) 里, 我们已经可以在一个linux的服务器上运行vncserver来进行远程访问了,但需要注意的是,如果直接使用vncviewer来进行访问,有 两点不利因素:
1. 口令传输是明文,很容易被侦听到.
2. 防火墙需要打开59xx端口,这在通常的单位里是不可能的.
幸运的是,我们有ssh这个强大的工具,象X11 Forwarding(另文论述),我们可以使用ssh隧道来保护通讯过程,下面就进行简单介绍.

假设vncserver运行在服务器 myserver (ip地址为:192.168.x.x)的屏幕1,也就是侦听 192.168.x.x:5901, 用户名为foo

情形一: vnc客户端为linux
这种情形很简单,一般的linux发行版本里面都默认安装了ssh套件.
1. 用ssh登录到服务器

ssh -L 5901:localhost:5901 -l foo myserver

或者直接用ip地址

ssh -L 5901:localhost:5901 -l foo 192.168.x.x

2. 在本机的另外开的终端上,运行vncviewer (或其它的类似工具)
vncviewer localhost:1

情形二: vnc客户端为windows
1. 下载一个ssh客户端,个人推荐putty,只有一个程序,不需要安装,简单而功能齐全. 到这里下载http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
下载putty.exe到桌面上直接运行即可。
2. 运行putty,输入服务器的ip地址,输入一个名字,这里myserver作为session的名字,按save保存。见附图一
3. 单击对话框左边的tunnels来选择相关设置,在source port里输入5901,在Destination里输入localhost:5901,按Add添加,如附图二
4. 单击左边session,回到session设置,按save重新保存。按open即可登录到服务器。
5. 运行vnc-viewer (如果没有,到这里下载http://www.realvnc.com/download.html,只要一个 exe的文件就行),在Server里输入localhost:1,见附图三, 输入口令后一个linux的桌面就会出现在windows里,并且是非常 安全的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。