На этот вопрос уже есть ответ здесь:
Я установил 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?
Если я понимаю ситуацию правильно, Вы соединяетесь с удаленным экземпляром EC2 (возможно, "облачный сервер"). Вы, вероятно, используете ssh
.
Установка X-сервера на экземпляре EC2 не поможет, потому что Вам нужен графический интерфейс этого приложения для появления на конце, не на экране, подключенном к серверу. (Вероятно, нет такого экрана, но даже если бы было, то это не помогло бы Вам.)
Принятие машины, от которой Вы соединяетесь (т.е. компьютер Вы физически используете) запускает Ubuntu или некоторую другую операционную систему, которая использует X-оконную систему для ее GUI, можно использовать передачу X11 (ssh -X
).
Прямо сейчас Вы, вероятно, соединяетесь с сервером EC2 с командой как:
ssh username@hostname
(Где hostname
или доменное имя или IP-адрес экземпляра EC2 или возможно его "простое имя", если Вы соединяетесь через VPN.)
Для передачи X11 измените это на:
ssh -X username@hostname
По моему опыту, дистанционно управляемые приложения GUI, запущенные через ssh -X
часто отставайте ощутимо. Вы можете улучшать производительность при помощи шифра шифра:
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
.)
Дальнейшее чтение: Как передать X по SSH от машины Ubuntu?
При использовании PuTTY в Windows (который теперь, кажется, имеет место, на основе снимка экрана, который Вы загрузили), то это - все еще соединение SSH, но Вы не используете ssh
управляйте, таким образом, вышеупомянутый клиентский синтаксис не поможет Вам.
Вместо этого Вы будете иметь к:
(Обратите внимание, что, в то время как Ваша система Windows является клиентом SSH и экземпляром EC2, сервер SSH, это наоборот для X11: клиент SSH выполняет X-сервер, и сервер SSH выполняет X-клиент.)
Передающий Xming использования X11 и PuTTY объясняют, как установить X-сервер Xming в Вашей системе Windows и настроить PuTTY для передачи X11. Короче говоря:
localhost:0
, и переключатель под "Удаленным протоколом аутентификации X11" установлен на MIT-Magic-Cookie-1.Дополнительно (и не взятый из того источника):
-c blowfish
если Вы использовали ssh
команда.См. также: