Termux에서 code-server(VScode) 실행하기 (루팅 없이 extension 가능)
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