[LINUX] I want to use Ubuntu's desktop environment on Android for the time being (UserLAnd version)


This section describes how to build the minimum desktop environment for using Android Studio published earlier. There is no Japanese input, but I think it can be built in the shortest time instead.

UserLAnd seems to be the easiest way to build an Ubuntu environment on Android. You can do it with Termux, but UserLAnd is less hassle. Instead, it's slower than Termux. I think you should choose which is better depending on the speed and taste of your smartphone.

important point

Installing a desktop environment (LXDE or Xfce) can take several hours. I think it is better to secure time before implementing.


Install UserLAnd and XSDL on the Play Store. UserLAnd is an application that makes it easy to build Linux environments such as Debian and Ubuntu. XSDL is the application responsible for the desktop screen. UserLAnd only supports up to the command line, so get XSDL to support your desktop screen.

Ubuntu installation

Launch UserLAnd and tap the item labeled Ubuntu. Enter your user ID and password and tap CONTINUE. You will be prompted to select SSH, VNC, XSDL as the connection type, select SSH and tap CONTINUE.

It depends on the environment, but I think you will have to wait an hour.

Install Ubuntu desktop environment

From here, it will be the operation on Ubuntu.

First, use apt to update the package (like a warehouse of Linux applications).

sudo apt update
sudo apt upgrade -y

Next, install the desktop environment. As far as I checked, I can use two types, LXDE and Xfce. It seems that LXDE is lighter, but Xfce looks better and is not as light as LXDE, but it is light enough. I think you can choose here as you like.

It will take several hours here, depending on the speed of the network and smartphone.

· LXDE installation

sudo apt install -y lxde

・ Installation of XFCE

sudo apt install -y xfce4

Environment settings

Launch XSDL and wait for a while. At the end, a screen displaying a character string will appear, so make a note of the following.

The following string should appear on the second line from the top. Make a note of the DISPLAY port number.

export DISPLAY = (some IP address): (port number)

The following string should appear on the third line from the top. Make a note of the PULSE_SERVER port number as well.

export PULSE_SERVER = (IP address of something): (port number)

You don't have to write down the IP address. Go back to UserLAnd's Ubuntu again. In order to connect to XSDL, write down the port number and local IP address you wrote down earlier in the configuration file.

#If you don't have the text editor vim installed, install it
sudo apt install -y vim

#Describe the XDSL connection settings in startXDSL
vim /support/startXSDLServerSteo2.sh

Correct the 4th, 8th, and 16th lines.

#Around the 4th line. Replace the value of 4721 with the DISPLAY port number you wrote down.
↓ After rewriting
  DISPLAY=:(The DISPLAY port number you wrote down earlier)

#Around the 8th line. PULSE with a note of the value of 4721_Rewrite to the port number of SERVER.
↓ After rewriting
  PULSE_SERVER=localhost:(PULSE that I wrote down earlier_SERVER port number)

#Around the 16th line./usr/bin/Rewrite the value of twm to exec startlxde or exec startyxfce4. If you do not add exec, it will not work, so please add it.
  echo '/usr/bin/twm' > /home/$INITIAL_USERNAME/.xinitrc
↓ After rewriting
  #When using LXDE
  echo 'exec startlxde' > /home/$INITIAL_USERNAME/.xinitrc

  #When using Xfce
  echo 'exec startxfce4' > /home/$INITIAL_USERNAME/.xinitrc

If you don't know how to use vim, just remember the following.

Keyboard keys role
i Enter input mode from command mode
ESC Exit input mode and return to command mode
:wq Save and exit. Operate in command mode.

Launch desktop environment

Go back to UserLAnd, press and hold Ubuntu and select Stop App to exit. (If you don't want to exit, press and hold Ubuntu under Sessions and select Stop Session.) Press and hold Ubuntu again, select App Info and select XSDL. Press Apps below and then Ubuntu to boot. After a while, the Ubuntu desktop environment will start up.

In the case of UserLAnd, it will even launch XSDL, so there is no need to manually launch XSDL.

Reference site


Recommended Posts

I want to use Ubuntu's desktop environment on Android for the time being (UserLAnd version)
I want to use the Ubuntu desktop environment on Android for the time being (Termux version)
I want to use Ubuntu's desktop environment on Android for the time being (Termux version-Japanese input in desktop environment)
For the time being using FastAPI, I want to display how to use API like that on swagger
I want to move selenium for the time being [for mac]
I want to create a Dockerfile for the time being.
For the time being, I want to convert files with ffmpeg !!
I want to use Python in the environment of pyenv + pipenv on Windows 10
I tried running PIFuHD on Windows for the time being
I want to use Linux on mac
I want to develop Android apps on Android
I want to separate the processing between test time and production environment
[Hi Py (Part 1)] I want to make something for the time being, so first set a goal.
How to use MkDocs for the first time
Use logger with Python for the time being
Run yolov4 "for the time being" on windows
I played with Floydhub for the time being
I want to use the activation function Mish
I tried Python on Mac for the first time.
Flow memo to move LOCUST for the time being
I want to develop an Android application on Android (debugging)
I tried python on heroku for the first time
I will install Arch Linux for the time being.
Next to Excel, for the time being, jupyter notebook
I want to use OpenJDK 11 on Ubuntu Linux 18.04 LTS / 18.10
I want to restart CentOS 8 on time every day.
I want to use the R dataset in python
I will try to summarize the links that seem to be useful for the time being
I don't know what HEIC is. But for the time being, let's use PNG!
I want to create a lunch database [EP1] Django study for the first time
I want to create a lunch database [EP1-4] Django study for the first time
I want to use the latest gcc without sudo privileges! !!
I want to use only the normalization process of SudachiPy
[For those who want to use TPU] I tried using the Tensorflow Object Detection API 2
[Python] I want to use the -h option with argparse
I want to absorb the difference between the for statement on the Python + numpy matrix and the Julia for statement
I don't tweet, but I want to use tweepy: just display the search results on the console
I want to use a virtual environment with jupyter notebook!
I didn't know how to use the [python] for statement
"Stop committing Japanese files to git on Mac> <" For the time being, I wrote a script to search for incompatible Japanese files on Mac and Linux.
[Introduction to Reinforcement Learning] Reinforcement learning to try moving for the time being
I made a function to check if the webhook is received in Lambda for the time being
I want to get the name of the function / method being executed
I want to record the execution time and keep a log.
I want to use shortcut translation like DeepL app on Linux
Java programmer tried to touch Go language (for the time being)
I want to read the html version of "OpenCV-Python Tutorials" OpenCV 3.1 version
I tried to display the video playback time (OpenCV: Python version)
Tips for manipulating numpy.ndarray from c ++ -I want to use an iterator-
I want to use the Django Debug Toolbar in my Ajax application
I was addicted to not being able to use Markdown on pypi's long_description
I want to use the Qore SDK to predict the success of NBA players
For the first time in Numpy, I will update it from time to time
Python: I want to measure the processing time of a function neatly
I want to pin Spyder to the taskbar
I want to output to the console coolly
I tried tensorflow for the first time
I want to handle the rhyme part1
Python Master RTA for the time being
I want to handle the rhyme part3
I want to build a Python environment