Blog IT, Blog Marketing

Programujemy na Linuksa pod Windowsem

Programujemy na Linuksa pod Windowsem

Marcin Sarna , 11.12.2020 r.

Czyli VS Code i VirtualBox – na przykładzie C/C++.

Programowanie na innej platformie

Tworzenie oprogramowania jest trudniejsze gdy musimy się w toku pracy odwoływać do specyficznych rozwiązań docelowego systemu, na którym nasz software ma działać. Załóżmy na przykład, że piszemy w windowsowym IntelliJ program w Javie, który będzie się odwoływał do ścieżek do plików w układzie charakterystycznych dla systemu Linux (a więc np. /home/developer/README.txt) a nie dla systemu Windows (czyli np. C:\Users\Developer\README.txt). Pomijamy przy tym kwestię powtarzania slashy i inne „kwiatki”.

Czy da się ułatwić tworzenie takiego oprogramowania bez zmiany systemu na maszynie deweloperskiej? Oczywiście, wystarczy wirtualizacja i sprytne korzystanie z edytora. Zobaczmy to na przykładzie VS Code, VirtualBox i C/C++.

Windows a jednak Linux czyli wirtualizacja

Powiedzmy sobie szczerze: nawet jeśli lubimy desktopowe rozwiązania Linuksa to część z nas – „linuksiarzy” – korzysta z Windows na maszynach roboczych. Czy to na maszynie pracowniczej (z korporacyjnego przymusu) czy na domowym sprzęcie (bo gry, bo Microsoft Office lepiej sobie radzi z dokumentami niż Open Office) musimy jednak czasem coś napisać na inną platformę.

Zacznijmy od zainstalowania VirtualBoksa. Oczywiście możesz użyć Dockera lub innego oprogramowania, jeśli to dla Ciebie bardziej przemawia, ale maszyna wirtualna VirtualBox pozwala zapewnić trwałość, łatwość obsługi i, co najważniejsze, mieć dostępny pełny system operacyjny.

W ustawieniach sieciowych maszyny wirtualnej VirtualBox warto włączyć Bridged Adapter i używać wygenerowanego adresu MAC, aby przypisać maszynie statyczny adres IP na naszym routerze. W ten sposób prywatny adres IP jest zawsze stały dla maszyny i możemy łatwo uzyskać dostęp do wszystkich usług / portów maszyny, tak jak w przypadku każdego innego urządzenia w sieci.

Gość w dom, „bug” w dom

Jaką dystrybucję zainstalować? Szczerze mówiąc, możesz wybrać, co chcesz - FreeBSD, OpenBSD, Gentoo, Arch, Ubuntu i tak dalej. Zbyt wiele opcji, aby je tutaj wymienić. Jeśli nie używasz GUI i wolisz minimalny system operacyjny, pomyśl o Ubuntu Server Edition.

Podczas korzystania z VirtualBox i uruchamiania maszyny wirtualnej istnieje sprytna mała sztuczka - przycisk rozwijania na przycisku „Start” umożliwia uruchomienie maszyny wirtualnej w trybie headless. Żadne okno maszyny nie zostanie wyświetlone, ale maszyna będzie działać.

Sprawdź oferty pracy na TeamQuest

Używaj SSH do łączenia się z terminala Windows na maszynie gospodarza do maszyny wirtualnej. Używanie SSH do łączenia się z „OS gośćmi” jest łatwe i wydajne. Nie ma potrzeby używania często wolniejszego graficznego interfejsu użytkownika na maszynie wirtualnej do otwierania terminala lub kopiowania / wklejania kawałków kodu czy poleceń. Jako bonus, ponieważ nie działa żadne środowisko graficzne, użycie pamięci RAM jest dość niskie.

Edytor

Nawet jeśli lubisz vima to w przypadku czegokolwiek innego niż plik skryptu jest on po prostu niepraktyczny (no przyznaj się no…). Taki VS Code jest po prostu wygodny ale jak z nim pracować jeśli kod źródłowy znajduje się na maszynie wirtualnej?

Jeśli popatrzysz na dostępne rozszerzenia VS Code to zobaczysz, że istnieje takie jedno od Microsoft o nazwie Remote - SSH: Editing Configuration Files, które umożliwia użycie SSH do używania VS Code jako zdalnego edytora. I działa to dokładnie tak, jak na komputerze lokalnym!

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej