[Termux]안드로이드 폰에서 터미널 쓰기

수성컴|정보/안드로이드(앱)|2022. 2. 11. 13:39

수성비전자방입니다. 발가락을 다친 후 컴퓨터 앞에 앉아서 개발을 할 수가 없어서 누워서 휴대전화로 코딩 공부하는 방법을 생각해 보았습니다. Termux라는 앱을 설치하면 안드로이드에서 터미널을 사용하실 수 있습니다.

Termux 설치 방법

Google Play 스토어에 있는 Termux는 최신 버전이 아닙니다. Termux 최신 버전은 F-Droid에서 apk 파일을 내려받거나 GitHub에 있는 소스 코드를 빌드해서 설치하실 수 있습니다. 저는 F-Droid에서 설치해 보았습니다.

1.
Termux 공식 누리집: https://termux.com/

Termux

Termux Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are available using the APT package manager. Read the wiki

termux.com

F-Droid에서 Termux 설치: https://f-droid.org/packages/com.termux/

저는 설치 당시 최신 버전이었던 0.118.0을 설치했습니다.
F-Droid 앱은 꼭 설치하지 않으셔도 됩니다. 본인 선택으로~^^

확인을 눌러줍시다.
그리고 apk 파일 실행해서 설치해 주세요.
(보안 문제 있으면 안내에 따라 설정 바꾸면 됨.)

설치가 완료되면 실행해 보시면 됩니다.

파일 시스템 접근 방법

Termux 홈 디렉토리(~): /data/data/com.termux/files/home
내장 메모리: /storage/emulated/0

홈 디렉토리를 제외한 내장 메모리는 접근 권한이 필요합니다.

설정➡️애플리케이션으로 들어갑니다.

Termux를 누릅니다.

권한을 누릅니다.

저장공간을 누릅니다.

허용하세요.

이제 됐습니다.

터미널에 /storage/emulated/0를 입력 후 엔터 치면 내장 메모리 파일을 보실 수 있습니다.

C언어 컴파일(clang)

Termux는 pkg repository를 제공합니다. pkg update 명령을 실행하겠습니다.

pkg에 gcc는 없더라고요.
pkg install clang 명령을 실행했습니다.

clang만 설치해도 gcc, g++, clang, clang++ 명령을 다 이용할 수 있군요.
(사실 제가 clang을 잘 모릅니다.)

Hello world를 C언어로 작성하고 컴파일해 봅시다.

cd 명령어를 이용해 /storage/emulated/0/C로 이동 후 gcc ./hello.c 명령을 실행했습니다. 그러면 a.out이 생성되는데요, 권한 문제로 인해 실행이 불가능합니다. 아래 명령을 이용해 홈 디렉토리로 복사해야 합니다.
cp a.out ~

그 다음
chmod +x a.out 명령 실행.
./a.out 명령 실행.
그러면 잘 실행되는 것을 보실 수 있습니다.

개발

다른 언어로 개발 시 아래 링크를 참고하면 도움이 됩니다.
https://wiki.termux.com/wiki/Development_Environments

Development Environments - Termux Wiki

wiki.termux.com

어떤 패키지를 설치해야 하는지(설치할 수 있는지인가?) 보실 수 있습니다.
또한 문제 발생 시 Related Issues를 참고하시면 좋을 것 같네요.

제 글을 읽어 주셔서 감사합니다.

삼성 DeX랑 같이 쓰면 좋겠다는 생각이 드네요. 그러나 구글이 크롬 OS를 내놓고, 안드로이드 태블릿 지원이 약한 상황(안드로이드 3.0 허니콤 ~ 안드로이드 12L 사이 태블릿 지원 X)에서 굳이 안드로이드 상으로 무언가를 개발할 필요가 없겠다는 생각도 듭니다. 발가락 부상으로 인해 책상 앞에 앉을 수 없어 누워서 폰으로 코딩 공부 좀 해 보려고 했는데 차라리 치유에 매진하는 것이 좋겠네요.
다음에 만나요!

댓글()