1 minute read

Code-server란

배경

현역 복무중 프로그래밍이 너무 하고싶었다. 컴퓨터를 접하는게 쉽지가 않아 다른 방법을 찾다보니 이 프로젝트를 알게 되었고 소개해보려고한다. 먼저 termux의 설치가 필요하다.

code-server
Visual Studio Code는 대부분 타입스크립트로 짜여진 프로그램이다. 이를 활용해서 VScode를 어느 환경에서든 웹앱으로서 실행할 수 있게 해주는 오픈소스 프로젝트이다.

하지만 termux에서 code-server를 바로 설치하고자 하면 root 권한이 없어 오류가 생긴다. 안드로이드에 직접 루트권한을 가진 터미널이 아닌 termux위에서 동작하는 터미널이기 떄문이다. 이를 우회하기 위해서 chroot를 활용해야한다.

chroot란

chroot란 Change Root Directory의 줄임말로 현재 실행 중인 프로세스에서 루트 디렉터리를 변경하는 작업이다. 루트의 하위 디렉터리와 상위를 분리시켜 하위 디렉터리에서 더 이상 상위 디렉터리로 가지 못하게 격리하고 하위 디렉터리를 새로운 루트로 하는 프로세스를 만들 수 있다.(chroot 더 자세한 설명)

그리고 기본적으로 termux는 chroot중 일부기능을 구현한 바이너리인 proot를 지원하다.

proot distro 설치

pkg update를 하고, pkg로 proot-distro를 설치한다

pkg update -y && pkg install proot-distro

debian 설치

proot-distro로 debian을 설치한다.

proot-distro install debian

데비안 로그인후 root 확인, sudo vim git 설치

proot-distro login debian
apt update && apt upgrade -y && apt-get install sudo vim git -y

nodejs 설치

code-server의 dependency인 nodejs 설치가 필요하다. lts버전으로 설치하자

curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -
apt-get install -y nodejs

code-server 설치

node 설치가 잘 되었는지 확인하고 code server를 설치

code-server 실행, 익스텐션, 터미널 작동 확인

code-server 설치가 완료됐다면 실행해보자. 패스워드 설정도 가능하지만 --auth none 옵션으로 실행하면 패스워드 없이 로컬호스트의 8080포트로 실행된다.

code-server --auth none

웹에서 접속하면 vscode를 볼 수 있다.

터미널과 익스텐션 모두 잘 실행된다. 삼성 DEX를 활용하면 PC에서 처럼 활용할 수 있다.

Leave a comment