안녕하세요. 

코드를 작성할 때, 시간 단축 및 가독성을 위하여 에디터를 많이 사용하게 됩니다. 가장 많이 사용하는 것이 아무래도 가벼우면서도 (200MB 안팎의 용량) 여러 Extension을 제공하는 VS code라고 말할 수가 있습니다.

VS code의 경우에는 Microsoft에서 코드를 공개하고 있습니다. 또한, Windows 뿐만이 아니라, Mac, Linux에서도 사용되고 있어요. 하지만 VS Code는 ARM 칩셋에서는 예외적인 경우말고는 정식적인 지원을 하지 않고 있습니다.

이는 VS Code만의 문제가 아닌 x86(Intel 및 AMD 칩셋, 대부분의 노트북과 데스크탑이 해당됩니다.)에서 최적화되게 설계되어있는 대부분의 데스크톱과 노트북 운영체제 특성상 간혹 가다 ARM에서 출시한 컴퓨터가 나오면 에뮬레이터를 거쳐서 사용하기 때문에 속도가 매우 느리거나, 아예 실행이 안 되는 경우가 있었습니다. 

제가 이전에 소개했던 Chromebook Duet의 경우에도 ARM 기반의 MeidaTek의 Helio 칩셋을 사용하고 있기 때문에 특정 라이브러리가 돌아가지가 않거나, 직접 빌드를 해주어야하는 귀찮음이 존재를 합니다. (하지만 공부용으론 이만한 게 없어요!)

하지만 저 x86의 특유의 떨어지는 전성비와 최근 인텔의 삽질로 인하여, 점점 ARM 칩셋이 데스크탑-노트북에 많이 사용하려는 시도를 하면서 (애플의 애플 실리콘으로 이주 및 삼성의 Galaxy book S, Microsoft의 Surface Pro X) 프로그램 호환에 대한 걱정도 많아지고 있습니다. 실제로 Galaxy Book S의 경우에는 그 부분 때문인지 중고시장에서 매우 저렴하게 팔리고 있더라고요. 

때문에 코딩에서 필수적인 요소 중 하나인 VS code를 어떻게 ARM을 구비한 장치에서 설치할 수 있는지에 대해서 알아보려고 합니다.

 

1. MS 유저의 경우 

친절한 마이크로소프트

https://code.visualstudio.com/Download

만약 ARM 칩셋을 기반으로 윈도우 노트북을 사용하고 있으면 그냥 쓰시면 됩니다. 

아무래도 MS사에서 이미 Surface Pro X라는 자사의 제품에다 스냅드래곤 칩을 사용한 노트북을 내놓았기 때문에 이를 위해서라도 공식 다운로드 홈페이지에 올려놓은 것 같습니다. 

지금까지 이것을 활용하는 기종은 2020년 9월 기준으로 이전에나온 Galaxy Book2, 그리고 Galaxy Book S, Surface Pro X밖에는 없을 것 같지만 차츰 기종이 늘어나면서 더 많은 기기에서 사용할 수 있을 것 같습니다.

 

2. Linux (Debian) 기반

리눅스 + ARM, 사람들이 어떤 이런 특이한 조합에서 VS code를 사용할까 싶지만, 생각보다 저 기기를 쓰는 사람은 많을 것 같습니다.

바로, Raspberry PI의 존재인데요, Raspberry PI에서는 Debian 기반의 Raspberry OS (구 Raspbian)과 Ubunutu Mate를 사용하는 사람들이 많기 때문에 생각보다 수요가 많은 것 같습니다. 

저 같은 경우에는 Raspberry에서는 코드를 다른 곳에서 짠 것을 넣거나, 조금의 수정해야 할 것 같으면 Vim Editor를 사용하여 곧바로 수정하는 것을 선호합니다. 하지만 이번에 새로 영입한 Chromebook Duet에서는 이전의 크롬북과 다르게 설치가 되지 않아서 이를 해결해야 할 방법이 있는데 두 가지가 있습니다. 

 

VNC 오른쪽에 설치 된것이 VS code Insiders 및 Code-oss 입니다.

 

2-1 Headmelter Code-oss .

 

https://code.headmelted.com/

HeadMelted 대문

이전의 Vscode를 찾는 사람들을 어여삐(?) 여겨 개발자들이 따로 VS code를 맞게 수정하여 빌드시켜놓은 HeadMelter입니다. 여러 버전이 있어서 (통상적으로 6개월마다 하나씩 나오는 것 같습니다.) 알맞게 설치할 수가 있고, CLI에 code-oss라고 치면 나오게 됩니다.

설치하게 될 경우 다음과 같이 나오게 됩니다.

 

다음과 같이 웬만한 기능들이나 Extension설치가 가능하다고 나옵니다. ARM64가 지원이 안된다고 나와있지만, 사용해본 결과 대부분의 기능에서 이상이 없습니다.

 

장점:

1. 이전의 아예 vs code를 사용할 방법이 없었던 사람들에게 되게 유용합니다.

2. 기존의 VS code보다 더 가볍고, 용량을 적게 잡아먹어서 코딩할 때 상당히 유용한 것 같아요.

3. 웬만한 extension 다 돌아갑니다.

 

단점:

1. 제 컴퓨터에서만 그런지는 모르겠지만, 패키지 업데이트할 때 버전을 못 읽어서 패키지 업데이트가 진행이 안 되는 경우가 있습니다. 때문에 이를 해결하기 위해서 패키지 경로에서 지워야 했습니다.

2. 몇몇 Extension이 돌아가지를 않습니다.

3. C언어 실행 시에 gcc 명령어를 입력하여 컴파일을 해주어야 합니다. Vs code에서는 키보드 단축키로 사용이 가능하지만(Windows와 WSL 모두), Code-oss에서는 실행이 되지 않습니다.

2-2 MS Visual Studio Code Insiders

(사실 이것을 쓰기 위해 블로그에 글을...)

Reddit에서 올라온 정보인데, MS Vscode Insiders에서 ARM에서 작동할 수 있도록 Insiders 방식으로 하여 올려놓았다는 글을 보게 되었고, 당장 설치하여 사용하게 되었습니다.

https://github.com/microsoft/vscode/pull/106289#issuecomment-691076575

이때, VS code와 Insiders의 차이가 무엇이냐 하면, 정규 버전과 베타 버전이라고 보시면 될 것 같습니다.

실행의 경우 code-insiders라는 명령어로 실행하게 됩니다.

아까와 달리 지원하지 않는다라는 알림 창이 뜨지 않는 것을 확인할 수가 있습니다.

 

장점

1. C언어 컴파일이 단축키로도 돌아갑니다.

2. 그전보다는 더 많은 Extension을 사용할 수 있습니다.

3. Code-oss은 수동으로 지웠다 다시 설치하는 식으로 업데이트를 하고, 이를 계속 확인을 해주어야 하고, 패키지 관리자에 등록이 될 경우 오류를 뿜어내었는데(Chromebook Duet 기준), 그럴 필요가 없습니다.

 

단점.

1. Code-oss보다 살짝 느리다는 느낌이 주관적으로 들었습니다.

 

저는 이런 이유 때문에 Code-oss에서 Visual Studio Code Insiders로 넘어가게 되었지만, 아마 Raspberry PI에서 사용하게 되면은 다시 Code-oss를 사용할 것 같습니다.

ARM VS Code를 정식 출시되는 날이 빨리 왔으면 좋겠습니다. 

'개발 환경 설정 > Linux' 카테고리의 다른 글

Linux 볼륨을 조정해보자. Alsamixer  (0) 2020.05.09

+ Recent posts