launch_daemon: Basic user session implementation.

* Instead of launching Tracker/Deskbar directly, we now launch the
  Login application.
* This will now start a new session for the selected user (the password
  is currently ignored).
* When a user session is started, the launch_daemon forks, and the
  child then restarts the LaunchDaemon application in user mode.
* It then registers itself with its parent, in order to resolve user
  dependent services.
* Added a user launch file that will cause Tracker, and Deskbar to
  start in the new session.
This commit is contained in:
Axel Dörfler
2015-07-22 20:41:37 +02:00
parent 9cc27f7369
commit ac0a462fba
11 changed files with 353 additions and 67 deletions
+5
View File
@@ -41,6 +41,7 @@ SYSTEM_APPS = [ FFilterByBuildFeatures
CharacterMap
Debugger DeskCalc Devices DiskProbe DiskUsage DriveSetup
Expander
Login
NetworkStatus
ProcessController
ShowImage StyledEdit
@@ -277,6 +278,10 @@ SEARCH on $(networkSettingsFiles)
= [ FDirName $(HAIKU_TOP) data settings network ] ;
AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ;
local userLaunchScripts = <data!launch>user ;
SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;
AddFilesToHaikuImage home config non-packaged data launch : $(userLaunchScripts) ;
# fresh install indicator file for the post install scripts
SEARCH on <post-install>fresh_install
= [ FDirName $(HAIKU_TOP) data system settings ] ;