Linux Services
Android 16 Lineout. Screenshots and steps on these pages were taken on Bass: Lineout (Lineage 23.2 / Android 16). On Android 14 (Lineage 21.0) the same tools can look different, sit in a different Settings place, or be missing from that image entirely.
Linux Services runs Linux programs from GameNativeX64 on their own. It can start them when the device boots or on a schedule, and it restarts them if they stop. It works for background servers, terminal programs, and programs with a window.
Open it from Settings → System → Linux Services (it does not appear as a normal app icon).
Before you start
Linux programs run in a Linux (Ubuntu) environment that is downloaded once, about 1.2 GB. GameNativeX64 (1.2.0-x64.17 or later) provides it, but you do not need to open GameNativeX64 to set it up:
- Open Linux Services. If Linux is not set up yet, a card at the top says Set up the Linux environment. Tap Set up. Setup continues in the background if you leave the screen, and the card shows its progress.
- Or open Linux Terminal from the app drawer. It takes you to the same card the first time.
If the card says GameNative is not connected, install or update GameNativeX64.
You never need to start Linux Services yourself. It starts with the device, and it comes back on its own if Android or an update closes it.
Linux Terminal
Linux Terminal in the app drawer opens a terminal window in the Linux environment. Opening it again brings back the same window. You can also open it from Open terminal in the Linux Services menu.
Jobs
Each program you set up is a job. The job list shows each job's state (running, stopped, restarting, or failed), what starts it, when it runs next, and how many times it has restarted.
- Start / Stop: run a job now, or stop it. A stopped job stays stopped until you start it again or its schedule comes around.
- Logs: see what the program printed. Turn on Auto-refresh in the menu to follow it live.
- Edit: change the job, or delete it.
Tap Add job to make a new one.
Setting up a job
For GUI app and Terminal jobs you also choose the Window:
- Fullscreen: fills the screen.
- Fullscreen, pinned: fills the screen and is locked there, for kiosks and signage.
- Freeform window: a normal movable window. Optionally set its position and size as left,top,right,bottom. Windows smaller than 400 by 400 pixels are enlarged to that size.
Pick the Display to show it on. If that screen is not plugged in yet, Linux Services waits up to a minute for it, then uses the main screen.
Stopping a GUI or Terminal job closes its window. Closing the window yourself counts as the job ending normally.
Schedules
Schedules use the classic cron format: minute hour day month weekday.
Weekday 0 or 7 is Sunday. Times follow the device's clock and time zone.
Inspector
Inspector (in the menu) shows every Linux program that is running now, grouped by job, with its CPU and memory use.
- Running / Sleeping: normal.
- Paused: stopped by Android or by a signal.
- Stale: left behind by a closed session, or a job that says it is running but has no program.
- Zombie: finished but not yet cleaned up.
Tap a program to End process. If it belongs to a job that restarts, the job starts it again.
Import and export
Use Import JSON / Export JSON in the menu to copy jobs between devices or back them up. When importing, Merge adds and updates jobs; Replace also removes jobs that are not in the file.
Device managers can set up jobs remotely, and a sample set of jobs is available for trying things out. See the technical page below.
Related
- Getting started
- Technical: Linux Services