eb874011f3
Fix tty names, cmd arguments... Install the stop/restart scripts. Remove policykit support for now.
36 lines
760 B
Bash
36 lines
760 B
Bash
#!/bin/sh
|
|
|
|
FSTAT="/usr/bin/fstat"
|
|
GREP="/usr/bin/grep"
|
|
AWK="/usr/bin/awk"
|
|
SED="/usr/bin/sed"
|
|
CAT="/bin/cat"
|
|
HEAD="/usr/bin/head"
|
|
|
|
dispnum=0
|
|
if [ x"$1" = x"--display" ]; then
|
|
if [ $# != 2 ]; then
|
|
echo "usage: $0 [--display DISPLAY]"
|
|
exit 1
|
|
fi
|
|
DISPLAY=$2
|
|
fi
|
|
if [ ! -z "${DISPLAY}" ]; then
|
|
dispnum=$(echo ${DISPLAY} | ${SED} -E -e 's|:([0-9]+).*|\1|')
|
|
fi
|
|
|
|
if [ ! -f "/tmp/.X${dispnum}-lock" ]; then
|
|
echo "ERROR: Failed to find X lock file for display ${dispnum}"
|
|
exit 1
|
|
fi
|
|
pid=$(${CAT} "/tmp/.X${dispnum}-lock")
|
|
|
|
device=$(${FSTAT} -p ${pid} | ${GREP} ttyC | ${HEAD} -1 | ${AWK} '{print $9}')
|
|
|
|
if [ -z "${device}" ]; then
|
|
echo "ERROR: Failed to find TTY device for X server on display ${dispnum}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "/dev/${device}"
|