mostly fixes
[distro-setup] / brc2
diff --git a/brc2 b/brc2
index fdb2c060e6de9a0742e667d585f768be98b9001b..1905c792569e431e9b2ed9124236644e58a140d7 100644 (file)
--- a/brc2
+++ b/brc2
@@ -110,6 +110,12 @@ rootrsync() {
   s rsync -e "ssh -F /root/.ssh/confighome" "$@"
 }
 
+zcheck() {
+  s ssh bow DISPLAY=:0 scrot /tmp/oegu.jpg
+  s scp bow:/tmp/oegu.jpg /t
+  s ssh bow rm /tmp/oegu.jpg
+  feh /t/oegu.jpg
+  }
 
 slemacs() {
   local arg rtime v
@@ -472,7 +478,7 @@ jrun() { # journal run. run args, log to journal, tail and grep the journal.
   journalctl -qn2 -f -u "$cmd_name" &
   # Guess of time needed to avoid missing initial lines.
   # .5 was not reliable. 1 was not reliable. 2 was not reliable
-  sleep 3
+  sleep 4
   # We kill this in prompt-command for the case that we ctrl-c the
   # systemd-cat. i dont know any way to trap ctrl-c and still run the
   # normal action for it. There might be a way, unsure.
@@ -504,7 +510,7 @@ srun() {
   fg &>/dev/null ||:
 }
 
-sm() {
+sm() { # switch mail host
   local tmp keyhash
   c /
   # run latest
@@ -517,6 +523,19 @@ sm() {
   s jrun switch-mail-host "$@"
   return $ret
 }
+sh2() { # switch host2
+  local tmp keyhash
+  c /
+  # run latest
+  keyhash=$(s ssh-keygen -lf /root/.ssh/home  | awk '{print $2}')
+  tmp=$(s ssh-add -l | awk '$2 == "'$keyhash'"')
+  if [[ ! $tmp ]]; then
+    s ssh-add /root/.ssh/home
+  fi
+  install-my-scripts
+  s jrun switch-host2 "$@"
+  return $ret
+}
 
 # shellcheck disable=SC2120
 lipush() {
@@ -1316,6 +1335,26 @@ mdt() {
 
 mo() { xset dpms force off; } # monitor off
 
+mpvgpu() {
+  # seems to be the best gpu decoding on my nvidia 670.
+  # vlc gets similar or better framerate, but is much darker output on my test movie at least.
+
+
+  case $HOSTNAME in
+    kd)
+      echo 0f | sudo tee -a /sys/kernel/debug/dri/0/pstate
+      ;;
+  esac
+  # going back to the default slow clock, and slower fan:
+  # echo 07 | sudo tee -a /sys/kernel/debug/dri/0/pstate
+  if [[ $DISPLAY ]]; then
+    mpv --vo=vdpau --hwdec=auto "$@"
+  else
+    # waylandvk seems to work the same
+    mpv --gpu-context=wayland --hwdec=auto
+  fi
+}
+
 mpvd() {
   mpv --profile=d "$@";
 }
@@ -1698,16 +1737,28 @@ EOF
   fi
 }
 
-# alert when a page goes live. not urgent.
+# alert when a page goes live.
 alert200() {
+  local quiet url tmpdir
+  quiet=false
+  case $1 in
+    # dont send a diff of the html. some html is not very readable
+    -q) quiet=true
+        shift
+        ;;
+  esac
   url="$1"
   tmpdir="$(mktemp -d)"
   cd $tmpdir
   while true; do
-    if torsocks wget -q "$url"; then
-      alertme $tmpdir
+    if wget -q "$url"; then
+      if $quiet; then
+        echo | daylert 200
+      else
+        alertme $tmpdir
+      fi
     fi
-    sleep $(( 600 + RANDOM % 300 ))
+    sleep $(( 120 + RANDOM % 300 ))
   done
 }
 
@@ -1873,6 +1924,10 @@ servicepid() {
 
 sdnbash() { # systemd namespace bash
   local unit pid
+  if (( $# != 1 )); then
+    echo $0: error wrong number of args >&2
+    return 1
+  fi
   unit=$1
   pid=$(servicepid $unit)
   m sudo nsenter -t $pid -n -m sudo -u $USER -i bash
@@ -1880,6 +1935,10 @@ sdnbash() { # systemd namespace bash
 
 sdncmd() { # systemd namespace cmd
   local unit pid
+  if (( $# <= 2 )); then
+    echo $0: error wrong number of args >&2
+    return 1
+  fi
   unit=$1
   shift
   pid=$(servicepid $unit)
@@ -1978,8 +2037,12 @@ vpn() {
 }
 
 fixu() {
+  local stats
   ls -lad /run/user/1000
-  s chmod 700 /run/user/1000; s chown iank.iank /run/user/1000
+  stats=$(stat -c%a-%g-%u /run/user/1000)
+  if [[ $stats != 700-1000-1000 ]]; then
+    m s chmod 700 /run/user/1000; m s chown iank.iank /run/user/1000
+  fi
 }
 
 # systemctl is-enabled / status / cat says nothing, instead theres