termux 에서 우분투를 설치하는 과정을 정리해 보겠습니다.


OPENSSH

안드로이드에서 termux 를 설치한 뒤 원할한 적업을 위해 ssh 접속 도구들을 설치 합니다. 설치를 완료한 뒤 OpenSSH 를 실행하면 준비가 완료 됩니다.

~ $ pkg install openssh
~ $ pkg install net-tools
~ $ whoami
u0_a119

~ $ passwd
New password:
Retype new password:
New password was successfully set.

~ $ ifconfig
Warning: cannot open /proc/net/dev (Permission denied)
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  inet 192.168.0.11  netmask 255.255.255.0  
  broadcast 192.168.0.255
  unspec txqueuelen 3000  (UNSPEC)

~ $ sshd  # OpenSSH server 를 실행합니다

위 내용에서 확인한 결과 ssh 접속 주소는 다음과 같습니다. 주의할 점으로는 포트 주소가 기본값이 아닌 8022 를 사용하면 됩니다.

~ $ ssh -p 8022 u0_a119@192.168.0.11
u0_a119@192.168.0.11's password: 

Welcome to Termux!

Community forum: https://termux.com/community
Gitter chat:     https://gitter.im/termux/termux
IRC channel:     #termux on libera.chat


Ubuntu 24.04

~ $ pkg install proot-distro -y 
Checking availability of current mirror:

~ $ pd i ubuntu     # ubuntu 22.04 설치
~ $ pd login ubuntu # ubuntu 22.04 root 접속            
root@localhost:~# cat /etc/os-release 
PRETTY_NAME="Ubuntu 24.04 LTS"
~ $ sudo apt install dbus-x11 ubuntu-desktop -y
Multiple display managers can run simultaneously if they are configured to manage different
servers; to achieve this, configure the display managers accordingly, edit each of their init
scripts in /etc/init.d, and disable the check for a default display manager.

  1. gdm3  2. lightdm

https://github.com/SaicharanKandukuri/termux-android12-phantom-fix

$ cd termux-android12-phantom-fix 
$ source runme.sh 
[-] start fix script
Enter Auth port ( Port show in option enter six digit number):  
37661
Enter Auth pincode:  
682822
Enter debug port:  
42617

* daemon started successfully
if you ever want to disable this fix run: 
 bash disable-fix.sh
Or
adb shell device_config set_sync_disabled_for_tests none  from your pc 

LinuxDroidMaster - Ubuntu 24.04 Script


참고사이트

그러던중 Termux 우분투 셋팅법 문서를 보게 되었고 관련 여러 문서와 유투브 동영상들을 확인해본 결과, 상당한 부분 까지 많은 정보들이 공유되고 있음을 알 수 있었습니다. 그리하여 이번 시간에는 Termux 와 안드로이드에서 리눅스 GUI 설치 및 활용 부분에 관련된 내용들을 정리해 보도로 하겠습니다.


Termux

Termux, termux-x11, proot-distro 들에 대해서 알아보도록 하겠습니다.

Termux

Termux 는 안드로이드에서 리눅스 커널을 활용할 수 있도록 도와주는 앱 입니다. 현재 구글 플레이스토어에도 등록되어 있지만, 아랫 작업들을 진행하기 위해서는 안드로이드 오픈소스 앱스토어인 F-Droid 를 거쳐서 앱을 설치하는 방법과, Github 에서 설치파일을 직접 다운받아서 설치하는 방법 중 하나로 작업을 진행하여야 합니다.

추천하는 방법은 F-Droid 를 사용하는 방법으로, 향후 업데이트 버젼의 확인 및 설치작업까지도 원활하게 진행할 수 있습니다.

Permanent Fix for bad servers and app termination on Android 13 즉 안드로이드 12 이상의 운영체제 에서는 Android OS will kill any (phantom) processes greater than 32 (limit is for all apps combined) and also kill any processes using excessive CPU 관련된 내용으로 인하여 실행이 멈추는 현상이 발견되고 있어 보입니다. 처음부터 해당내용에 관련된 조치를 하기보다는, 운영 이후에 문제가 발생한 경우에 한하여 Termux 점검 및 Termux 터미널에서 How phantom process killing gets scheduled? 내용을 참고하여 해당 내용을 적용 합니다.

Termux X11

안드로이드 에서 GUI 환경을 실행하기 위해서 추가로 필요한 앱이 termux-x11 입니다. 이 앱을 추가로 설치하고 나면 아래의 예시처럼 Termux Native 환경에서도 GUI 환경이 실행 가능합니다. Termux Native 는 Debian 환경 위에서 pkg 명령어를 사용하는 등의 차이가 있습니다.

PRoot Distro

proot-distro 는 Linux 운영체계를 설치할 수 있도록 도와주는 쉘 스크립트 모듈 입니다. 작업환경 일치를 위해서 Ubuntu 22.04 를 설치해 보도록 하겠습니다.

Install Ubuntu 22.04

How to install proot Ubuntu in Termux on Android phone (Desktop + Audio + One-click starter)

Hardware acceleration in Termux X11

virglrenderer: Termux GPU hardware acceleration tutorial


참고사이트

참고 YouTube

관련 Blog