Application Launcher (launcher)

Take launch requests from the HMI and check app permissions with the Authorization Manager

Synopsis:

launcher [-b]
         [-k]
         [-l]
         [-m app_mem_limit]
         [-p path prefix]
         [-s service prefix]
         [-t num_apps]
         [-U uid[:gid,sgid,...] ]
         [-v] 
         project_name

Runs on:

QNX Neutrino

Options:

-b
Disable background launch (i.e., launch in the foreground).
-k
Disable background verify.
-l
Disable lock of memory pages for launcher.
-m app_mem_limit
RLIMIT_FREEMEM rlim_cur value (e.g., 970 is 97.0%).
-p path prefix
Location of target root (default is /).
-s service prefix
Location of target pps (default is /pps/services/launcher).
-t num_apps
Number of most-used apps to batch-verify before starting window manager.
-U uid[:gid,sgid,...]
Set explicit uid and optionally gid and any number of sgids.
-v
Increase output verbosity. The -v option is cumulative; each additional v adds a level of verbosity.

Description:

The launcher service acts as a kind of go-between, taking requests from the HMI to launch an app while at the same time checking with the Authorization Manager (authman) to confirm that the app has the appropriate permissions to do what it wants.

The service communicates with the rest of the system using the /pps/services/launcher/control object. For more information about PPS objects, see the "PPS Objects Reference ".

PPS objects:

To launch an app, the launcher service echoes a start command to the launcher control object. This command contains the application's ID string, display parameters, and a numeric identifier:

echo "msg::start\ndat::application_id,display_parameters\nid::ID_number"
> /pps/services/launcher/control
Note: You can manually launch apps by issuing the same start command. In this case, we strongly recommend that you provide the WIDTH and HEIGHT parameters to define the dimensions of the app display area (in pixels). These parameters ensure that the app displays correctly.

After the app starts, the service stores the process ID (PID) in the response message, which it writes to the same object. For information about working with this object, see the "/pps/services/launcher/control" entry in the PPS Objects Reference.