User Tools

Site Tools


laptop_hacks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
laptop_hacks [2017/08/16 19:00]
admin [Power Disconnect/Connect events]
laptop_hacks [2020/02/08 16:41] (current)
admin [Laptop Hacks]
Line 1: Line 1:
 =====Laptop Hacks===== =====Laptop Hacks=====
  
-Ho boy, this got difficult really quickly - in 2012 I had everything working on my laptop with the LXDE spin of fedora plus fluxbox. After a quick spurt of travel using all the laptoppy things like conserving battery life, suspend/resume and lid up and downI left it alone, using it like a desktop on AC power but updating through various fedora's. Quite unbeknownst to me, ''systemd'' came in and the laptoppy stuff got broken - I had to re-discover how to do everything again. Now I know and understand some of it and hopefully recording it here will help me next time.+Ho boy, this got difficult really quickly - in 2011 I had everything working on my laptop (Dell XPS-15 L502X) with the LXDE spin of fedora plus fluxbox. After a quick spurt of travel using all the laptoppy things like conserving battery life, suspend/resume and lid up and down I left it alone, using it like a desktop on AC power but updating through various fedora's. Quite unbeknownst to me, ''systemd'' came in and the laptoppy stuff got broken - I had to re-discover how to do everything again. Now I know and understand some of it and hopefully recording it here will help me next time.
  
 Maybe it'll help you too - but you will almost certainly need to some make tweaks for your particular setup. Maybe it'll help you too - but you will almost certainly need to some make tweaks for your particular setup.
  
-Why go through all this? Why not just use a full DE like KDE or gnome to take care of it? With KDE the best I could get (without digging just as deep as I have done here) was about 4 hours of battery life. By doing the hard work and understanding what's going on I can get up to 6.5 hours! Not bad.+Why go through all this? Why not just use a full DE like KDE or gnome to take care of it? With KDE the best I could get was about 4 hours of battery life. By doing the hard work and understanding what's going on I can get up to 6.5 hours! Not bad.
  
 ====Who's doing the work?==== ====Who's doing the work?====
Line 46: Line 46:
 These events come through DBus, so I run this in my ''.xsession''. These events come through DBus, so I run this in my ''.xsession''.
  
-  # if there's a battery battery then listen on dbus for a/c connect/disconnect: +  # if there's a battery then listen on dbus for a/c connect/disconnect: 
-  upower -e |grep -q battery && power-monitor &+  upower -e |grep -q battery && 
 +      power-monitor & 
 +      xfce4-power-manager & 
 +  }
  
 Where, ''power-monitor'' is this bit of python which keeps an eye on remaining battery life (and hibernate as it gets low) but also runs the ''low-power'' script when the power/battery status changes: Where, ''power-monitor'' is this bit of python which keeps an eye on remaining battery life (and hibernate as it gets low) but also runs the ''low-power'' script when the power/battery status changes:
Line 54: Line 57:
      
   # needs to run as normal user under X (so that battery-alarm can popup)   # needs to run as normal user under X (so that battery-alarm can popup)
 +  # requires dbus-python
      
   import gobject, os, sys   import gobject, os, sys
Line 218: Line 222:
      
   exit 0   exit 0
 +  
 +To run stuff on 'resume', put this in ''/etc/systemd/system/bhepple-resume.service'':
 +
 +  [Unit]
 +  Description=Run on 'resume'
 +  After=suspend.target
 +  
 +  [Service]
 +  User=root
 +  Type=oneshot
 +  ExecStart=/sbin/hdparm -y /dev/sda # puts aux disc into standby - should test that it's not '/' !!
 +  
 +  [Install]
 +  WantedBy=suspend.target
 +
 +and run ''systemctl enable bhepple-resume.service''
 +
 +brightness is this:
 +
 +  #!/bin/bash
 +  
 +  # since xbacklight isn't working (nouveau?)
 +  # https://bbs.archlinux.org/viewtopic.php?id=134972 and modified:
 +  
 +  # needs to be run as root
 +  
 +  NEW_VALUE=${1:-0}
 +  
 +  # base dir for backlight class
 +  basedir="/sys/class/backlight/"
 +  
 +  # get the backlight handler
 +  handler=$basedir$(ls $basedir |head -n 1)"/"
 +  
 +  # get current brightness
 +  old_brightness=$(cat $handler"brightness")
 +  
 +  # get max brightness
 +  max_brightness=$(cat $handler"max_brightness")
 +  
 +  # get current brightness %
 +  old_brightness_p=$(( 100 * $old_brightness / $max_brightness ))
 +  
 +  # calculate new brightness %
 +  if [[ $NEW_VALUE == [+-]* ]]; then
 +      new_brightness_p=$(($old_brightness_p + $NEW_VALUE))
 +  else
 +      new_brightness_p=$NEW_VALUE
 +  fi
 +  
 +  # calculate new brightness value
 +  new_brightness=$(( $max_brightness * $new_brightness_p / 100 ))
 +  
 +  (( new_brightness <= max_brightness && new_brightness >= 0 )) && {
 +      # set the new brightness value
 +      echo $new_brightness > $handler"brightness"
 +  }
      
 ====Disable nouveau==== ====Disable nouveau====
laptop_hacks.1502931617.txt.gz · Last modified: 2017/08/16 19:00 by admin