安装后,EC2中的Google Chrome无法从Ubuntu Server 14.04 LTS(HVM)命令行打开
我已使用以下命令行安装了Google Chrome:
$ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - $ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' $ sudo apt-get update $ sudo apt-get install google-chrome-stable
当尝试从命令行( $ google-chrome
)打开Google Chrome时,我收到以下错误消息:
[5426:5426:0808/041800:ERROR:browser_main_loop.cc(209)] Gtk: cannot open display:
如何解决此问题以打开Google浏览器?
使用基于X11的GUI从Ubuntu和其他类Unix系统连接
如果我正确理解了这种情况,那么您将连接到远程 EC2实例(可能是“云服务器” )。 你可能正在使用ssh
。
在EC2实例上安装X服务器无济于事,因为您需要此应用程序的图形界面显示在您的端 ,而不是连接到服务器的屏幕上 。 (可能没有这样的屏幕,但即使有,也不会帮助你。)
假设您正在连接的计算机(即您正在使用的计算机)正在运行Ubuntu或其他使用X窗口系统作为其GUI的操作系统,则可以使用X11转发( ssh -X
) 。
现在,您可能使用以下命令连接到EC2服务器:
ssh username@hostname
(其中hostname
是EC2实例的域名或IP地址,如果您通过VPN连接,则可能是“简单名称”。)
要转发X11,请将其更改为:
ssh -X username@hostname
根据我的经验,通过ssh -X
运行的远程控制GUI应用程序通常会明显滞后。 您可以通过使用河豚密码来提高性能:
ssh -c blowfish -X username@hostname
除非您与EC2实例的连接速度非常快,否则您可以通过数据压缩进一步提高响应速度:
ssh -C -c blowfish -X username@hostname
(这些可以任意组合使用;例如,如果需要,可以使用ssh -C -X username@hostname
。)
如果ssh -X
不起作用 ,则可能在服务器上禁用它。 在这种情况下,请在服务器上打开/etc/ssh/sshd_config
。 搜索一行显示X11Forwarding no
并将其更改为X11Forwarding yes
。 (如果没有这样的行,只需添加X11Forwarding yes
。)
进一步阅读: 如何从Ubuntu机器通过SSH转发X?
使用PuTTY从Windows连接
如果您在Windows上使用PuTTY(现在看来是基于您上传的屏幕截图),那么这仍然是一个SSH连接,但您没有使用ssh
命令,所以上面的客户端语法不会帮到你。
相反,你必须:
- 配置PuTTY转发X11。
- 在Windows系统上安装运行X11服务器。
(请注意,虽然您的Windows系统是SSH客户端而EC2实例是SSH服务器 ,但X11的另一种方式是:SSH客户端运行X服务器,SSH服务器运行X客户端。)
X11使用Xming和PuTTY进行转发说明如何在Windows系统上安装Xming X服务器并配置PuTTY以转发X11。 简而言之:
- 从项目页面下载Xming。
- 安装Xming和Xming-fonts(两者都包含在你下载的内容中)。
- 跑Xming。
- 运行PuTTY,找到X11(它在左侧面板中,在SSH下,它本身在Connection下)。 单击X11。
- 确保选中“启用X11转发”复选框,标记为“X显示位置”的文本框内容为
localhost:0
,“远程X11身份validation协议”下的选项按钮设置为MIT-Magic-Cookie-1。 - 然后正常连接PuTTY到您的EC2实例。
可选(并且不从该来源获取):
- 如果要使用blowfish密码,请单击左侧面板上的SSH,在“加密密码选择策略”列表框中选择Blowfish,然后单击“向上”按钮,直到它位于列表顶部。 如果您使用
ssh
命令,那基本上相当于-c blowfish
。 - 如果要使用压缩,则在左侧面板上单击SSH后,请确保选中“协议选项”下的“启用压缩”复选框。
也可以看看:
- 如何使用腻子X11转发
- Nathan Osman回答 如何在无头服务器上远程运行GUI应用程序?