기술의 일반적인 흐름은 점점 더 작아지는 방향으로 발전하고 있습니다. 데스크톱 PC에서 시작해 노트북, 태블릿, 그리고 시계에 이르기까지, 사용자들은 복잡한 케이블과 어댑터를 들고 다니지 않고도 모바일 컴퓨터를 활용할 수 있다는 점에서 큰 가치를 느낍니다.
이 글에서는 안드로이드 스마트폰에 완전히 작동하는 우분투(Ubuntu) 리눅스 운영체제(OS)를 설치하는 방법을 소개합니다. 첫 번째 방법은 기기를 루팅(rooting)해야 하며, 두 번째 방법은 루팅 없이도 가능한 방법입니다.

루트(Root)란 무엇인가?
안드로이드 폰은 리눅스의 파일 시스템 소유권과 권한 체계를 사용합니다. 여기서 '루트(root)'는 슈퍼유저(superuser), 즉 최고 관리자 권한을 의미합니다.
기기에 로그인하면 사용자 권한에 따라 수행할 수 있는 기능이 제한됩니다. 반면 루트 사용자는 애플리케이션 삭제를 포함해 어떤 파일이든 자유롭게 조작할 수 있는 모든 권한을 갖습니다.
슈퍼유저 권한을 부여받기 전에는 먼저 부트로더(bootloader)를 잠금 해제하고 커스텀 리커버리(custom recovery)를 설치해야 합니다.
기기를 루팅하면 제조사가 제거한 표준 리눅스 기능이 추가됩니다. 이는 su(switch user, 사용자 전환)라는 작은 파일을 시스템 내 권한과 함께 배치하는 방식으로 이루어집니다.

이 파일을 실행하면 일반 사용자의 권한과 자격 증명이 완전한 제어권을 가진 슈퍼유저로 전환됩니다.
앱을 활용해 안드로이드 기기 루팅하기
이 방법을 사용하려면 구글 플레이 스토어에서 세 가지 앱을 설치해야 합니다.
BusyBox
BusyBox는 평소에는 접근할 수 없는 리눅스 명령어들을 폰에서 사용할 수 있게 해주는 도구입니다. 많은 루팅 앱이 정상적으로 작동하기 위해 필수적입니다.

Linux Deploy
Linux Deploy는 안드로이드 폰에 리눅스 OS를 쉽고 빠르게 설치할 수 있도록 돕는 오픈소스 프로그램입니다.

이 앱은 플래시 카드(저장소)에 디스크 이미지를 생성하고, 이를 마운트한 후 리눅스 배포판을 설치하는 방식으로 작동합니다.
앱을 열어 루트 권한이 있는지 확인하세요(BusyBox를 설치했다면 이미 확보된 상태일 것입니다). 화면 상단 또는 우측 하단의 다운로드 버튼을 클릭합니다.

- 옵션 메뉴가 나타나면 대부분의 설정은 기본값으로 유지하고, Properties: Linux 항목에서 원하는 배포판을 선택합니다.
- Distribution suite에서 옵션을 골라 리눅스 버전(flavor)을 변경할 수 있습니다.
- Desktop environment에서 원하는 데스크톱 환경을 선택하면 앱의 외관과 사용감을 바꿀 수 있습니다.
- GUI 설정에서 Enable에 체크하면 기기에 그래픽 인터페이스가 활성화됩니다. GUI 설정 안에서 화면 해상도 등의 옵션도 조정할 수 있습니다.
- Properties 항목에서 Username을 root로 설정하면 슈퍼유저 권한을 부여받게 됩니다.
메뉴를 열려면 화면 우측 상단의 점 세 개 아이콘을 클릭하고, Install을 선택한 후 OK를 눌러 설치를 시작합니다.
안드로이드 기기에 리눅스 배포판 전체를 설치하는 과정이므로 다소 시간이 걸립니다.
설치가 완료되면 START를 눌러 세션을 실행하고, 사용을 마친 후에는 STOP을 누르면 됩니다.
VNC Viewer
마지막으로 설치할 앱은 VNC Viewer입니다. 이 앱은 안드로이드 기기를 원격 데스크톱처럼 만들어 리눅스 GUI를 볼 수 있게 해줍니다.

앱을 연 후 새 연결을 추가하고, Address 입력란에 localhost:5900을 입력한 뒤 Create를 클릭합니다. localhost용 새 창이 열리면 CONNECT를 클릭합니다.
인증(Authentication)을 요구하면 앞서 설정한 비밀번호를 입력하고 Done을 클릭합니다. 이제 리눅스 화면을 보며 직접 사용할 수 있습니다.
UserLAnd로 루팅 없이 리눅스 OS 설치하기
안드로이드 폰에 리눅스 OS를 설치하는 또 다른 방법은 UserLAnd 앱을 이용하는 것입니다. 이 방법의 가장 큰 장점은 기기를 루팅할 필요가 없다는 점입니다.

구글 플레이 스토어에서 UserLAnd를 다운로드하여 설치하세요. 이 프로그램은 폰에 하나의 레이어를 생성해, 선택한 리눅스 배포판을 실행할 수 있게 해줍니다.
앱을 실행한 후 Ubuntu를 선택하고 OK를 탭합니다. 이어서 ALLOW를 클릭해 앱 권한을 허용합니다.
사용자 로그인 정보를 입력합니다. 우분투 세션에 사용할 Username, Password, VNC 비밀번호를 설정한 후 CONTINUE > VNC > CONTINUE 순서로 진행합니다.
이 계정 정보는 VNC 및 SSH 접속에 사용됩니다. UserLAnd가 우분투에 필요한 모든 파일을 다운로드하며, 진행 상황이 화면에 표시됩니다. 다운로드 시간은 인터넷 속도에 따라 달라집니다.
설치가 완료되면 bVNC 앱을 다운로드하기 위해 구글 플레이 스토어로 자동 이동됩니다.

Install을 클릭한 후 Back을 눌러 UserLAnd 앱으로 돌아갑니다. 요청 시 bVNC가 파일에 접근하도록 Allow를 클릭해 권한을 허용합니다.
우분투 옵션이 목록에 표시되면 해당 항목을 탭해 리눅스 세션을 시작합니다. 옵션이 없다면 화면 하단의 Sessions를 클릭한 후 우측 상단의 + 버튼을 탭하세요.
새 세션 이름을 Ubuntu로 지정하고, Filesystem에서 apps:Ubuntu를 선택한 뒤, Service Type은 ssh로 설정하고 Done을 누릅니다.
리눅스 세션을 실행하려면 화면 하단의 Sessions를 탭합니다. 새 세션이 열리면 데스크톱 환경이 나타납니다.
애플리케이션을 열려면 화면 좌측 하단의 시작 메뉴를 탭하세요. 새로운 리눅스 프로그램을 설치하려면 System Tools > LXTTerminal을 통해 명령어 터미널을 사용하면 됩니다.
데스크톱을 종료하려면 화면 아무 곳이나 탭한 후 세로로 된 점 세 개 아이콘 > Disconnect를 차례로 누르면 됩니다.
마무리: 주머니 속 데스크톱 환경
위에서 소개한 방법들을 통해 스마트폰에 리눅스 OS를 설치할 수 있습니다. 리눅스는 안드로이드보다 유연성이 뛰어나, 고급 이미지 편집, 앱 개발, 실제 데스크톱 환경에서의 작업 같은 다양한 기능을 수행할 수 있습니다.
물론 작은 화면에서 작업해야 한다는 단점이 있습니다. 하지만 데스크톱을 주머니에 넣고 다닐 수 있는 강력함을 경험하고 싶다면 한번 시도해 볼 만한 가지가 충분합니다.