아미아미아미 :: '우분투' 태그의 글 목록
반응형

이 블로그 구독하고 있는 분은 알겠지만 제가 컴퓨터를 못 쓰는 환경에 있는데 태블릿은 사용 가능해가지고 태블릿에서 코딩하는 방법을 찾아봤습니다. 그중에서 루팅 없이 안드로이드 기기에 우분투를 실행할 수 있는 방법을 발견해서 공유하려고 합니다.

사진에서 보시듯이 터미널만 덩그러니 있는 버전이 아니라 GUI까지 다 되는 버전이고 비주얼 스튜디오 코드에서 C, C++, 러스트, 파이썬까지 실행이 됩니다.

그리고 제가 발견한 몇 가지 팁도 공유해드리겠습니다.

목차:

설치할 앱

리눅스(우분투) 설치

C / C++ 실행하기

Python 실행하기

설치할 앱

먼저 설치해야 할 앱은 다음 3개다. 다 구글 플레이스토어에 있다.

▶Andronix : 리눅스 설치하는 주소를 만들어준다.

https://play.google.com/store/apps/details?id=studio.com.techriz.andronix

▶Termux : 터미널을 실행할 수 있게 해준다.

https://play.google.com/store/apps/details?id=com.termux

▶VNC Viewer : GUI를 가능하게 해준다.

https://play.google.com/store/apps/details?id=com.realvnc.viewer.android

리눅스 (우분투) 설치

안드로닉스에 들어가면 다음과 같은 화면이 뜬다. 원하는 리눅스 배포판을 클릭한다.

나는 우분투를 선택했다.

여기서 '우분투 Moded OS를 사용해보세요' 라는 버튼이 보이는데 이건 유료 버전이다. 우분투를 더 가볍고 태블릿에서 쓰기 좋게 만들어놓은 버전이다. 총 4천원 정도를 내면 앞으로도 계속 사용할 수 있는데 내가 사용해본 경험으로는 아주 강력 추천한다. 필자는 우분투 XFCE 버전으로 진행하겠다.

여기서 설치를 누르면 다음과 같은 화면이 뜨고,

여기서 설치 글자 바로 밑의 버튼을 누르면 설치 주소가 복사된다.

이제 터뮥스 (Termux) 앱을 연다.

이 사진에 모자이크를 해놨는데 저건 사용자만을 위한 주소니까 다른 사람한테 넘겨주진 말자.

위처럼 복사된 주소를 붙여 넣고 엔터를 치면 설치가 진행된다.

설치가 완료되면 다음과 같이 글자들이 멈춰있는 화면이 뜬다.

여기서 맨 밑줄 오른쪽에 ./start-andronix.sh 가 뜨는데 이건 설치한 리눅스 배포판을 실행하기 위해서 입력해야 되는 명령어다. 버전에 따라서 명령어가 다르게 안내될 수도 있다. 이건 꼭 외워두도록 하자.

이제 이 명령어를 입력하고 엔터를 누르면 다음 화면이 뜬다.

이 화면도 리눅스 버전마다 다를 수 있다. 필자 기준에서 설명하겠다.

일단 우리가 아시아에 살고 있으니 위아래를 사용해서 'Asia' 선택해 주고 엔터를 누르면 도시 이름을 선택해야 되는데 'Seoul'을 선택했다.

그다음에는 키보드 배열을 선택하는 화면이 나왔는데 아마 자동으로 인식한 결과가 현재 선택되어 있을 것이다. (여기서는 Generic 105-key PC (intl.) ) 대체로 101키를 사용하면 호환이 된다. 다른 외부 키보드를 사용할 일이 있을 수도 있어서 나는 'Generic 101-key PC'를 선택했다.

그리고 키보드 언어 설정이 나오는데 나는 영어를 선택했다. 경험상 한국어를 깔아서 한영 키를 통해 영어와 한국어를 써본 결과 뭔가 설정이 잘 안되었는지 한국어 타이핑할 때 이상할 때가 많았다. 나는 코딩에만 사용하려고 해서 그냥 영어를 선택했다. (한국어도 사용하실 분께는 죄송합니다만, 구글에서 검색해 주시기 바랍니다.)

AltGr 키를 설정하라고 하는데 사실 사용할 일이 거의 없다. 기본 설정을 사용했다.

Compose key 라는 설정이 있던데, 이것도 영어를 자판에서 사용할 일이 없다. 그래서 No compose key 를 선택했다.

그러고 나면 또 아까의 검은 화면이 뜨면서 설정이 진행된다.

그러고 나서 다음 화면이 뜬다.

사용자 이름 설정이다. 시스템에 별로 상관없고, 마음에 드는 이름을 적으면 된다. 그다음에 풀네임 설정, 비밀번호 설정이 있다.

설정을 마치고 나면 또 다음과 같은 검은 창이 뜬다.

그러면 이제 설치가 완료된 것이다!!

Termux를 껐다 켜보자. exit 누르고 엔터를 하는 것을 두 번 하면 꺼진다.

그리고 아까 외워뒀던 시작 명령어 (나의 경우는 ./start-andronix.sh) 를 입력한다. 그리고 vncserver-start 를 입력하면 다음 창이 뜬다.

이건 화질 설정인데 원하는 설정으로 고르자. 나는 FHD를 했다. 만약 맨 밑의 커스텀 화질을 설정한다면 반드시 포트 번호는 1번으로 하자.

그러고 나서 VNC Viewer 앱을 켠다.

오른쪽 아래의 플러스 버튼을 누른다.

주소는 반드시 localhost:1 로 설정한다. 이름은 마음대로 설정해도 된다. 그리고 CREATE를 누른다.

새로 생긴 이 버튼을 누른다.

비밀번호를 입력해야 되는데 아까 설정 창에서 설정했던 비밀번호를 입력한다.. 그리고 앞으로 비밀번호를 입력하지 않아도 자동으로 되게 하기 위해 Remeber password를 입력한다.

짠! 우분투의 화면이다. 맨 아래의 왼쪽에서 두 번째 아이콘이 터미널 아이콘이다. 다음과 같이 터미널에서 apt-get update 명령어도 잘 먹고 파이썬도 실행된다.

종료하는 방법은 VNC Viewer를 닫은 다음 Termux에서 vncserver-stop을 입력한다. 그리고 1을 입력하고 엔터를 누른다. 그리고 exit를 두 번 입력해서 나간다.

추가: 한국어 안 깨지게 하기.

https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%82%98%EB%88%94%ED%8F%B0%ED%8A%B8_%EC%84%A4%EC%B9%98

이 방법을 따라한 다음에

sudo fc-cache -f -v

이 명령어를 수행하면, 폰트 캐시가 갱신되고 바로 화면에 변화가 나타날 것이다.

+팁: VNC Viewer 에서 화면 보기에서 위의 아이콘 중 i 를 누른 다음 Picture quiality 를 설정할 수 있는데 여기서 High 로 선택하면 선명하게 보인다.

여기까지가 우분투 설치 방법이지만 C/C++, 파이썬을 실행하는 방법도 공유하겠다. 리눅스를 처음 다뤄보고 설정을 직접 해보지 않은 사람도 있을거라 생각한다. 이 언어들을 실행/디버그 하기 위한 기본적인 방법까지 설명하겠다.

그리고 파이썬에도 해당되는데, gcc와 g++는 반드시 설치되어 있어야 나중에 기능 설치할 수 있으니까 아래의 build-essential 설치까지는 반드시 진행해야 된다.

C / C++

우선 터미널을 열어서 다음 명령어를 치면

gcc --version g++ --version

설치가 안 되어있기 때문에 위와 같은 문구가 뜰 것이다. gcc, g++는 C와 C++를 컴파일하기 위해서 반드시 필요한 것이기 때문에 설치해 줘야 된다. 다음 명령어를 입력해서 설치해 준다.

sudo apt-get install build-essential

그러고 나면 비밀번호를 입력하라고 뜬다. sudo 가 붙는 명령어 뜰 때마다 항상 비밀번호를 입력해 줘야 된다.

그러고 나서 글자가 여러 개 뜬 다음에 [Y/n]? 이라는 문구가 뜰 텐데 y를 입력해서 설치를 진행한다.

그리고 gdb도 설치해 줘야 된다.

sudo apt-get install gdb

설치가 완료되고 나서 gcc --version을 입력하면 버전 정보가 위와 비슷하게 뜰 것이다.

그다음은 프로그램 코드를 작성할 곳에 폴더를 만들 것이다. 그런데 얘네들이 뭔가 이상하게 해놓은 것인지 파일 관리자에서 폴더를 만들려면 이렇게 경고 문구가 뜨고 못 만들어진다. 여러 삽질을 해봤지만 그냥 다음처럼 터미널에서 폴더를 만들어줄 것이다.

mkdir 만들폴더이름 cd 이동할위치이름

이렇게 입력하면 폴더가 만들어지고 그 폴더로 이동할 수 있다.

바탕화면에서 오른쪽 아래 보이는 아이콘이 비주얼 스튜디오 코드다. 우리가 사용할 IDE다. 그걸 실행한다.

저 파란 글씨 중 Open folder를 클릭하고 방금 만든 폴더 (나의 경우 MyWorkspace)를 선택한다.

여기에 우 클릭을 한 다음에 나머지 폴더들도 추가해 준다

내가 만든 폴더 구조가

MyWorkspace

- CWorkspace

- CPPWorkspace

- PythonWorkspace

- LustWorkspace

인데 MyWorkspace 추가하면 하위 폴더가 보일 텐데 왜 굳이 하위 폴더까지 다 추가했냐면, 각각 폴더마다 간단하게 설정을 다르게 해줄 수 있게 하기 위해서다. 각 폴더마다 실행을 다르게 설정할 수 있다.

파일 관리자에서는 폴더를 못 만들었는데 여기서는 가능하다. 폴더에 우클릭을 하고 그곳에 새로운 파일이나 폴더를 만들 수 있다. 나는 CWorkspace 폴더에 test1 폴더를 만들고 그곳에 main.c를 만들었다.

왼쪽 아이콘 중 아래 아이콘이 추가 도구를 설치할 수 있는 곳이다. 여기서 C/C++랑 파이썬을 설치했다.

그리고 나서 보면 이렇게 자동완성 기능까지 잘 작동하는 모습을 볼 수 있다.

f5를 눌러서 실행해보면 다음과 같은 상태가 된다.

여기서 C++ (GDB/LLDB) 를 선택하고

gcc - Buile and debug active file 을 선택한다.

원하는 대로 결과가 잘 나온 모습이다.

위에서 설정을 해줬기 때문에 앞으로 F5 눌러서 실행할 때는 바로 실행된다.

그리고 지금 작업하고 있는 작업공간 폴더에 .vscode 라는 이름의 폴더가 생겼을 것이다. 그곳에 현재 작업공간의 하위 파일들에 대한 동작을 설정할 수 있다. 다른 공간에는 적용 안된다.

아래에서는 브레이크 포인트를 걸어봤다.

브레이크포인트가 잘 걸리고 변수들의 값까지 잘 보인다.

이제 C++ 실행하는 방법을 알아보자. 일단 다음과 같이 cpp 파일을 하나 만들었다.

그리고 왼쪽 아이콘 중 삼각형을 클릭한다.

Add Config (현재폴더명) 을 선택한다.

C++ (GDB/LLDB) 를 선택한 다음

g++ - Build and debug active file 을 선택한다.

그러면 실행이 된다.

만약 설정을 바꾸고 싶다면 .vscode 폴더의 launch.json 이나 task.json 의 내용을 수정하면 된다. 이것은 vscode 사용 방법을 구글링하면 나온다.

파이썬

파이썬을 실행하려면 간단하게 python3 를 터미널에 입력하면 된다. 추가 패키지를 설치하려면 일단 pip 이 있어야 한다.

sudo apt-get install python3-pip

그러고 나서 원하는 모듈을 설치하면 된다.

python3 -m pip install numpy

이런 식으로 말이다.

그리고 비주얼 스튜디오 코드에서도 동작을 확인해보겠다.

아까와 같이 삼각형 버튼 누르고 Add Config (파이썬 작업할 폴더명) 을 선택해 준다.

그리고 Python File 옵션을 선택한다.

실행이 잘 된 모습이다.

간혹 pip 으로 파이썬 라이브러리가 설치 안될 수도 있는데 실패한 설치를 한 번 더 시도해보면 될 때가 많다... 이유는 나도 모르겠다.

대부분 안드로이드 기기의 cpu 아키텍쳐가 arm 인데, 우리가 컴퓨터로 자주 쓰는 x86-64 와 다르다. 내 태블릿은 aarch64로 arm64에 속해있다. 지원 안하는 모듈도 간혹 가다 있는데 대부분의 유명한 라이브러리는 설치가 된다.

그리고 왜 아나콘다 그런걸 안썼냐고 물어보실 수 있는데 검색하다 찾은 arrch64용 버전은 뻑나고 그래서 안썼다... 몇가지 더 찾아봤는데 이상하게 꼬이는 일이 잦았다. 이걸로 삽질할 바에야 차라리 나중에 파이썬 이상해지면 밀고 다시 까는게 맘 편할 것 같았다.


본문 내용은 다 끝났지만 검색 유입이 잘 되도록 좀 더 써봅니다.

군대에서 코딩하는 방법은 저한테 이거밖에 없었습니다... 군대에서 코딩하는 방법이 일단 크게 1. 태블릿 사용, 2. 사이버지식정보방 컴퓨터 사용, 3. 브라우저에서 코딩. 인데 병사의 태블릿 사용이 가능한 공군에서는 1번이 제게 맞더군요. 2번은 보안 프로그램이 대부분 허락하지 않고 3번은 익숙하지 않았습니다. 1번 방법이 제가 저한테 맞는 환경을 만들어서 그 기반에서 코딩할 수 있다는 만족감을 줬습니다. PC를 사용하실 수 없는 환경에서 코딩하시려는 분께 도움이 되었으면 좋겠습니다.

끝.

반응형
반응형

우분투 리눅스 c++ 파이썬 코딩 언어 사용법 (영상)
https://youtu.be/-7jm1sL41WA

프로그래밍이 대두되는 지금 코딩교육은 필수 입니다.

반응형