Start an X11 Server

android.intent.action.VIEW

This intention is used to allow X11 applications to be able to launch an X server as a prerrequisite for other applications. The URI is specified as, for example, x11://localhost:6000, where usually localhost is the bind address and 6000 means a port number … An uri of x11://localhost:6100 would usually mean that the environment variable DISPLAY for the application would have been set to DISPLAY=localhost:100.

See related web site

Use

public void startStartAnX11Server() {
    Intent intent = new Intent("android.intent.action.VIEW"); 
    intent.setData(dataUri); // x11://host:port 
    if (intent.resolveActivity(getPackageManager()) != null) { 
        startActivity(intent);
    }
}

Example intent filter

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
            

Apps Providing an Implementation

Search on Github

Search on Google Play, AppBrain, Amazon App store or similar (not yet available - please make this happen!)

For Specification Writers

Edit on Github