我花了几天时间尝试在Google Compute Engine(GCE)上安装软件,然后从我的Windows PC或本地Linux机器远程访问它。
我可以安装Google Chrome等软件,但无法打开应用程序,因为我不断出现显示问题(可以理解,因为GCE是无头的)。所以我正在尝试VNC进入GCE实例。
我尝试在服务器上安装以下内容:(实例名称为“talend”)
vnc4server:我得到输出说服务器正在运行,一切看起来都不错。我得到的错误是语言错误,如下所示:
steven@talend:~$ vnc4server -geometry 1440x900 :1
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:LANGUAGE = (unset),LC_ALL = (unset),LANG = "en_ZA.UTF-8"are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
A VNC server is already running as :1
和
steven@talend:~$ vnc4server -geometry 1440x900 :2
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:LANGUAGE = (unset),LC_ALL = (unset),LANG = "en_ZA.UTF-8"are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
New 'talend:2 (steven)' desktop is talend:2
Starting applications specified in /home/steven/.vnc/xstartup
Log file is /home/steven/.vnc/talend:2.log
远程访问:通过Windows使用TightVNC客户端
我收到以下消息:
No connection could be made because the target machine actively refused it.
远程访问:通过Linux使用Vinagre
Connection to host 8.34.210.67::5902 was closed.
通过Google Compute Engine Web控制台:
尝试更改为静态IP>没有区别
尝试使用tcp:80
>添加Source: 0.0.0.0/0
没有区别
我确信有一个简单的解决方案,但我似乎无法找到它。任何帮助将不胜感激,然后将发布最终解决方案的链接。
感谢。
答案 0 :(得分:8)
您需要在同一端口上配置三个设置才能达成一致:
从错误消息“连接到主机8.34.210.67::5902已关闭。”,看起来TightVNC正在尝试连接到5902.假设vnc4server也在侦听该端口,您应该添加一个Compute Engine防火墙规则允许该端口。
访问控制台https://cloud.google.com/console,点击您的项目,然后点击计算引擎,然后点击网络。单击“防火墙”旁边的“新建”,然后在“端口/协议”字段中设置tcp:5902添加新规则。
如果你在Centos上运行,还有一个额外的步骤来禁用本地防火墙:CentOS Firewall Issues on GCE
答案 1 :(得分:0)
另一个选择是使用Guacamole和Tomcat通过浏览器或VNC客户端访问您的桌面。
使用Aptitude或apt-get安装guacamole-tomcat。我有防火墙设置的VNC端口(通过标签)以及http和https。我已经建立了一个鳄梨酱"标签也用于防火墙。您的GCE实例将需要分配这些标记。通过/ etc / guacamole /用户/登录等可以做一些配置,但基本上就是这样...
安装后,默认端口为8080.所以浏览到http://:8080 / guacamole /,您将获得Guacamole登录屏幕。登录时,您将在浏览器窗口中找到启动桌面的链接。
您也可以通过以下方式直接VNC(无浏览器):5901 - 或您配置Guacamole的任何端口。当然,建立一个st
是最好的答案 2 :(得分:0)
尝试:
$ sudo iptables -L
链输入(接受政策)
目标prot opt源目的地
连锁前进(接受政策)
目标prot opt源目的地
链输出(接受政策)
目标prot opt源目的地
如果不是类似的刷新:
sudo iptables -F