Ситуация такая — все соры лежат на виртуалке, хожу туда по SSH, правлю в nano/vim, канпиляю из командной строки. Можно как-то с этим работать нормально, из IDE из какой-нибудь, на локальной машине?
Локально — винда, удаленно — линупс.
Или, может, хотя бы просто получить гуй от удаленной машины у себя локально?
Здравствуйте, pax123, Вы писали:
P>Ситуация такая — все соры лежат на виртуалке, хожу туда по SSH, правлю в nano/vim, канпиляю из командной строки. Можно как-то с этим работать нормально, из IDE из какой-нибудь, на локальной машине?
P>Локально — винда, удаленно — линупс.
Я себе настроил на виртуалке самба-сервер и через него открываю в хостовой винде файлы оттуда, любым удобным редактором или IDE, просто как сетевую шару. Разумеется, компилять линуксовыми тулзами так не получится, но сборку я запускаю уже из самой машины напрямую; для моих сценариев этого достаточно. Ещё можно shared-папками воспользоваться, но у меня VirtualBox, они там иногда подглючивают и не любят высокую нагрузку.
P>Или, может, хотя бы просто получить гуй от удаленной машины у себя локально?
Его получить тоже несложно, но зависит от потребностей. ssh -X — работоспособно, но под виндами оно не очень удобно. Если по какой-то причине прямой доступ к экрану виртуалки отсутствует (как у того же VBox'а), всегда можно поднять VNC- или RDP-сервер и подключаться к нему. Или что-нибудь вроде TeamViewer'а установить.
Здравствуйте, pax123, Вы писали:
P>Локально — винда, удаленно — линупс. P>Или, может, хотя бы просто получить гуй от удаленной машины у себя локально?
Можно использовать rdp или vnc. Для примера, установить на удалённую машину x11vnc и подключиться клиентом. Я обычно использую x11vnc потому, что он позволяет подключаться к текущей сессии рабочего стола запущенного на удалённой машине. А так вариантов множество. Это универсальный вариант.
Ещё можно использовать непрерывную интеграцию jenkins . Но там решается другой тип задач. Удалённая компиляция, но нужно коммитить и отправлять код. Так что это скорее для проверки работоспособности, когда много разработчиков, но сама разработка ведётся у себя на компьютере.
Про IDE не знаю, никогда о таком не задумывался. Так понимаю нужно, чтобы удалённая машина компилировала файлы, а не просто использовать другой компьютер как сетевой диск. Фактически IDE это такая штука, которая тупо запускает в виде процессов программы компиляторы, линковщики и прочее. Чисто теоретически нужен или плагин или какая-то перенастройка.
Думаю надо в поиске набрать без кавычек "удалённое компилирование ..." где вместо многоточия прописать IDE. Я написал Geany, вот человек извращается. Как в Geany выгрузить файлы по ssh/ftp на сервер. И точно так же можно прописать запуск компиляции.
Так-то я думаю надо всё же искать в интернете решение для предпочтительной IDE. Да что там говорить, я даже в Qt Creator вижу пути к компиляторам и могу перенастроить, хотя никогда не пробовал и не искал плагины.
Здравствуйте, pax123, Вы писали:
p> Или, может, хотя бы просто получить гуй от удаленной машины у себя локально?
Он тебе почти ничем не поможет. К тому же это будет требовать установки дополнительных библиотек, которые по умолчанию никто не ставит (не знаю, есть ли у тебя на удаленной машинке нужные права).
Самый нормальный вариант здесь (если штатная работа в ssh не устраивает) — скопировать исходники к себе на локальную машину и с ними работать как тебе удобно. Деплой осуществлять через любой ci-pipeline. Все остальное будет неудобным извращением (включая vs code over ssh).
Здравствуйте, pax123, Вы писали:
P>Ситуация такая — все соры лежат на виртуалке, хожу туда по SSH, правлю в nano/vim, канпиляю из командной строки. Можно как-то с этим работать нормально, из IDE из какой-нибудь, на локальной машине?
Если стоит задача разрабатывать под Linux из под Windows, то Студия умеет это из коробки для WSL. Делаешь CMake и вперед. Может подключаться к gdbserver-у или по SSH к удаленному процессу. Дебаг работает. Результат выводит в свою консоль. Этот же проект можно параллельно открывать VSCode, где с помощью сторонних плагинов можно организовать такой же точно функционал.
Здравствуйте, SkyDance, Вы писали:
P>>Или, может, хотя бы просто получить гуй от удаленной машины у себя локально?
SD>Это проще всего (remote desktop или аналог).
Я хз, можно ли. Что там на другом конце — понятия не имею
SD>Но если очень хочется именно SSH,
SSH не то, чтобы очень хочется, но оно уже работает, а что там с остальным — хз
SD>то таки да, VSCode — его под подобное затачивали. Некоторые подвижки были в IDEA, но пока еще не все работает.
Не богатый выбор
Я вообще к студии привык, но её геморно заводить — комьюнити нельзя, а платную — надо обосновывать, нафига она мне. Я пока предпочитаю бюрократию стороной обходить
Здравствуйте, velkin, Вы писали:
V>Можно использовать rdp или vnc. Для примера, установить на удалённую машину x11vnc и подключиться клиентом. Я обычно использую x11vnc потому, что он позволяет подключаться к текущей сессии рабочего стола запущенного на удалённой машине. А так вариантов множество. Это универсальный вариант.
Я не уверен, что там иксы есть и гуй
V>Ещё можно использовать непрерывную интеграцию jenkins . Но там решается другой тип задач. Удалённая компиляция, но нужно коммитить и отправлять код. Так что это скорее для проверки работоспособности, когда много разработчиков, но сама разработка ведётся у себя на компьютере.
Дженкинс я видел на прошлой работе, но это не то. CI у нас тут своё. Но мне нужно работать, код писать, тестировать, а только потом уже коммитить.
V>Так-то я думаю надо всё же искать в интернете решение для предпочтительной IDE. Да что там говорить, я даже в Qt Creator вижу пути к компиляторам и могу перенастроить, хотя никогда не пробовал и не искал плагины.
Какой компилятор — я хз, тут своя система сборки, она что-то подсасывает откуда-то, у меня компилера я никакого не ставил, он оно как-то собирается.
ЗЫ А как нынче Qt Creator принято ставить? Инсталер кутишный вроде на РФ перестал работать. Есть ли отдельный инсталлер только для креатора, или надо самому собирать?
Здравствуйте, Anton Batenev, Вы писали:
AB>Самый нормальный вариант здесь (если штатная работа в ssh не устраивает) — скопировать исходники к себе на локальную машину и с ними работать как тебе удобно. Деплой осуществлять через любой ci-pipeline. Все остальное будет неудобным извращением (включая vs code over ssh).
Не самый хороший вариант — коллеги все на виртуалке работают напрямую, и хочется в этом плане не выделятся
Здравствуйте, Videoman, Вы писали:
V>Если стоит задача разрабатывать под Linux из под Windows, то Студия умеет это из коробки для WSL. Делаешь CMake и вперед. Может подключаться к gdbserver-у или по SSH к удаленному процессу. Дебаг работает. Результат выводит в свою консоль. Этот же проект можно параллельно открывать VSCode, где с помощью сторонних плагинов можно организовать такой же точно функционал.
Хотелось бы студию, но она пока не вариант. А VS Code — я что-от не проникся им
Здравствуйте, Videoman, Вы писали:
P>>Хотелось бы студию, но она пока не вариант. А VS Code — я что-от не проникся им
V>Ну если тебе Студия и VS Code не за ходят, тогда даже не знаю ...
Студия — норм, но её нет в списке разрешенного и/или купленного ПО.
Здравствуйте, Videoman, Вы писали:
P>>Студия — норм, но её нет в списке разрешенного и/или купленного ПО.
V>Даже Community? Она же бесплатная, весь функционал есть. Я на 2022, правда пока ограничен С++17-м компилятором — полёт нормальный.
Community вроде не подходит по лицензии для разработки в конторах где много народу
Здравствуйте, pax123, Вы писали:
P>Или, может, хотя бы просто получить гуй от удаленной машины у себя локально?
Ставишь на виндовой машине X-сервер, например Xming или Netsarang XManager.
На удалённой линуксовой машине устанавливаешь переменную окружения DISPLAY=<адрес виндовой машины>:0.0 (на Netsarang XManager не обязательно, он сам умеет подключаться по ssh, устанавливать нужные переменные и сразу запускать указанную в настройках команду).
Запускаешь на линукс-хосте через ssh программы с GUI и получаешь графический интерфейс от них на виндовой машине.