Pull to refresh

PhpStorm в Ubuntu 14 с использованием в Windows 7 через Xming

Reading time 3 min
Views 9.1K
Возникла задача плавной миграции с рабочей станции под Windows на Ubuntu. Так как выполнение основных действий при помощи компьютера никто не отменял, то миграцию приходится делать кусками, оставляя доступной привычную среду (Windows 7 x64). Так как я являюсь разработчиком, то первым делом нужно переносить IDE (в моем случае — PhpStorm). Целевой машиной для переноса был выбран виртуальный хост hamster, работающий под Ubuntu, на котором тестриуются наши проекты.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:        14.04
Codename:       trusty
$ uname -a
Linux hamster 3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 1

Установка PhpStorm


Заходим на виртуальный хост hamster через SSH, загружаем IDE и распаковываем:

$ wget http://download-cf.jetbrains.com/webide/PhpStorm-8.0.2.tar.gz
$ tar -zxf PhpStorm-8.0.2.tar.gz
$ ls -lh
total 124M
drwxrwxr-x 7 ag ag 4.0K Dec 19 16:56 PhpStorm-139.732
-rw-rw-r-- 1 ag ag 124M Dec 10 16:50 PhpStorm-8.0.2.tar.gz

Установка Java согласно инструкциям от JetBrains:

$ sudo apt-get purge openjdk*
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

Проверяем установку Java, переходим к bin-файлам IDE и запускаем приложение:

$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
$ cd PhpStorm-139.732/bin/
$ ./phpstorm.sh
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0
Exception in thread "main" java.awt.HeadlessException: Unable to detect graphics environment
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
        at com.intellij.idea.Main.main(Main.java:63)

Ну да, через текстовый терминал графическое приложение не запускается.

Установка Xming и подключение у виртуальному хосту


Устанавливаем Xming на рабочую Windows-машину и запускаем:

>"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

На локальной машине у меня стоит PuTTY, поэтому настраиваем сессию для работы с hamster через PuTTY. Основной момент:
image

Устанавливаем новую сессию через PuTTY и проверяем доступность иксов:

$ echo $DISPLAY
localhost:10.0

Переходим в папку bin развернутого на hamster IDE и запускаем приложение:

$ cd ~/PhpStorm-139.732/bin/
$ ./phpstorm.sh
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class java.awt.Toolkit
        at java.awt.Component.<clinit>(Component.java:593)
        at com.intellij.idea.Main.showMessage(Main.java:221)
        at com.intellij.idea.Main.showMessage(Main.java:208)
        at com.intellij.idea.Main.main(Main.java:81)

Опять неудача, не хватает X11-сервера на hamster'е.

Развертывание X11


Открываем отдельную SSH-сессию для установки и запуска X11.

$ sudo apt-get install xorg
$ sudo startx &

Возвращаемся в X11-сессию и пробуем запустить phpstorm еще раз:

$ ./phpstorm.sh
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0
PuTTY X11 proxy: wrong authorisation protocol attemptedException in thread "main" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
        at java.lang.Class.forName0(Native Method)
        ...

Я не знаю, что собственно далее нужно донастраивать, но Google выдает рекомендации, которые сводятся к следующим командам (я выполнял в новой X11-сессии, но, возможно, пройдет и в уже установленной):

$ xauth list
hamster/unix:10  MIT-MAGIC-COOKIE-1  668c9a37a292b40b3e243ebad33b5955
$ xauth add hamster/unix:10  MIT-MAGIC-COOKIE-1  668c9a37a292b40b3e243ebad33b5955

Еще раз запускаем PhpStorm из X11-сессии:

$ cd ~/PhpStorm-139.732/bin/
$ ./phpstorm.sh

Как результат имеем запустившийся процесс настройки IDE PhpStorm, выполняемый на удаленном Ubuntu-хосте, но управляемый на локальной Windows-машине:



После окончательного развертывания IDE PhpStorm на удаленном Ubuntu-хосте можем начинать разрабатывать наши проекты не выходя из привычного нам Windows-окружения:

Tags:
Hubs:
-3
Comments 25
Comments Comments 25

Articles