mrrl-logincaps

MRRL version of logincaps
git clone https://ccx.te2000.cz/git/mrrl-logincaps
Log | Files | Refs

commit 1a0a6ea394212394806aa1e64c8a970c52467933
parent c0578248558f74c027b5986aa0354a57b503307b
Author: Jan Pobrislo <ccx@webprojekty.cz>
Date:   Wed, 16 Dec 2020 04:44:32 +0100

Move exec sockets to /run, make use of USER variable
Diffstat:
Mbin/zshaskpass_lock | 25++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)

diff --git a/bin/zshaskpass_lock b/bin/zshaskpass_lock @@ -42,16 +42,16 @@ coproc_args=( #"$@" ) if [[ -n $X ]]; then - coproc_args+=( tail -F /run/containers/xsession.$X.ccx/run/uncaught-logs/current ) + coproc_args+=( tail -F /run/containers/xsession.$X.$USER/run/uncaught-logs/current ) typeset -g plumber_fifo terminal_exec_socket terminal_el - plumber_fifo=/run/containers/xsession.$X.ccx/run/plumber_fifo + plumber_fifo=/run/containers/xsession.$X.$USER/run/plumber_fifo # exec_socket=$HOME/chome/xsession.$[ ${TTY#/dev/tty} + 4 ]/exec/socket - terminal_exec_socket=$HOME/chome/xsession.$[ ${TTY#/dev/tty} + 4 ]/exec/urxvt.socket + terminal_exec_socket=/run/containers/xsession.$[ ${TTY#/dev/tty} + 4 ].$USER/exec/urxvt #terminal_el="redirfd -w 1 /dev/null redirfd -w 2 /dev/null s6-sudo ${(qqq)${exec_socket:A}} fdmove 3 0 redirfd -r 0 /dev/null background { urxvt -pty-fd 3 }" terminal_el="redirfd -w 1 /dev/null redirfd -w 2 /dev/null s6-sudo ${(qqq)terminal_exec_socket:A}" terminal_env=rxvt-unicode # the TERM variable used else - coproc_args+=( tail -F /run/user/ccx.logs/current ) + coproc_args+=( tail -F /run/user/$USER.logs/current ) fi if (($+LOGINCAP_READFD)); then coproc_args=( fdclose $LOGINCAP_READFD unexport LOGINCAP_FD "$coproc_args[@]" ) @@ -74,9 +74,9 @@ logincap() { lock() { ssh-add -D || die "Error removing identities" - s6-svc -o -wu -T 3000 /run/containers/xsession.$X.ccx/run/service/screen-locker/ || "Failed to bring up screen locker" - s6-svstat /run/containers/xsession.$X.ccx/run/service/screen-locker/ - s6-svlisten1 -d /run/containers/xsession.$X.ccx/run/service/screen-locker/ zsh -c "read -sk 1 $'?Session locked, press enter to unlock.\n' || exit 98; until ssh-add -c; do sleep 2; read -sk 1 $'?\nUnlock failed, press enter to try again.\n' || exit 98; done; if ssh-add -l >/dev/null; then printf '%s\n' 'Success, stopping screen locker'; s6-svc -d '/run/containers/xsession.$X.ccx/run/service/screen-locker/'; fi" + s6-svc -o -wu -T 3000 /run/containers/xsession.$X.$USER/run/service/screen-locker/ || "Failed to bring up screen locker" + s6-svstat /run/containers/xsession.$X.$USER/run/service/screen-locker/ + s6-svlisten1 -d /run/containers/xsession.$X.$USER/run/service/screen-locker/ zsh -c "read -sk 1 $'?Session locked, press enter to unlock.\n' || exit 98; until ssh-add -c; do sleep 2; read -sk 1 $'?\nUnlock failed, press enter to try again.\n' || exit 98; done; if ssh-add -l >/dev/null; then printf '%s\n' 'Success, stopping screen locker'; s6-svc -d '/run/containers/xsession.$X.$USER/run/service/screen-locker/'; fi" ssh-add -l >/dev/null || die "Failed to load SSH agent identities (screen locker died?), exiting." } @@ -110,8 +110,8 @@ cmd() { local X X=$[ ${TTY#/dev/tty} + 4 ] logincap X\ $X - s6-svc -wu -o /run/service/container.xsession.$X.ccx - s6-svstat /run/service/container.xsession.$X.ccx + s6-svc -wu -o /run/service/container.xsession.$X.$USER + s6-svstat /run/service/container.xsession.$X.$USER setup-plumber-listener ;; (off|poweroff) @@ -119,7 +119,6 @@ cmd() { (reboot) logincap b;; (root) - # logincap "terminal rxvt-unicode importas -i PTY_FD PTY_FD s6-envdir /run/user/ccx/X$[ ${TTY#/dev/tty} + 4 ]/env urxvt -pty-fd \$PTY_FD" ;; logincap "terminal $terminal_env $terminal_el" logincap chvt X ;; @@ -131,7 +130,7 @@ cmd() { lock ;; (exit) - true >/run/user/ccx/X$[ ${TTY#/dev/tty} + 4 ]/fifo + true >/run/user/$USER/X$[ ${TTY#/dev/tty} + 4 ]/fifo keep_running=0 ;; (shell) @@ -166,8 +165,8 @@ read-plumber-message() { logincap chvt X ;; (exit) - true >/run/user/ccx/X$[ ${TTY#/dev/tty} + 4 ]/fifo - s6-svc -wd -di -T 1 /run/service/container.xsession.$X.ccx + true >/run/user/$USER/X$[ ${TTY#/dev/tty} + 4 ]/fifo + s6-svc -wd -di -T 1 /run/service/container.xsession.$X.$USER s6-svc -wd -d -T 1 /run/service/X$X keep_running=0 ;;