#!/bin/bash RUN_DIR="/var/run/nvidia-sleep" XORG_VT_FILE="${RUN_DIR}"/Xorg.vt_number case "$1" in suspend|hibernate) /bin/mkdir -p "${RUN_DIR}" /usr/bin/fgconsole > "${XORG_VT_FILE}" /usr/bin/chvt 63 if [[ $? -ne 0 ]]; then exit $? fi /bin/echo "$1" > /proc/driver/nvidia/suspend exit $? ;; resume) /bin/echo "$1" > /proc/driver/nvidia/suspend # # Check if Xorg was determined to be running at the time # of suspend, and whether its VT was recorded. If so, # attempt to switch back to this VT. # if [[ -f "${XORG_VT_FILE}" ]]; then XORG_PID=$(cat "${XORG_VT_FILE}") /bin/rm "${XORG_VT_FILE}" /usr/bin/chvt "${XORG_PID}" fi exit 0 ;; *) exit 1 esac