2008年4月7日星期一

vino 远程控制已有的 X

前面的输出中说道 vino 是 gnome 的 VNC server,这其实是说它是 GNOME 的子项目,事实上你不在 GNOME 里面一样可以用 vino。我们观察一下下面的命令,这里仅仅列出了感兴趣的东西:
...
/usr/lib/bonobo/servers
/usr/lib/bonobo/servers/GNOME_RemoteDesktop.server
/usr/lib/vino
/usr/lib/vino/vino-server
/usr/bin
/usr/bin/vino-preferences
...
/usr/share/doc/vino/changelog.Debian.gz
/usr/share/doc/vino/README
/usr/share/doc/vino/copyright
/usr/share/doc/vino/AUTHORS
/usr/share/doc/vino/NEWS.gz
/usr/share/doc/vino/changelog.gz
...
/usr/share/applications/vino-preferences.desktop
...
/usr/share/vino/vino-prompt.glade
/usr/share/vino/vino-preferences.glade
/usr/share/gconf
/usr/share/gconf/schemas
/usr/share/gconf/schemas/vino-server.schemas
我们依次来研究这些文件是什么。如果你需要急着用 vino,那么直接运行 vino-preferences 设定密码等参数,然后 /usr/lib/vino/vino-server 打开它就好了。默认情况下它使用和 VNC 一样的端口。

我们看见了一个叫 bonobo 的东西,在 libbonobo2-common 里面解释道它是 a set of language and system independent COBRA interfaces for creating reusable components, controls and creating compound documents,该库是 gtk+ 上的一个实现,因此这是 vino 成为 GNOME 一个组件的方式。后面将研究这种关系的细节。通过对 vino-server 使用 ldd 就能看见它的确与 libbonobo 进行了连接。

在 vino-preferences.desktop 里面可以看见很多 name 和 comment,这是根据不同的 locale 设定的。而 /usr/share/applications 就是用来存放这些“快捷方式”的。

两个 glade 文件表明 vino 本身很可能利用了 glade 来动态的产生界面,这是 gkt+ 的一个很有意思的地方,和 Qt 使用 Qt-designer 设计界面类似,glade 是 gkt+ 的界面设计程序,存下来的 glade 文件被 libglade 解析,动态的产生界面。

最后是 gconf,根据 libgconf-dev 的解释,gconf 用于用于存储应用程序配置的一个数据库,这样我们就知道 vino 所存储的密码信息其实应该是通过 gconf 放在了某处。GNOME 的程序可以通过它获得较为一致的存储风格,具体我们会在后面分析。

好,既然有了 x0vncserver,那么为什么还要有 vino 呢?我们可以尝试一下两者是否可以替换。首先通过 vncpasswd 设置密码,然后打开 x0vncserver,

$ x0vncserver PasswordFile=~/.vnc/passwd
这时可以用 vncviewer 连接到该服务器,同样,对于 vino 而言设置好后也可以。又比如打开后通过 xrdp 的 libvnc.so 都可以正常工作。因此两者实现了相同的功能。但是 x0vncviewer 不允许使用长度超过 8 的密码,不知道 vino 是否取消了该规定。如果怕 VNC 协议上没考虑这个问题,那么可以用 x0vncviewer 关闭非 localhost 的连接,而仅仅使用 xrdp 的认证,由于 xrdp 使用了加密的隧道,因此要安全一些。vino 似乎没有多少帮助文件,仅仅只能通过 vino-preferences 来设置。在 2.22 以前的版本 vino 没提供完整的设置功能。现在用起来倒是差不多了,如果你不讨厌 vino-server 连接上的 N 个 so,习惯了 GNOME 环境,那么用 vino 也未尝不可。个人倾向于 x0vncserver,因为它提供的功能更加正交一些,呵呵。

1 条评论:

匿名 说...

Fine way of explaining, and nice piece of writing
to obtain data about my presentation focus, which i
am going to convey in school.
Also see my page > perfumes