| Server IP : 81.2.241.106 / Your IP : 216.73.216.165 Web Server : Apache/2.4.67 (Debian) System : Linux tranq-f.bakta.org 5.10.0-45-amd64 #1 SMP Debian 5.10.259-1 (2026-07-02) x86_64 User : lisky ( 1002) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/acpi-support/ |
Upload File : |
# a micro library of helper functions for the power scripts
umask 022
PATH=$PATH:/usr/bin/X11
POWERSTATE=/var/lib/acpi-support/powerstate
# getXuser: get the user for the specified X display, or if none is
# specified, then the user for whatever X display we find.
# input: $displaynum: the X display to query
# output: $XAUTHORITY: the path to the xauth data used for connecting to the
# detected X display.
# $XUSER: the username of the user who owns the display.
getXuser() {
local plist display uid user startx pid userhome IFS
if [ "$displaynum" ]; then
display=":$displaynum"
else
display=.+
fi
user=
if [ -x /usr/bin/ck-list-sessions ]; then
uid=$(ck-list-sessions 2>/dev/null| awk 'BEGIN { unix_user = ""; } /^Session/ { unix_user = ""; } /unix-user =/ { gsub(/'\''/,"",$3); unix_user = $3; } /x11-display = '\'$display\''/ { print unix_user; exit (0); } /x11-display = '\'$display.0\''/ { print unix_user; exit (0);}')
if [ "$uid" ]; then
IFS=:
set -- $(getent passwd $uid)
user=$1
unset IFS
fi
fi
if [ -z "$user" ]; then
plist=$(pinky -fw) || pwf_error "pinky lost"
while read l; do
set -- $l
eval lastpp=\$$#
for ds in $2 $lastpp; do
case $ds in
$display)
user=$1
break
;;
esac
done
[ -z "$user" ] || break
for ds in $2 $lastpp; do
case $ds in
$display.0)
user=$1
break
;;
esac
done
[ -z "$user" ] || break
done <<-EOF
$plist
EOF
fi
if [ -z "$user" ]; then
startx=$(pgrep -n startx || :)
[ -z "$startx" ] || user=$(ps -o user --no-headers $startx || :)
fi
if [ x"$user" != x ]; then
for pid in `ps -U "$user" -o pid=`; do
if grep -z -q XAUTHORITY /proc/$pid/environ; then
XAUTHORITY="$(grep -z XAUTHORITY /proc/$pid/environ | cut -d= -f2-)"
export XAUTHORITY
break
fi
done
if [ -z "$XAUTHORITY" ]; then
userhome="$(getent passwd "$user" | cut -d: -f6)"
XAUTHORITY="$userhome/.Xauthority"
export XAUTHORITY
fi
else
export XAUTHORITY=
fi
XUSER="$user"
export XUSER
}
# getXconsole: get the information for the active X console, if any.
# calls getXuser to get information related to the logged-in user.
# input: none
# output: $XAUTHORITY: the path to the xauth data used for connecting to the
# detected X display.
# $DISPLAY: the X display
# $XUSER: the username of the user who owns the display.
getXconsole() {
local displaynum
if [ -x /usr/bin/ck-list-sessions ]; then
displaynum=$(ck-list-sessions 2>/dev/null| awk 'BEGIN { active = 0; } /^Session/ { active = 0; } /active = TRUE/ { active = 1; } active && /x11-display = '\':.+\''/ { gsub(/'\':*'/,"",$3); print $3; exit (0); }')
fi
if [ -z "$displaynum" ]; then
console=`fgconsole`;
displaynum=`ps t tty$console | sed -n -re 's,.*/Xorg .*:([0-9]+).*,\1,p'`
fi
if [ "$displaynum" ]; then
DISPLAY=":$displaynum"
export DISPLAY
getXuser
fi
}
# getState side effect: sets global variable STATE
getState() {
/usr/bin/on_ac_power
if [ $? -eq 1 ]; then
STATE=BATTERY
else
STATE=AC
fi
}
#check our state has actually changed
checkStateChanged() {
local OLDSTATE
# do we have our state stashed?
# XXX: if vaiable STATE is unset, set it to the null string
: ${STATE=${STATE:-}}
# XXX: make sure variable STATE has a non-null value
[ "$STATE" ] || getState
if [ -f "$POWERSTATE" ]; then
# XXX: unset or empty variable STATE and an existing but empty POWERSTATE file
# and the function will probably have undesired side effects
read OLDSTATE <$POWERSTATE || :
if [ "$STATE" = "$OLDSTATE" ]; then
exit 0
else
#stash the new state
# XXX: unset or empty variable STATE, will create an empty POWERSTATE file
echo "$STATE" > $POWERSTATE
fi
else
#we need to stash the new state
# XXX: unset or empty variable STATE, will create an empty POWERSTATE file
echo "$STATE" > $POWERSTATE
fi
}
HDPARM='/sbin/hdparm -q'
LIDSTATE=/var/lib/acpi-support/lidstate