linux下利用vncviewer管理其他机器

2013年9月16日 发表评论 阅读评论

同远程桌面一样,vnc也是经常用到的一个管理工具。尽管vnc本身有很多缺点,但由于其跨平台,小巧,开源等特性,所以其目前仍是在windows和linux之间远程控制上非常流行的一个工具。之前都是都在windows下连接linux或windows ,但现在由于将desktop桌面环境换成了linux了,所以就有了在linux通过vnc连接linux或都windows机器的需求 。在linux上实现更加简单,具体如下 。

同rdesktop一样,在linux下我使用vncviewer命令行工具连接 (在linux下虽然有图形化的工具,但是个人感觉使用终端命令操作更为方便 )。这里以linux mint为例 。

一、安装vncviewer及使用

yang@yang-MS-7636 ~ $ sudo apt-get install vncviewer
[sudo] password for yang:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
注意,选取 xtightvncviewer 而非 vncviewer
建议安装的软件包:
  tightvncserver ssh
下列【新】软件包将被安装:
  xtightvncviewer
……………………………………………………省略

安装完成后,可以通过--help查看该命令的用法:

yang@yang-MS-7636 ~ $ vncviewer --help
TightVNC Viewer version 1.3.9
Usage: vncviewer [<OPTIONS>] [<HOST>][:<DISPLAY#>]
       vncviewer [<OPTIONS>] [<HOST>][::<PORT#>]
       vncviewer [<OPTIONS>] -listen [<DISPLAY#>]
       vncviewer -help
<OPTIONS> are standard Xt options, or:
        -via <GATEWAY>
        -shared (set by default)
        -noshared
        -viewonly
        -fullscreen
        -noraiseonbeep
        -passwd <PASSWD-FILENAME> (standard VNC authentication)
        -encodings <ENCODING-LIST> (e.g. "tight copyrect")
        -bgr233
        -owncmap
        -truecolour
        -depth <DEPTH>
        -compresslevel <COMPRESS-VALUE> (0..9: 0-fast, 9-best)
        -quality <JPEG-QUALITY-VALUE> (0..9: 0-low, 9-high)
        -nojpeg
        -nocursorshape
        -x11cursor
        -autopass

先根据帮助连接一台机器进行测试:

vncviewer  192.168.30.88::5915

以上在未使用OPTIONS参数时进行的连接,连接后,会要求输入密码,登陆完成后才能进行下一步的操作 。我这人最懒,即然有-passwd参数当然要用上,最好把这个命令脚本化,执行一下脚本就可以连接到相应的server 上 。

由于vncviewer后面的-passwd不支持明文密码。使用明文密码时会报错,具体如下:

yang@yang-MS-7636 ~/autologin $vncviewer -passwd kaoqin 192.168.30.88::5915
Connected to RFB server, using protocol version 3.8
Performing standard VNC authentication
Authentication failed

这就要另外一个工具vncpasswd工具生成vnc能识别的密码文件 。

二、vncpasswd的安装及自动登陆

vncpasswd并不是一个单独的一个包,其是包含在vncserver包中的,具体安装如下:

yang@yang-MS-7636 ~/autologin $ sudo apt-get install vncpasswd
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 未发现软件包 vncpasswd
yang@yang-MS-7636 ~/autologin $ sudo apt-get install tightvncserver
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
建议安装的软件包:
  tightvnc-java
下列【新】软件包将被安装:
  tightvncserver
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 84 个软件包未被升级。
……………………………………………………省略

上面我直接安装时会报错,提示不存在该包,安装完tightvncserver后就有vncpasswd命令了。接下来就可以通过vncpasswd生成密码文件 ,并通过脚本自动登陆了:

yang@yang-MS-7636 ~/autologin $ vncpasswd ~/autologin/kaoqin
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
yang@yang-MS-7636 ~/autologin $ cat vncviewer.sh
#!/bin/bash
vncviewer -passwd kaoqin 192.168.30.88::5915
yang@yang-MS-7636 ~/autologin $ sh vncviewer.sh
Connected to RFB server, using protocol version 3.8
Performing standard VNC authentication
Authentication successful
Desktop name "QEMU (winxp_kaoqin)"
VNC server default format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Warning: Cannot convert string "-*-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*" to type FontStruct
Using default colormap which is TrueColor.  Pixel format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
…………………………………………省略

注:

1、如果有多个server需要通过vnc进行连接,可以将脚本略作修改,通过定义函数、设置变量、参数、通过switch……case语句(或if语句)实现自动登陆。

2、如果想使用图形化的连接工具,可以使用Remote Desktop Viewer之类的工具进行连接 。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.