1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#!/bin/bash
export HOME=/home/phablet
echo "Redirecting output to local session logs"
exec &> "$HOME/.ubuntu-session/logs/ubuntu-session.log"
on_stop()
{
echo "Stopping services..."
for pid in "${pids[@]}"
do
tuple=( $pid )
echo "Stopping ${tuple[0]}"
kill ${tuple[1]}
done
echo "Killing session bus..."
kill ${DBUS_SESSION_BUS_PID}
echo "Session stopped."
}
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
echo "Starting session bus"
export `dbus-launch`
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
echo "Unable to start session bus"
exit 1
fi
fi
# Initialize shell, env, etc
export HOSTNAME=android
export SHELL=/system/bin/sh
export TERM=linux
export ANDROID_CACHE=/cache
export LOOP_MOUNTPOINT=/mnt/obb
export ASEC_MOUNTPOINT=/mnt/asec
export ANDROID_PROPERTY_WORKSPACE=8,49152
export ANDROID_ASSETS=/system/app
export ANDROID_BOOTLOGO=1
export USER=phablet
export LD_LIBRARY_PATH=/opt/qt5/lib:/vendor/lib:/system/lib
export QML_IMPORT_PATH=/opt/qt5/imports
export QT_FONT_PATH=/opt/qt5/lib/fonts
export PATH=/opt/qt5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export ANDROID_DATA=/data
export QT_QPA_PLATFORM=hybris
export SHLVL=1
export MKSH=/system/bin/sh
export ANDROID_ROOT=/system
export EXTERNAL_STORAGE=/mnt/sdcard
export QT_PLUGIN_PATH=/opt/qt5/plugins
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export QT_IM_MODULE=maliit
echo "DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS}" > $HOME/.dbus-session
echo "DBUS_SESSION_BUS_PID=${DBUS_SESSION_BUS_PID}" >> $HOME/.dbus-session
device=`grep Hardware /proc/cpuinfo | awk '{print $3}'`
if [ "$device" == "ventana" ]; then
services="/etc/tablet-services"
export GRID_UNIT_PX=10
else
services="/etc/phone-services"
export GRID_UNIT_PX=18
fi
if [ ! -d "$HOME/.ubuntu-session/logs/" ]; then
mkdir -p "$HOME/.ubuntu-session/logs"
fi
while read service; do
service=( $service )
arguments=${service[@]:1}
service_path=( $(echo "${service[0]}" | tr "/" " ") )
binary=${service_path[${#service_path[@]}-1]}
${service[0]} $arguments &> "$HOME/.ubuntu-session/logs/$binary.log" &
pids=("${pids[@]}" "${service[0]} $!")
echo "Started ${service[0]} with pid $!"
done < "$services"
trap 'on_stop' TERM
wait
|