2015-02-03 3 views
2

У меня был этот предыдущий вопрос, и я закончил разговор с поддержкой C9, который помог мне добиться определенного прогресса. Повторим еще раз, вопрос был запущен простой программы Java с JOptionPane:Как заставить Cloud9 и noVNC работать, чтобы JOptionPane был видимым?

import javax.swing.JOptionPane; 

public class Test 
{ 
    public static void main (String args[]) 
    { 
    JOptionPane.showMessageDialog (null, "This is a sample program"); 
    } 
} 

Привели этих ошибок:

Exception in thread "main" java.awt.HeadlessException:                          
No X11 DISPLAY variable was set, but this program performed an operation which requires it.                 
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)                   
    at java.awt.Window.<init>(Window.java:535)                           
    at java.awt.Frame.<init>(Frame.java:420)                            
    at java.awt.Frame.<init>(Frame.java:385)                            
    at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1756)                  
    at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1831)                   
    at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1697)                      
    at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863)                     
    at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:667)                     
    at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:638)                     
    at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:609)                     
    at Test.main(Test.java:8) 

Очевидно нет GPU или монитор, поэтому он должен быть примером для подражания. Я получил следующие шаги:

Во-первых, чтобы установить параметры:

sudo apt-get install xvfb x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable x11-apps 

Во-вторых, чтобы сделать дисплей доступными и дать ему номер 99:

Xvfb :99 -ac -screen 0 1280x1024x16 & 

В-третьих, создать пароль x11vnc :

x11vnc -storepasswd s3cr3t3 ~/.vnc/passwd 

В-четвертых, запустите сервер VNC.

sudo x11vnc -rfbauth ~/.vnc/passwd -xkb -noxrecord -noxfixes -noxdamage -ncache 10 -rfbport 5900 -display :99 & 

В-пятых, это заставляет его слушать на порту 5900, но только 8080 доступен, так noVNC необходимо:

git clone git://github.com/kanaka/noVNC 

шестых, запустить noVNC:

./noVNC/utils/launch.sh --vnc localhost:5900 

Я надеваю «Я сталкиваюсь с проблемами, пока не попытаюсь использовать мой браузер для подключения к noVNC. Там, кажется, три было сделать это:

Это было дано мне при поддержке C9:

https://<workspace>-<username>.c9.io/vnc.html 

Это то, что noVNC генерирует в точку браузера:

http://<username>-<workspace>-1260462:6080/vnc.html?host=<username>-<workspace>-1260462&port=6080 

Тогда есть также этот веб-сайт, где можно указать хост, порт, пароли и т. д.

http://kanaka.github.io/noVNC/noVNC/vnc.html 

Во всяком случае, я никогда не смогу сотрудничать и я не уверен, что я делаю неправильно. Я проверил все шаги до начала инициализации noVNC и в настоящее время работает. Я прочитал почти всю документацию. Запуск этого на Windows 7 с последним Chrome.

С уважением

+0

Я не уверен, если это будет помогать, но вы можете получить X11 работает на Cloud9 с помощью [Cloud9 VNC] (https://github.com/ fjakobs/Cloud9-VNC). –

ответ

0

Я не это полностью работает, но я мог бы быть один маленький шаг ближе, чем вы. Ваши шаги были очень полезны для меня. Я могу запускать приложения X11, но не взаимодействовать с ними. Я вижу только начальный экран.

Вам нужно изменить строку, в которой вы запускаете сервер noVNC:

./noVNC/utils/launch.sh --vnc localhost:5900 --listen 8080 &

Вы можете получить доступ к веб-службе noVNC по следующей ссылке из обычного браузера:

https://<workspace>-<user>.c9users.io/vnc.html

Когда noVNC запрашивает сведения о подключении, вы можете подключиться к предварительно заполненному имени хоста <workspace><-<user>.c9users.io порт 443 и пароль, установленный на ухо lier step, s3cr3t3 в вашем примере.

Из рабочей области Cloud8 IDE теперь вы можете открывать приложения, которые обращаются к VNC-серверу и видны через noVNC. Например:

env DISPLAY=:99 xterm

Ссылка: https://docs.c9.io/v1.0/docs/multiple-ports