Mac远程桌面到Linux服务器

假期结束,回到学校开始干活 :] 为了远程使用Linux服务器,折腾了一个下午。最终看来还是用vnc最简单了。 实验室有两台强劲的Linux服务器用来做研究。之前我一直都是用ssh登到服务器上去码代码,反应速度很快,感觉很不错。但是因为在做机器视觉,难免需要看远程的图片。命令行虽然快,总不能每次都把图片拷贝到本地再看,有时候需要可视化中间结果,ssh也行不通。 当本地机器是Linux系统的时候比较好办。可以用ssh加X forwarding的方法。在本地开一个X,然后把远程服务器的X指令通过ssh转发到本地的X,码代码没有什么延迟,感觉还是很不错的。 sudo X :11 vt11 2>&1 >/dev/null & 这样可以在本地新开一个X,Ubuntu下用Ctrl+Alt+F11可以切到第11个虚拟终端 回到之前的终端,开ssh和xterm xterm -display :11 -e ssh -X server-host & 然后可以切换到第11个虚拟终端来使用远程Linux服务器上的X了。 这样虽然好,但是要求本地机器上有安装X。在Windows和MacOS下虽然有解决方法,但是比较麻烦。 用VNC的话就没有这个问题,毕竟VNC的客户端是很容易找的。 当然需要先ssh登录到Linux服务器上安装vncserver sudo apt-get install vnc4server 然后启动vncserver vncserver 这样就搞定了。 在本地的Mac下可以用自带的Screen Sharing App或者著名的Chicken of the VNC连接到server-host:5901来查看和控制远程Linux桌面。 在服务器上启动了vncserver之后,可以通过修改 ~/.vnc/xstartup 这个文件,来指定远程的X启动之后要执行什么命令。我喜欢用openbox,所以我的xstartup文件就是这样子 #!/bin/sh # Uncomment the following two lines for normal desktop: # unset […]

让iOS使用SSH Tunnel

为了突破局域网的限制,目前主流的方法还是SSH和VPN。 如果使用VPN的话,可以很方便的在自己的iPhone/iTouch/iPad设备上连VPN,上外网。 肯定还有不少朋友是在用SSH的。在自己的机器上一般使用以下命令来连接ssh,并且绑定到127.0.0.1:8080。 $ssh -D 8080 username@sshserver.com 之后,我们可以在设置proxy的地方指定proxy为127.0.0.1:8080。 但是在iOS上,如果不越狱的话是不能用SSH的。这样,我们必须让ssh绑定到外部IP,并且让iOS知道这个proxy。 假设本机的IP为192.168.1.2 步骤如下: 1. 不能再用上面这个命令来使用SSH了,命令如下 $ssh -g -D 192.168.1.2:8080 username@sshserver.com 这让SSH把连接转发到192.168.1.2:8080这个地址,-g让外部机器可以连到这个地址 2. 我们需要一个PAC文件。这是一个指定如何配置proxy的文件。 新建文件proxy.pac 内容如下 function FindProxyForURL(url, host) { return “SOCKS 192.168.1.2:8080″; } 3. 我们还需要让本机之外的其他机器可以访问到这个pac文件。比如,我们这里用HTTP来做。 Mac本身就支持Web Sharing,其实是一个Apache的Server。 在”System Preferences”->“Sharing”里,给Web Sharing打上勾. 把上面的proxy.pac文件拷贝到~/Sites/下面,这时,我们可以在浏览器里试试这个地址 http://192.168.1.2/~username/proxy.pac 看看是不是能够看到文件内容? 在lion下,可能会出现没办法勾选Web Sharing的情况。把httpd.conf用原始版本覆盖即可 $sudo cp /etc/apache2/original/httpd.conf /etc/apache2/httpd.conf 4.万事俱备,现在只要在iOS上设置就行了。 通过”Settings”->”WLAN Networks”找到现在连上的Wifi,查看details(蓝色箭头) 在最下面有设置http proxy的地方。 选择”Auto”, 填入 http://192.168.1.2/~username/proxy.pac […]