[Ubuntu] 맥 OS에서 Parallels 가상 머신으로 Ubuntu 설치하기 #2 "개발자 환경 설정"

    관련 포스팅

    2022.09.11 - [프로그램/Linux] - [Ubuntu] Apple Silicon 맥에 패러렐즈로 Ubuntu Desktop 20.04 LTS 설치 #2-1 Parallels Tools 설치

     

    [Ubuntu] Apple Silicon 맥에 패러렐즈로 Ubuntu Desktop 20.04 LTS 설치 #2-1 Parallels Tools 설치

    대부분의 가상 머신들이 guest OS에서 필요한 드라이버를 사용자가 직접 설치하지 않아도 되게끔 자체적으로 패키지화 시켜 제공한다. VMware는 사용하지 않아서 잘 모르겠고, Oracle사의 VirtualBox는

    conceptbug.tistory.com

    2022.09.13 - [프로그램/Linux] - [Ubuntu] Apple Silicon 맥에 패러렐즈로 Ubuntu Desktop 20.04 LTS 설치 #2-2 한글 입력기 설정

     

    [Ubuntu] Apple Silicon 맥에 패러렐즈로 Ubuntu Desktop 20.04 LTS 설치 #2-2 한글 입력기 설정

    2022.09.09 - [프로그램/Linux] - [Ubuntu] Apple Silicon 맥에 패러렐즈로 Ubuntu Desktop 20.04 LTS 설치 #1 [Ubuntu] Apple Silicon 맥에 패러렐즈로 Ubuntu Desktop 20.04 LTS 설치 #1 일단 라이선스를 준수하..

    conceptbug.tistory.com

     


     

    이전 포스팅

    2021/01/12 - [ROS/우분투 설치] - [Ubuntu] 맥 OS에 Parallels 가상 머신으로 Ubuntu 설치하기 #1

     

    [Ubuntu] 맥 OS에서 Parallels 가상 머신으로 Ubuntu 설치하기 #1 "기본 OS 설치"

    컴퓨터에 우분투(Ubuntu)를 설치하는데에 크게 두 가지 방법이 있습니다. 가상 머신(Virtual Machine) 실제 머신(Real Machine) 이 글에서는 1번 가상 머신으로 설치하는 방법을 다룰 것입니다. (각 방법마

    conceptbug.tistory.com

     


     

    지난 포스팅에서 유료 가상 머신인 Parallels를 사용하여 Ubuntu 18.04 LTS20.04 LTS를 설치해 보았습니다.

    여기까지는 정말 단순히 OS만 설치된 상황입니다.

    보통의 Window 컴퓨터를 구매하는 경우, 사용자 계정 설정이 끝나면 우리는 보통 본인들이 즐겨 사용하는 프로그램들을 설치합니다.

    저같은 경우 인터넷을 위한 Chrome, 게임을 위한 Steam, Origin, Blizzard 등의 응용 프로그램, 및 카카오톡 등을 설치합니다.

    (아마 대다수의 다른 분들도 비슷한 경험을 하셨을 겁니다)

    기본 OS인 우분투를 설치하였으니 개발에 사용할 여러 패키지들과 응용 프로그램들을 준비할 차례입니다.

    여기서 제가 말하는 '개발'에는 우선 ROSPX4만 고려하겠습니다.

    앞서 18.04 및 20.04 설치를 동시에 진행하였으나, 여기서부터는 사실 기본 python 버전을 제외하면 동일하기 때문에 편의상 18.04를 기준으로 다루겠습니다.

    한 포스팅에 모두 담아보려고 노력하다 보니 글이 길어져 여느 때와 같이 목차를 준비했습니다.


    < 목차 >

    1. 우분투 기본 설정
    2. 패키지 설치
    3. Chrome 설치
    4. 한글 키보드 설치
    5. 개발용 폰트 설치
    6. 쉘 환경 설정
    7. IDE 설치 및 환경 설정
      1. Visual Studio Code
      2. Qt Creator

    1. 우분투 기본 설정

    패키지 설치에 앞서 우분투를 사용하는데에 유용한 기본 설정을 먼저 하겠습니다.

    좌측 하단의 크리링 머리를 클릭하시면 사용 가능한 응용 프로그램들이 나타납니다.

    저는 주로 좌측의 Dock 크기를 작게 합니다.

    크게 체감은 안될수도 있으나, 기본 사이즈는 디스플레이의 좌우 여백을 너무 차지해서 공간을 뺏깁니다.

    나중에 IDE로 코드 작업할때 좌우 크기가 좁아 코드가 애매하게 한 장에 딱 들어오지 않는 경우가 있는데 저는 매우 불편했습니다.

    [Region & Language] 탭에 들어가 [Manage Installed Languages]를 클릭하면 오른쪽과 같이 무언가 덜 설치되었다며 설치할 것이냐고 물어보는데 [Install]을 눌러 설치합니다.

    설치가 완료되면 [Close]로 닫고 다음 단계로 넘어갑니다.

    [Power] 탭입니다.

    이 부분은 개인 취향에 맞게끔 설정하면 됩니다.

    시간을 짧게 해놓으면 10~15분 이상이 걸리는 오랜 작업을 걸어놓았을때 잠금 상태(Suspend)가 되어 진행중이던 작업에 영향을 미칠 수 있습니다.

    리얼 머신, 특히 랩탑에 우분투를 설치한 경우 Power 버튼에 대한 behavior도 설정할 수 있습니다.

    혹시 과제 암살자라고 들어보셨습니까?

    구글 이미지에 한번 검색해보세요.

    졸업 전에는 '과제 암살자'이지만, 사회에서는 '일자리 암살자'가 됩니다.

    해당 파워 버튼을 눌렀을 때 어떠한 동작을 실행할 것이냐에 대한 설정인데 [Nothing]을 선택합니다.

    [Details] 탭인데 컴퓨터에 대한 개요를 볼 수 있습니다.

    마지막으로 자주 사용하지 않을 Dock 아이콘들을 삭제 해주었습니다.

    없앨 아이콘을 우클릭하여 Remove from Favorites를 선택하면 됩니다.

    반대로 추가하고자 한다면 다시 크리링 머리를 클릭해 원하는 응용 프로그램 아이콘에서 우클릭하여 Add to Favorites을 선택하여 추가합니다.


    2. 패키지 설치

    터미널을 실행합니다. (단축키는 Ctrl+Alt+T)

    다음 명령어를 입력하여 필요한 패키지들을 우분투 저장소 서버에서 다운로드 받고 설치합니다.

    # 패키지 설치 전 저장소 업데이트 및 업그레이드
    sudo apt update && sudo apt upgrade
    
    # 필요한 패키지 설치
    sudo apt install fcitx-hangul git htop net-tools rdate terminator tree -y

    fcitx-hangul : 한글 키보드 입력을 위해 필요한 패키지 입니다.

    뒤에서 다루겠습니다.

    git : 버전 관리 시스템(Version Control System)들 중, 가장 광범위하게 사용되는 git 입니다.

    사용법은 Youtube에 'git 사용법', 'git 강좌' 등의 키워드로 검색해 보시면 굉장히 잘 나와 있습니다.

    htop : 시스템 모니터링에 유용합니다.

    Window에서는 프로세스가 먹통이 되면 Ctrl+Alt+Delete 단축키를 사용하여 강제 종료하고자 하는 프로세스를 종료시킵니다.

    리눅스에는 Window와 같이 GUI를 통한 프로세스 종료 방법이 없고, command-line tool을 사용하여 직접 종료해줘야 합니다.

    따라서 종료할 프로세스의 PID(Process ID)를 직접 입력하여 프로세스를 죽이는 복잡한 일련의 과정을 수행해야 합니다.

    htop을 실행시키면 그럴 노고가 필요없습니다.

    마우스로 프로세스를 클릭한 후 F9키를 눌러 종료시키면 됩니다.

    사실 기존의 'System Monitor'를 사용해도 되지만 사용중인 core와 메모리의 점유율을 공대 감성으로 아기자기하게 표현한것이 맘에 들어 설치했습니다.

    net-tools : ip를 조회하는 명령어인 ifconfig를 실행하려면 필요한 패키지 입니다. Window에서는 ipconfig를 사용합니다.

    rdate : 가끔 시스템 시간이 안맞을때가 있는데, 서버와 컴퓨터의 시간을 동기화 시킬 때 필요합니다.

    terminator : 기존 터미널의 확장판 개념으로, 일종의 터미널 에뮬레이터 입니다.

    쉬운 화면 분할 때문에 안쓸수가 없습니다.

    어떤걸 좋아할지 몰라 다 준비해놓은 링크를 공유드립니다.

    공대 감성을 자극하는 디자인들이 매우 많습니다.

    computingforgeeks.com/best-terminal-emulators-for-linux/

     

    Best Terminal Emulators for Linux

    Everyone who is passionate and is engaged in FOSS especially Linux knows that life has never been better than being on an amazing terminal typing commands

    computingforgeeks.com

    바이너리 찌꺼기로 알록달록 꾸민 노력, 참 칭찬해.

    tree : 터미널에서 파일 구조를 보기 쉽게 나타내 줍니다.

    기본 명령어인 lsdir을 사용하듯 사용하면 됩니다.

    마지막의 -y는 "그대가 보낸 명령어를 수행하려고 보니 ~한데, 그래도 설치할 것인지? Y/n"라고 물어보는 대답에 Yes로 대답하여 "묻지도 따지지도 않고 Yes!"라는 의미입니다.

    (아마 -y없이 실행하면 "패키지들 설치하면 너의 저장 공간을 xxx만큼 소모할 것인데 실행ㄱ?" 라고 물어볼 것입니다)


    3. Chrome 설치

    기본 브라우저로 Firefox가 설치되어 있는데, 저는 사용하기 편한 Chrome을 설치하여 사용합니다.

    Chrome을 다운로드 받으러 검색해 들어가 보면 다음과 같이 패키지를 선택하라고 합니다.

    당연히 Ubuntu용 패키지를 다운받습니다.

    Open with로 간편하게 설치해도 됩니다.

    하지만 Ubuntu Linux 환경에서 프로그램을 설치하는 방법에 익숙해지기 위해 터미널에서 설치해 보겠습니다.

    Save File을 선택해 본인의 Download/ 디렉토리에 다운로드 합니다.

    # 본인의 Downloads/ 디렉토리로 이동
    cd Downloads/
    
    # 다운로드 받은 패키지 파일의 실행 권한 조회
    ls -al
    
    # 패키지 파일에 실행 권한 부여
    sudo chmod +x ./google-chrome-stable-VERSION_YOU'VE_DOWNLOADED
    
    # 패키지 설치
    sudo apt install ./google-chrome-stable-VERSION_YOU'VE_DOWNLOADED

    'Y'를 입력하면 설치가 진행됩니다.

    전체적인 진행에 앞서, 미리 준비할 수 있는 것들을 준비해 봤습니다.


    4. 한글 키보드 설치

    자신 있으시면 그냥 영문 키보드로 가셔도 되지만, 제가 자신이 없으므로 설치해 보겠습니다.

    앞서 fcitx-hangul 이라는 패키지를 설치했습니다.

    [Settings] > [Region & Language] > [Manage Installed Languages]를 눌러봅니다.

    [Keyboard input method system]을 설치한 fcitx로 변경하고, [Install / Remove Langauges...]를 눌러 Korean을 체크한 후 Apply합니다.

    여기까지 완료되었다면 컴퓨터를 재부팅합니다.

    재부팅 이후 우측 상단에 키보드 모양의 아이콘이 생긴 것을 확인할 수 있습니다.

    아이콘을 클릭한 후 [Configure]를 선택합니다.

    좌측 하단의 [+]를 클릭합니다.

    [Only Show Current Language]를 체크 해제한 후 hangul을 검색하여 추가합니다.

    한국어 키보드인 Hangul 키보드가 추가된 것을 확인할 수 있습니다.

    한국어 키보드를 추가했으니, 언어를 전환시켜줄 일명 한/영 변환키를 설정할 것입니다.

    [Global Config] 탭으로 들어가 [Trigger Input Method]를 보면 현재 언어간 변환키는 Ctrl+Space로 설정되어 있습니다.

    버튼을 클릭한 후 본인이 한/영 변환키로 설정하고자 하는 키를 입력합니다.

    맥의 경우 한/영 변환키 위치에 ⌘command 키가 있기에 제가 입력해 보았더니 Right super라고 나타납니다.

    일반적인 경우라면 우측 Alt키, R\_Alt로 변경될 것입니다.

    한글을 사랑합시다.


    5. 개발용 폰트 설치

    '코딩용 폰트'라고 한다면 허파에 바람이 불어 겉멋만 부린다고 생각할 수도 있습니다.

    하지만 코딩용 폰트를 사용해야하는 이유에 대해서는 조금만 구글링 해 봐도 나옵니다.

    굳이 설명을 하지 않아도 감이 잡히실 겁니다.

    역사깊은 코딩용 폰트로는 Courier, Hack, Consolas 등이 있습니다.

    이들은 모두 고정폭을 갖고 있다는 점입니다.

    그냥 쓰면 되지 않냐라고 물어보신다면, 해당 폰트들은 한글과의 호환성이 떨어집니다.

    국내에서 유명한 폰트로 NAVER의 나눔고딕코딩 폰트가 있지만, 이를 개선해서 나온 D2Coding을 설치할 것입니다.

    github.com/naver/d2codingfont

     

    naver/d2codingfont

    D2 Coding 글꼴. Contribute to naver/d2codingfont development by creating an account on GitHub.

    github.com

    다음 명령어를 통해 원하는 디렉토리에 다운로드 받으시거나,

    git clone https://github.com/naver/d2codingfont.git

    아래와 같이 최선 버전의 파일만 골라 다운로드 가능합니다.

    다운받은 파일을 더블 클릭하여 압축 해제(extract)하면 다음과 같이 3개의 폴더가 보입니다.

    D2Coding 폴더에 들어가 .ttf 파일을 더블 클릭해 설치합니다.

    일반 Regular체와 Bold체 모두 설치합니다.

    이렇게 하면 해당 컴퓨터에 코딩용 폰트인 D2Coding 폰트가 설치 되었습니다.


    6. 쉘 환경 설정

    쉘 에뮬레이터(terminator)도 설치했고, 폰트도 설치했으니 이제 심미적인 요소를 넣어 꾸며보려고 합니다.

    먼저 기본 응용 프로그램인 터미널부터 설정해보겠습니다.

    우클릭, 혹은 [Edit] > [Preferences]를 클릭합니다

    설정을 위해 Preferences를 클릭합니다.

    기본은 위와 같이 설정되어 있습니다.

    Default 설정이기 때문에 [Custom font]의 체크 박스를 체크하여 사용자가 원하는 서체와 크기를 정해줍니다.

    설치해주었던 D2Coding 서체를 선택, 서체 크기는 기본 12pt보다 큰 14pt로 설정했습니다.

    그리고 서체 한 칸(cell)이 차지하게 될 크기도 정할 수 있는데, 개인적으로 D2Coding 서체는 수평 자간이 조금 좁은 것 같아 넓혀줬습니다.

    이제 terminator를 변경할 것입니다.

    같은 원리로 수정할것이지만, 터미널과 비교했을때 구성 가능한 옵션이 더 풍부합니다.

    여기서 설정한 구성 요소들은 모두 dictionary화 되어 /home/.config/terminator/ 위치의 'config' 파일에 저장됩니다.

    폰트는 터미널과 동일하게 바꿨고, 배경에 단색이 아닌 투명도 90%를 적용했습니다.

    구성 파일은 위와 같이 저장되어 있습니다.

    구글링을 해보시면 더 좋은 terminator 설정 방법이 많으니 한번 검색해 보시는것도 추천드립니다.


    7. IDE 설치 및 환경 설정

    'IDE(Integrated Development Environment)', 즉 '통합 개발 환경'이라는 단어가 생소할 수도 있습니다.

    왜냐하면 저는 간단한 아두이노, Visual Studio 등의 C/C++과 PLC용 프로그램등을 다루어 봤어도, 그것들을 IDE라고 부르는지 몰랐으니까요.

    Arduino
    Window의 Visual Studio
    LS산전의 XG5000
    eclipse

    위와 같이 여러가지 IDE가 존재합니다.

    저는 PX4 개발을 목적으로 하고있기 때문에 Visual Studio CodeQt Creator를 설치할 것입니다.

    (Visual Studio와 Visual Studio Code는 다릅니다.)

    두 IDE 모두 ROS를 지원합니다.

    하지만 ROS를 지원하는 Qt Creator는 상대적으로 구버전에서 업데이트를 멈추었기 때문에 주로 저는 Visual Studio Code를 선호합니다.

    Visual Studio Code만 사용해도 부족함이 없기도 하고, Qt는 GUI툴에 특화된 제품들을 활용하여 응용 프로그램을 빌드하는데에 주력화된 크로스 플랫폼 프레임워크 입니다.

    아래는 ROS Wiki에 등록되어 있는 IDE에 관련된 글입니다.

    한번 훑어보시는 것을 권장드립니다.

    wiki.ros.org/IDEs#Visual_Studio_Code_.28VSCode.29

     

    IDEs - ROS Wiki

    This page collects experience and advice on using integrated development environments (IDEs) with ROS. Please contribute. General On ROS Answers there is a thread about Which IDE(s) do ROS developers use? that might have further hints not yet entered here.

    wiki.ros.org

    7.1 Visual Studio Code

    7.1.1 VSCode 설치

    구글에 Visual Studio Code 혹은 VSCode라고 검색하여 홈페이지로 들어갑니다.

    여담이지만, 최근 VSCode가 ARM 아키텍쳐도 지원하기 시작했습니다. Jetson 보드를 사용하시는 분들에게 희소식입니다.

    본인의 OS 계열에 맞게 설치해야 하므로 우분투를 쓰는 저는 .deb을 다운로드 하겠습니다.

    다운로드가 완료되었다면 앞서 Chrome을 설치했던 방법과 동일한 방법으로 설치를 진행합니다.

    (물론 command-line이 아닌, GUI 설치를 진행해도 무방합니다)

    # 본인의 Downloads/ 디렉토리로 이동
    cd Downloads/
    
    # 다운로드 받은 패키지 파일의 실행 권한 조회
    ls -al
    
    # 패키지 파일에 실행 권한 부여
    sudo chmod +x ./code_VERSION_OF_VSCODE_amd64.deb
    
    # 패키지 설치
    sudo apt install ./code_VERSION_OF_VSCODE_amd64.deb

    실행 불가능했던 붉은색 설치 파일이 실행 권한을 추가한 후 기존의 Chrome 설치 파일처럼 초록색으로 변한것을 볼 수 있습니다.

    간단하게 설치가 끝났습니다.

    그냥 바로 쓰면 감성이 없죠...

    어차피 같은 기능을 하는 여러 종류의 IDE들 중, 이름만 들어도 알 법한 유명한 IDE들이 살아남은 이유는 바로

    1. 그냥 예뻐서.
    2. 확장성이 좋다.
    3. 선택지가 없어서.

    잠시 머리좀 식힐 겸, 잠시 딴길로 새 보겠습니다.

    Visual C++ 1.x

    Microsoft사의 Visual C++ 1.x 버전 입니다.

    너무 경멸의 눈빛으로 바라볼 필요는 없습니다.

    1993년이었기 때문입니다.

    제가 아직 세상에 존재하지 않았던 시기이기 때문에 저는 발언권이 없다고 생각합니다.

    참고로 저 때는 Window NT시절, 1.0 및 1.5 버전은 16bit, 1.1 버전은 32bit을 지원했습니다.

    Visual C++ 4

    2, 3 버전은 건너뛰고 Visual C++ 4 버전입니다.

    건너뛴 이유는 1995년 출생으로 저와 나이가 같기 때문입니다.

    Window 97 테마를 사용하고 UI를 조금 많이 키웠다고 우기면 눈 감고 속아줄 수 있는 모양새가 되었습니다.

    좌측에 프로젝트 트리도 보이고 하단에 상태 및 결과를 표시해주는 콘솔 비슷하게 생긴 창이 추가되었습니다.

    하지만 아직도 여전히 터미널은 없습니다.

    불-편
    Visual C++ 2003
    Visual C++ 2005

    드디어 2000년대에 들어서면서 Win97스러운 GUI가 사라지고 우리가 알고 있는 IDE 모양을 갖춰가려고 노력하는 모습입니다.

    Visual Studio 2010

    2015년 당시, 대학교 2학년이 되면서 C와 C++을 배우게 되었는데 교재에는 2010버전을 쓰게끔 가이드되어 있었습니다.

    당시 교재는 담당 교수님(과 n명의 Slave들)이 직접 쓰신 교재였습니다.

    저는 3만원이 넘는 교재가 5년이나 outdated 되었음에도 사용하는 지당하신 이유가 필히 존재했을 거라고 믿어 의심치 않습니다.

    허 허 허 허 -

    흰 배경에 까맣고 파랗고 새빨간 글씨들에 장기적으로 노출되었을 때 눈의 피로도가 극심하다는 불만들로, 어느 순간부터 IDE 배경이 어두워지는 트랜드가 불어왔습니다.

    이를 '테마'로 적용시키기 시작했습니다.

    Visual C++ 2012

    세계 종말론이 나왔던 2012년.

    종말은 세계가 아니라 Visual C++ 2012의 GUI 디자인에 도래했습니다.

    아...

    Window7 한창 팔아먹던 때라 긍정적으로 이해하고 넘어가겠습니다.

    Visual Studio 2019

    현재 공식 배포된 버전들 중 가장 최신인 Visual Studio 2019 입니다.

    사실 2010년 중반부부터 출시된 IDE들은 죄다 비슷한 모습을 갖고 있습니다.

    이제 예뻐지려는 노력은 누구나 다 할수 있게 된 것이죠.

    그러므로 사용하기 편한 UI를 제공하는 IDE가 주류로 자리잡게 되었습니다.

    7.1.2 VSCode 설정

    딴소리는 여기까지 하도록 하고 이제 다시 우분투의 VSCode 설정으로 넘어가 보겠습니다.

    VSCode를 실행하여 [Settings]창으로 넘어갑니다.

    (단축키 [Ctrl]+[ , ]를 사용해도 됩니다.)

    기본적으로는 폰트와 폰트 사이즈만 바꿔보겠습니다.

    심미적인 관점은 개개인마다 차이가 있으므로 개인 취향에 맞게 테마를 설정하시면 되겠습니다.

    모든 설정에 대해 읽어보고 설정값을 넣어도 되지만, 그러기에는 설정 항목들이 너무 많습니다.

    우측 상단에 [Open Settings(JSON)] 버튼을 눌러 필요한 부분만 수정하도록 하겠습니다.

    위와 같이 settings.json 파일이 열립니다.

    편의를 위해 Ctrl+`를 사용해 밑에 터미널을 띄워 놓았습니다.

    • "editor.fontFamily": 편집기에서 사용할 폰트'들'을 설정하는데, 미리 설치했던 D2Coding 폰트만 사용할 것이므로 하나만 적었습니다.
    • "editor.fontSize": 편집기에서 보이는 폰트의 크기입니다. 솔직히 16이 예쁘긴 한데 죽을때까지 함께 할 소중한 나의 눈을 위해서는 자존심 내새우지 말고 크게 크게 18이나 20으로 갑니다.
    • "editor.letterSpacing": 편집기에서 글자 한 셀당 차지하게 되는 수평 공백 크기를 정합니다. 이 값은 변경후 settings.json 파일을 저장하여 편집기에서 바로 확인할 수 있기 때문에 본인 눈에 편한 값으로 적절히 넣어줍니다.
    • "terminal.integrated.fontSize": 터미널에서 사용할 폰트 크기를 정합니다. 위의 편집기 항목과 동일한 개념입니다.
    • "terminal.integrated.letterSpacing": 터미널에서 글자 한 셀당 차지하게 되는 수평 공백 크기를 정합니다. 위의 편집기 항목과 동일한 개념입니다.

    원하는 설정을 마쳤으면 파일을 저장합니다.

    각 설정 항목에 대한 더 자세한 설명은 아래 공식 홈페이지의 USER GUIDE를 참고합니다.

    code.visualstudio.com/docs/editor/codebasics

     

    Basic Editing in Visual Studio Code

    Learn about the basic editing features of Visual Studio Code. Search, multiple selection, code formatting.

    code.visualstudio.com

    code.visualstudio.com/docs/editor/integrated-terminal

     

    Integrated Terminal in Visual Studio Code

    Visual Studio Code has an integrated terminal so you can work in the shell of your choice without leaving the editor.

    code.visualstudio.com

    가장 중요한 Extension을 설치할 것입니다.

    여기서 Extension은 확장자, 혹은 쉽게 확장팩이라고 생각하면 좋을 것 같습니다.

    code.visualstudio.com/docs/setup/additional-components#_vs-code-extensions

     

    Setting up additional components to use with Visual Studio Code

    Setting up additional components to use with Visual Studio Code.

    code.visualstudio.com

    위에서 Visual StudioVisual Studio Code는 다르다고 했습니다.

    VSCode는 말 그대로 텍스트 파일을 수정할 수 있는 단순 텍스트 편집기(Plain Text Editor) 툴입니다.

    Visual Studio는 그 기능에 더하여 컴파일, 빌드, 디버깅 및 실행 기능까지 있는 툴입니다.

    하지만 VSCode에 extension을 설치하면 그 기능들을 더할 수 있습니다.

    좌측 툴바의 extension 버튼을 누릅니다.

    extension이 2만 3천여개가 있습니다.

    다 설치하면 무적이 되겠지만 편의상 필요한 것들만 설치해 보겠습니다.

    더 많겠지만 이정도면 ROS를 사용하는데에 큰 문제가 없습니다.

    마지막으로 열심히 설정한 VSCode를 우분투의 기본 텍스트 편집기로 등록하겠습니다.

    code.visualstudio.com/docs/setup/linux#_setting-vs-code-as-the-default-text-editor

     

    Running Visual Studio Code on Linux

    Get Visual Studio Code up and running on Linux.

    code.visualstudio.com

    xdg-mime default code.desktop text/plain

    아마 위의 명령어로 적용되지 않는 확장자들이 있을겁니다(예: .xml, .launch 등).

    그런 확장자들은 아래와 같이 파일 우클릭 후 '속성'창에서 수정해줍니다.

    7.2 Qt Creator

    Qt는 사실 많이 사용해보지 않아 잘 모르겠습니다.

    제가 포스팅한 내용중에 잘못된 사실이 있을수도 있으니 참고하여 주시기 바랍니다.

    맨 처음 ROS를 배울때 Tutorial에 Qt가 있길래 몇 번 써본게 다고, Qt에서 되는 대부분의 것들은 VSCode에서도 돌아가기 때문에 저는 주로 VSCode를 사용합니다.

    하지만 ROS Tutorial을 진행하는 동안에는 Qt를 사용해도 전혀 무방하기에, 처음 개념을 익히시는 분들에게는 괜찮을 것 같습니다.

    Qt 홈페이지입니다.

    어? 이건 우리가 알고있는 IDE가 아니다 싶습니다.

    너무 심미적인 디자인입니다.

    사실 Qt는 여러가지 제품군이 있습니다.

    위의 gif 파일을 보면 아시겠지만, GUI 프로그램을 개발하는데 사용되는 크로스 플랫폼 프레임 워크 입니다.

    그들 중 IDE에 해당되는 프로그램이 우리가 찾고있는 'Qt Creator' 입니다.

    Qt의 IDE인 Qt Creator 입니다.

    여기서 설치하면 아-주 최신 버전인 5.x 버전이 설치됩니다.

    말이 9GB지, 실제로 모두 설치하면 40GB가 넘습니다. 물론 요즘은 랩탑을 구매할때도 1TB를 쾌척하는 트랜드이니 설치해두면 '간지'납니다.

    여기서 낚이시면 안되는데, 우리가 설치해야 할 것은 QtCreator와 *ROS plugin *입니다.

    정확히 말하자면 ROS용 IDE로 사용하기 위해 ROS plugin이 필요하기 때문에, 이에 맞는 버전의 Qt를 설치해야 합니다.

    제가 위에서 말씀드렸듯이 Qt는 업데이트를 멈추었다는 말을 했는데, Qt의 업데이트가 중단된 것이 아니라 Qt의 ROS plugin의 업데이트가 중단되었습니다.

    ROS Plugin의 버전은 0.3.10, 이에 상응하는 Qt Creator 버전은 4.9.2 입니다.

    (2021.0.26 기준 최신 Qt Creator 버전은 4.14.x입니다)

    아래는 참고할 설치 가이드 링크입니다.

    (구글에 qtcreator ros plugin 이라고 검색해보시면 됩니다)

    ros-qtc-plugin.readthedocs.io/en/latest/_source/How-to-Install-Users.html

     

    How to Install (Users) — ROS Qt Creator Plug-in documentation

    This wiki explains the procedure for installing the ROS Qt Creator Plug-in. Note If you primarily want to use this tool for development of other ROS packages (ie: not to work on the plugin itself), please follow the following instructions.

    ros-qtc-plugin.readthedocs.io

    Ubutu 18.04용 가이드를 선택하여 Bionic Online Installer를 다운로드 받습니다.

    다운받은 후, 파일의 실행 권한을 추가합니다.

    (파일 접근 권한 수정은 해당 포스팅에서 많이 다루었으므로 이 과정은 자세히 다루지 않겠습니다)

    실행 권한을 부여한 후 더블 클릭하여 설치를 계속 진행하면 됩니다.

    용량이 착해졌습니다.

    설치가 완료된 이후 터미널을 실행하여 아래와 같이 입력하면 ROS plugin을 이용할 수 있는 Qt Creator가 실행됩니다.

    Qt Creator를 사용한 ROS 강의는 유튜브에 많이 있으니 검색하여 참고하시면 되겠습니다.


    마무리

    저는 맨 처음 우분투를 설치하기 시작하면서 가상 OS는 정말 거짓말 안하고 100번은 넘게 설치해본것 같고 리얼 머신에 설치는 20번은 설치해본 것 같습니다.

    매번 설치하고 설정하는 내용들이 같기 때문에 머릿속에 순서가 정렬되어 있고 설치 파일 및 패키지들은 USB에 보관하여 사용합니다.

    우분투 서버를 어느것을 사용하느냐, 그리고 그 서버가 오늘 상태가 어떻냐에 따라 같은 용량이라도 다운로드 속도가 다르기 때문에 저처럼 이렇게 어느 정도 반복적으로 설치할 일이 있으시다면 USB로 관리하는 방법도 괜찮은 것 같습니다.

    아마 여기까지 잘 설치하셨다면 굳이 ROS나 PX4가 아니더라도 왠만한 코딩 연습이나 단순 개발 작업은 바로 시작하실 수 있을겁니다.

    이 카테고리에서 다음 포스팅은 PX4 개발 준비가 될 것 같습니다.

    #!/bin/bash
    # 독학과 경험으로 습득된 지식을 공유합니다.
    # 잘못된 용어, 개념, 정보를 표시할 수 있으며, 해당 사항을 발견하신다면 덧글로 남겨주세요.
    # 글 읽어주셔서 감사합니다.
    sudo shutdown

    댓글

    Designed by JB FACTORY