使用VNC访问Linux桌面

在一个严重依赖Windows的工作环境中,比如电子邮件被限定为Outlook(因为加密要求), VPN软件不支持Linux版本,那么,只使用Linux桌面是不够的,还需要在Linux桌面上跑个虚拟机运行Windows (比如Win 7)。于是,有一个BT的需求应运而生 -- 在Linux桌面上启动虚拟机跑Win 7,然后在Win 7里访问Linux桌面。也许你很好奇,不禁要发问: “为什么要在虚拟机Win7里访问物理机Linux桌面?” 答案很简单:情非得已!因为本人习惯在Linux的Terminal上使用vim干活,但是沟通工具却被迫使用QQ, 于是为了截图方便(拷贝文字会被QQ解释成莫名其妙的表情图),就不得不在Win 7里访问我的Linux桌面。本文将讲述如何使用VNC将这种近乎变态的需求“拉通”。(P.S. 天天喊拉通,TNND落后的生产关系不改变,只能天天硬拉Orz...)

1. 桌面环境

  • Host: Ubuntu 14.04.5 LTS (物理机装的是Linux桌面)
  • Guest: Windows 7 (虚拟机装的是Win7桌面)

2. 拉通步骤

201 - 在虚拟机Windows 7里安装RealVNC客户端 (点这里去下载)

202 - 在Ubuntu 14(i.e. Linux桌面)里安装VNC server

$ sudo apt-get install vnc4server

202.1 - 配置VNC server的访问密码 (e.g. 12345678)

$ vncpasswd

202.2 - 配置VNC server的启动脚本(~/.vnc/xstartup)

$ cat -n ~/.vnc/xstartup 
     1    #!/bin/sh
     2    
     3    export XKL_XMODMAP_DISABLE=1  
     4    unset SESSION_MANAGER  
     5    unset DBUS_SESSION_BUS_ADDRESS  
     6    
     7    gnome-panel &  
     8    gnome-settings-daemon &  
     9    metacity &  
    10    nautilus &  
    11    gnome-terminal &

202.3 - 在Linux桌面上启动VNC server

o 启动脚本 ~/bin/wxVNC

$ cat -n ~/bin/wxVNC 
     1    #!/bin/bash
     2    
     3    g=${1?"*** 1024x768 or 1280x800 or 1500x850"}
     4    name=${2:-"$(hostname)-$g"}
     5    vncserver -kill :1
     6    vncserver -name $name -depth 16 -geometry $g :1

o 启动VNC server

$ wxVNC 1024x768

Can't find file /home/veli/.vnc/idorax:1.pid
You'll have to kill the Xvnc4 process manually


New 'idorax-1024x768' desktop is idorax:1

Starting applications specified in /home/veli/.vnc/xstartup
Log file is /home/veli/.vnc/idorax:1.log

$ 

203 - 在虚拟机Windows 7里使用RealVNC viewer连接Linux桌面

输入密码12345678, 连接后的效果如下:

OK, 大功告成!

后记: 变态的需求通常产生于落后的生产力关系。 生产力关系改进了,这种需求也就不复存在。 “艰难困苦,玉汝于成”,既然改变不了落后的生产力关系,那就只能自己想办法使自己开心一点:-)

原文地址:https://www.cnblogs.com/idorax/p/7423963.html