За последние 24 часа нас посетили 17507 программистов и 1718 роботов. Сейчас ищут 1746 программистов ...

linux сервер в окнах

Тема в разделе "Настройка веб-сервера", создана пользователем Sergey108, 9 дек 2016.

  1. Sergey108

    Sergey108 Новичок

    С нами с:
    15 июл 2016
    Сообщения:
    71
    Симпатии:
    1
    Я люблю windows. И в то-же время его ненавижу. Не люблю за постоянные баги, лаги, и за то, что он не распространен для дева. Люблю за удобство, мне в 100 раз приятней работать на винде, чем на убунту.
    Но все это лирика и отдельная тема для рассуждений.

    Есть ли возможность виртуализировать линукс (с минимумом оверхеда), что бы разработка велась под виндой а сам проект крутился на линуксе?
    VirtualBox не нравится тем, что мне по сути не нужен графический интерфейс.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    docker через virtualbox :eek:
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не нужен графический интерфейс - не ставь графический интерфейс к линуксу. кто тебя заставляет.
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    virtualbox headless можно поискать, ubuntu server и по SSH, SFTP работать
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Хедлес уже встроенный. просто тыкаешь запустить хедлес и идёшь работать. Виртуалку не видно. Раньше это решалось малюсенькой программулечкой. Теперь даже программулечка не нужна.

    вот ещё мои ярлычки, чтобы запускать и останавливать машину никуда не залезая:

    старт
    Код (Text):
    1. "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm CentOS --type headless
    и стоп через

    Код (Text):
    1. "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm CentOS acpipowerbutton
    Где CentOS это просто название вашей виртуалки

    Пример:
    upload_2016-12-9_15-17-18.png
     
    denis01 нравится это.
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Я так работаю.
    1) На винде стоит VCXSRV - это x11 для винды.
    2) На винде стоит PUTTY, это, думаю, знаешь что такое.
    3) На винде виртуалбокс с линуксом.
    4) На линуксе настроен проброс иксов наружу на IP винды.
    5) Линукс стартуем в headless, жмем не запуск в виртуалбоксе, а стрелку справа и выбираем второй сверху пункт, запуск без интерфейса.
    6) На винде настраиваем VCXSRV, гайдов на эту тему полным полно.

    Дабы тебе жизнь упростить, вот, добавь это в свойствах ярлыка в поле "объект" опосля адреса исполняемого файла:

    Код (Text):
    1.  
    2. -multiwindow -xkblayout us,ru -xkbvariant winkeys -xkboptions grp:alt_shift_toggle -clipboard -noprimary
    То есть, должно получиться что-то типа

    Код (Text):
    1. "C:\Program Files\VcXsrv\vcxsrv.exe" -multiwindow -xkblayout us,ru -xkbvariant winkeys -xkboptions grp:alt_shift_toggle -clipboard -noprimary
    7) Сохрани этот ярлык и всегда стартуй им. Запускаем VCXSRV.
    8) Запускаем PUTTY. Выставляем там вот такие настройки:
    upload_2016-12-10_16-16-23.png
    upload_2016-12-10_16-17-20.png

    9) В Putty коннектимся по SSH к IP линукса в виртуалбоксе.
    upload_2016-12-10_16-18-52.png
    В поле с IP вбиваешь IP твоего линукса.

    Лайвхак - на роутере, в настройках DHCP выставь статичные адреса для линукса и компа с виндой. Они будут видны как разные устройства, если подключение выставлено через сетевой мост. Тогда настройки можно один раз сохранить и забыть о них, выставив дефолтными.

    10) Фсе. Коннектимся к к линуксу, вбиваем в открывшуюся консоль наш логин и пароль, получаем доступ. Приложения вызываются через коммандную строку. Если у приложения есть GUI, оно откроется в винде как нативное.

    upload_2016-12-10_16-26-21.png

    Глянь, внизу на панели три последние приложения - терминал, phpStorm и gedit. Как родные :) При этом крутятся на линуксе.
    Тормозов, если приложение написано не через Ж, не будет. Гуи полностью считаются на винде. В зависимости от дистрибутива линукса, может понадобиться запуск с консоли, перед всяким софтом, графических либ, чтоб дизайн накатился.

    Исключение - софт, написанный, например, на QT, и юзающий OpenGL. Он может тормозить, но это уже потому, что он будет считаться на линуксе, а он, в headless не будет получать аппаратное ускорение. Но это не смертельно, ибо те же нетбинсы или штормы прекрасно работают как нативный софт. С работающим буфером обмена, с единой раскладкой и тд. И это не видеопоток типа RDP, это именно честная отрисовка GUI на стороне винды.

    Ну и да, на линуксе настрой, чтобы внешние запросы перенаправлялись на твой веб-сервер, на нем поднятый. И тогда сможешь обращаться к проектам через браузер в винде. Только вбивай туда не localhost или что там у тебя, а IP линукса.

    Я так вообще подзагнался и на уровне роутера сделал резолв домена "test.dev" в IP линухи. В итоге, у себя в домашней сети имею собственную доменную зону :D
    --- Добавлено ---
    Звучит это все громоздко, но, на деле, надо сделать один раз. А потом все будет сводиться к запуску путти и вбиванию логина-пароля.
    --- Добавлено ---
    P.S. На линуксе, чтобы быстро стартовать, можно завести скриптик, который будет подключать графические либы и запускать нужный тебе софт. У меня вот такой:

    Код (Text):
    1. #!/bin/bash
    2. set -m
    3. sudo mount -t vboxsf Buffer  /media/share
    4. /opt/ApacheGUI/bin/run.sh
    5. export LIBGL_ALWAYS_INDIRECT
    6. cinnamon-settings-daemon &
    7. gnome-terminal &
    8. phpstorm
    Он до кучи еще расшаренную папку монтирует в ФС, чтобы между виндой и линуксом был прозрачный файловый буфер. Но это отдельная история.
     
    denis01 нравится это.