Комментарии 33

Да вся система сборки и потребуется.
Студия тут всего лишь для разработки и отладки; она вовсе не заменяет полностью систему сборки/упаковки.
Более того, готовый проект просто так (автоматически) в студию не перетащить: нужно вручную создавать проект, вручную добавлять исходники и настраивать солюшн. И всё ради того, чтобы иметь возможность редактировать и отлаживать.
Вот если бы в CMake добавить в качестве таргета солюшн для студии, но под linux — было бы уже весьма неплохим вариантом.
Сборка осуществляется на удаленной машине, но контролируется Visual Studio, так что собирать все на Linux машине можно будет без проблем.
По поводу IDE сказать сложно. Я толком не писал никогда под Linux. Но ИМХО, Visual Studio лучшая и самая удобная IDE, которой есть куча полезных дополнений :) Один ReSharper C++ чего стоит…
Ну а по поводу Visual Studio — конечно, другого от меня ждать сложно :) Я Code:Blocks поставил, что так им и не пользовался. Писал под Visual Studio Code в итоге. А потом переехал на этот плагин.
Eclipse я использовал для работы с Java как то. Он очень мне не понравился. Ощущения были как будто работаешь с сырым продуктом в Alpha версии.
Но сразу подключиться из-под Visual Studio у меня не удалось, так как система почему то не пускала меня под единственным пользователем. Пришлось создать другого. Это можно сделать в System Settings->User Account.
А у пользователя есть пароль? По умолчанию запрещено подключаться по SSH к пользователю без пароля, можно поменять соответствующую настройку PermitEmptyPasswords
$ sudo -e /etc/ssh/sshd_config
Хотя это действие и не рекомендуется (лучше все же поставить пароль), однако на поиграться можно.
если проблема не в этом, тогда надо смотреть вывод лога после попытки подключения:
tac /var/log/auth.log | less
Как появится пара свободных минут — попробую посмотреть логи. Спасибо
А как же чувство спортивного интереса? Я бы еще предположил, что в вашем образе пользователь по умолчанию — root
(с какого-то времени по умолчанию стал запрет на подключения root-ом по паролю), интересен уже вывод :
echo $(id -u)
Больше на интерес пробило меня, в итоге скачал образ и подключился без проблем
23:00:56 ~
$ ssh osboxes@localhost -p 4422
The authenticity of host '[localhost]:4422 ([127.0.0.1]:4422)' can't be established.
ECDSA key fingerprint is SHA256:STXIEoIBOaHeTKu5dzBigsfWri6TmRCeAlZ+JeA4GtM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:4422' (ECDSA) to the list of known hosts.
osboxes@localhost's password:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-31-generic x86_64)
* Documentation: https://help.ubuntu.com/
0 packages can be updated.
0 updates are security updates.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
osboxes@osboxes:~$ echo $(id -u)
1000
Но вот при копировании файлов почему то ~ воспринимается не как root директория, а просто как имя папки
Попробуйте в Remote Build Root Directory
вместо ~/projects
вписать /home/test/projects
, обычно в таких случаях помогает.
Странная статья. Не очень понял, на кого она рассчитана. Вы показываете, как не разбираясь в устройстве Linux, не вникая в соглашения этой ОС, игнорируя практики разработки под Unix-like системы, разработывать что-то через GUI.
- Что-то не получается?
chown
с максимальными привелегиями.
- Добавить пользователя?
- Использовать gui.
Эти подходы, наверняка, хорошо работают в Windows, где на каждый чих нужно продавить десяток кнопок в специально для этого сделанных программах. Это, кстати, хорошо видно, на примере указания удалённой директории. Но это совершенно не Unix-way.
Выглядит это всё как заколачивание гвоздей микроскопом.
А встатье написано:
Так же, прошу сильно меня не ругать, я все-таки в Linux далеко не гуру. Лучше подскажите, если что-то можно сделать более оптимальным путем.
.
Ну будьте честны, эта ремарка в статье для красного словца. Если бы у автора действительно были сомнения в принятых им решениях и подходах, он бы не писал эту статью, не делал бы аккуратные скриншоты и не упомянал бы обязательное нажатие кнопки Unlock.
Устройство Linux на уровне архитектуры, как и устройство операционных систем в принципе, я вполне понимаю. Вопрос в деталях. И если бы я начал с того, что пошел бы изучать «соглашения ОС» читать man'ы и пытаться сделать из себя Linux разработчика — я бы наверное добился бы гораздо более «правильного» с точки зрения экосистемы Linux результата. Но потратил бы на это, допустим, пол года.
А задачу нужно было решать здесь и сейчас с теми навыками, которые есть. Вот и получился такой результат, который вполне удовлетворяет заказчика в рамках поставляемой системы. И при этом, потрачено было максимум 2 недели с учетом написания статьи.
Соответственно, я писал статью для того, чтобы поделиться опытом. Чтобы люди, которым нужно решать похожие задачи, решили их еще быстрее чем я, воспользовавшись тем опытом, который я уже получил.
Другими словами вы поддерживаете подход "оп-хлоп и в продакшн". Я верно понимаю ваши слова о "задачу нужно было решать здесь и сейчас с теми навыками, которые есть"?
И пожалуйста не говорите про полгода изучения соглашений — это какая-то с потолка взятая оценка. Разработчик с вашим опытом должен бы догадываться о таких вещах.
Меня вообще удивляет, что я веду такой диалог с человеком, который имеет за плечами больше 10 лет разработки, да ещё и является руководителем отдела.
В процессе работы я столкнулся с конкретными трудностями, с которыми скорее всего столкнется множество других пользователей данного расширения для VS. В статье написано то, как с этими трудностями можно справиться. Не более того.
Допустим, что мотивация всего вашего туториала — это создание некоторого маленького консольного удалённого клиента на Linux-машине, который будет общаться с Win-сервером. В таком случае, учитывая уровень ресурса, да и ваш многолетний стаж, расписывать базовые шаги с картинками — ну это как-то несерьёзно. Особенно с случае с Linux, в которой ведётся значительная часть разработки(веб, мобильная etc.) в индустрии в 2017 году.
Поэтому рискну предположить, что данный исключительно DevOps туториал на уважаемом ресурсе нацелен на юные неокрепшие умы, которые хочет заполучить/заполучила Microsoft Student Partners.
По содержанию, это словно въехать на огромном глубоком мягком кожаном кресле в мастерскую, пробив при этом дверь, выломать панель управления и воткнуть туда свой здоровенный кабель и уехать, пробив ещё и ворота.
Думаю можно было и просто зайти, оглядеться, прочитать технику безопасности на двери, взять пару простых инструментов и сделать ту несложную задачу, о которой вы говорили.
Да, пришлось бы выбраться из зоны комфорта, осмотреться повнимательней на новой территории, но поверьте и вас, и ваших читателей это бы только обогатило.
В любом случае, статья вызвала такие эмоциональные комментарии, а значит была написана не зря. И люди, прочитав все это, как минимум получат тему для размышления.
Visual C++ for Linux Development: Практика использования для Windows разработчиков