How to set the Power Off key binding in i3wm for the Pinebook
#1
Information 
Greetings,

The purpose of this blog post is to detail the steps necessary to set the Power Off key-binding for the Pinebook in i3 window manager.  We don't want the Pinebook to come crashing down if we accidentally touch the poweroff button -- so we'll set a key-binding that makes sense requiring at least two other keys , for instance the $mod key and the Shift key.  The following key-binding should bring the system down cleanly ( and power off properly ) without prompting for a password:

       $mod+Shift+XF86_PowerOff 

The key-binding will be placed in the i3 config;  but I'm getting ahead of myself.  The first step is to build the poweroff script in /usr/local/sbin/

Pb_poweroff.sh

Code:
#!/bin/sh

poweroff

The simple script above should be placed in  /usr/local/sbin/  and should be made active with the following commands:

       sudo  chown  root:root  Pb_poweroff.sh

       sudo  chmod  0754  Pb_poweroff.sh

The next step is to place a rule file in  /etc/sudoers.d/  so that the command trigger will not prompt for the sudo password when the key-binding is pressed.  Creat the following rule file in /etc/sudoers.d/  :

Pb_power_rule

Code:
# Pb power rule
Cmnd_Alias PBPOWEROFF=/usr/local/sbin/Pb_poweroff.sh
ALL ALL=NOPASSWD: PBPOWEROFF

Place the above rule file in the  /etc/sudoers.d/  directory and activate with the following commands :

       sudo  chown  root:root  Pb_power_rule

       sudo  chmod  0440  Pb_power_rule

The last step is to place the following bindsym entry in the i3 configuration  ~/.config/i3/config  , in your home directory:

       bindsym  $mod+Shift+XF86_PowerOff  exec  sudo  /usr/local/sbin/Pb_poweroff.sh

Place the above bindsym entry somewhere near the end of your i3 config after the "resize"  and before the "bar".  The configuration file is  ~/.config/i3/config

Activate the key-binding by either pressing $mod+Shift+c to re-read the config,  or $mod+Shift+r to restart i3wm.

Theory

Pressing the Pinebook power button returns scancode 124;  key-sym XF86_PowerOff.  This by default does nothing in i3wm;  unlike other OS window manager | desktops  ,  which typically pulls up the shutdown dialogue.

With our keybinding in effect the Pb_poweroff.sh script will be called with sudo,  and because the Pb_power_rule file exists in /etc/sudoers.d/  the command trigger will not prompt for the password,  but the poweroff command will simply take effect:   while holding down the mod key,  and the Shift key together,  press the power button and the i3 window manager will exit and the system will cleanly shutdown and power off.

Shy
marcushh777    Cool

please join us for a chat @  irc.pine64.xyz:6667   or ssl  irc.pine64.xyz:6697

( I regret that I am not able to respond to personal messages;  let's meet on irc! )
  Reply


Messages In This Thread
How to set the Power Off key binding in i3wm for the Pinebook - by MarkHaysHarris777 - 09-16-2017, 10:21 PM

Possibly Related Threads...
Thread Author Replies Views Last Post
  Anyway to run Teamviewer for ARM/Pinebook? Ekkaia 8 2,997 01-16-2020, 08:51 PM
Last Post: dhosh
  Pinebook is going the way of Betamax? trigger 8 519 01-06-2020, 09:57 AM
Last Post: Jeremiah Cornelius
  Pinebook Wlan Driver does not work properly matze79 2 108 12-15-2019, 02:50 AM
Last Post: matze79
  Q4OS for PINEBOOK q4osteam 89 28,182 11-12-2019, 09:17 PM
Last Post: ac8dg
Information Manjaro ARM for Pinebook erchache2000 68 6,430 11-08-2019, 07:36 AM
Last Post: fitter
  Pinebook 1080p / KDE Neon freezes every 5-10 min pyrrhumain 12 756 11-02-2019, 10:03 AM
Last Post: rookieone
  Are Pinebook images compatible with Pine64+? starcrescent 7 220 09-18-2019, 09:22 AM
Last Post: tophneal
  Archlinux (mainline) for Pinebook anarsoul 51 15,880 08-28-2019, 05:23 PM
Last Post: conlaoch
  will openMP work on a pinebook? rustythorn 2 165 07-23-2019, 01:42 PM
Last Post: tophneal
  Armbian - Xenial Desktop (Pinebook) pineadmin 83 19,835 07-17-2019, 01:22 PM
Last Post: catsmile

Forum Jump:


Users browsing this thread: 1 Guest(s)