Last active
August 16, 2021 10:43
-
-
Save nbtk123/9ffbf7541e47b9c0015f5c3e9f44b7c9 to your computer and use it in GitHub Desktop.
Helps you not to forget your laptop active when no monitors are connected and the lid is closed
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# This script is for laptops only! | |
# It counts your displays. If you have only 1 display (the built-in), when you close the led the laptop will sleep. | |
# If you have at least <DISPLAYS_NUM> displays, hen you close the led nothing will happen. | |
# that's for cases that you forget your laptop not connected. | |
DISPLAYS_NUM=2 | |
`touch test` | |
display_count=`xrandr -d :0 -q | grep ' connected' | wc -l` | |
echo "display count="$display_count | |
echo "display_num="$DISPLAYS_NUM | |
if [ "$display_count" -ge "$DISPLAYS_NUM" ]; then | |
echo "nothing" | |
`gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action nothing` | |
`gsettings set org.gnome.settings-daemon.plugins.power lid-close-battery-action nothing` | |
else | |
echo "sleep" | |
`gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action suspend` | |
`gsettings set org.gnome.settings-daemon.plugins.power lid-close-battery-action suspend` | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SUBSYSTEM=="drm", RUN+="/bin/bash /home/nir/dev/scripts/displays_count_sleep.sh" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nir@nir-Vostro-3360:~/dev/scripts$ udevadm test /devices/pci0000:00/0000:00:02.0/drm/card0 | |
calling: test | |
version 204 | |
This program is for debugging only, it does not run any program | |
specified by a RUN key. It may show incorrect results, because | |
some values may be different, or not available at a simulation run. | |
=== trie on-disk === | |
tool version: 204 | |
file size: 5774243 bytes | |
header size 80 bytes | |
strings 1271747 bytes | |
nodes 4502416 bytes | |
load module index | |
read rules file: /lib/udev/rules.d/40-bridge-network-interface.rules | |
read rules file: /lib/udev/rules.d/40-crda.rules | |
read rules file: /lib/udev/rules.d/40-gnupg.rules | |
read rules file: /lib/udev/rules.d/40-hyperv-hotadd.rules | |
read rules file: /lib/udev/rules.d/40-inputattach.rules | |
read rules file: /lib/udev/rules.d/40-libgphoto2-6.rules | |
GOTO 'libgphoto2_usb_end' has no matching label in: '/lib/udev/rules.d/40-libgphoto2-6.rules' | |
read rules file: /lib/udev/rules.d/40-libsane.rules | |
read rules file: /lib/udev/rules.d/40-qemu-system-common.rules | |
read rules file: /lib/udev/rules.d/40-usb-media-players.rules | |
read rules file: /lib/udev/rules.d/40-usb_modeswitch.rules | |
read rules file: /lib/udev/rules.d/40-virtualbox-dkms.rules | |
read rules file: /lib/udev/rules.d/40-virtualbox.rules | |
read rules file: /lib/udev/rules.d/40-xdiagnose.rules | |
read rules file: /lib/udev/rules.d/42-usb-hid-pm.rules | |
read rules file: /lib/udev/rules.d/50-firmware.rules | |
read rules file: /lib/udev/rules.d/50-rbd.rules | |
read rules file: /lib/udev/rules.d/50-udev-default.rules | |
read rules file: /lib/udev/rules.d/55-dm.rules | |
read rules file: /lib/udev/rules.d/56-hpmud.rules | |
read rules file: /lib/udev/rules.d/60-cdrom_id.rules | |
read rules file: /lib/udev/rules.d/60-keyboard.rules | |
read rules file: /lib/udev/rules.d/60-pcmcia.rules | |
read rules file: /lib/udev/rules.d/60-persistent-alsa.rules | |
read rules file: /lib/udev/rules.d/60-persistent-input.rules | |
read rules file: /lib/udev/rules.d/60-persistent-serial.rules | |
read rules file: /lib/udev/rules.d/60-persistent-storage-dm.rules | |
read rules file: /lib/udev/rules.d/60-persistent-storage-tape.rules | |
read rules file: /lib/udev/rules.d/60-persistent-storage.rules | |
read rules file: /lib/udev/rules.d/60-persistent-v4l.rules | |
read rules file: /lib/udev/rules.d/61-accelerometer.rules | |
read rules file: /lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules | |
read rules file: /lib/udev/rules.d/62-google-cloudimg.rules | |
read rules file: /lib/udev/rules.d/64-btrfs.rules | |
read rules file: /lib/udev/rules.d/64-xorg-xkb.rules | |
read rules file: /lib/udev/rules.d/66-xorg-synaptics-quirks.rules | |
read rules file: /lib/udev/rules.d/69-cd-sensors.rules | |
IMPORT found builtin 'usb_id --export %p', replacing /lib/udev/rules.d/69-cd-sensors.rules:89 | |
read rules file: /lib/udev/rules.d/69-libmtp.rules | |
read rules file: /lib/udev/rules.d/69-xorg-vmmouse.rules | |
read rules file: /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules | |
read rules file: /lib/udev/rules.d/70-android-tools-adb.rules | |
read rules file: /lib/udev/rules.d/70-android-tools-fastboot.rules | |
read rules file: /etc/udev/rules.d/70-persistent-net.rules | |
read rules file: /lib/udev/rules.d/70-power-switch.rules | |
read rules file: /lib/udev/rules.d/70-printers.rules | |
read rules file: /lib/udev/rules.d/70-uaccess.rules | |
read rules file: /lib/udev/rules.d/71-seat.rules | |
read rules file: /lib/udev/rules.d/73-idrac.rules | |
read rules file: /lib/udev/rules.d/73-seat-late.rules | |
read rules file: /lib/udev/rules.d/75-net-description.rules | |
read rules file: /lib/udev/rules.d/75-persistent-net-generator.rules | |
read rules file: /lib/udev/rules.d/75-probe_mtd.rules | |
read rules file: /lib/udev/rules.d/75-tty-description.rules | |
read rules file: /lib/udev/rules.d/77-mm-ericsson-mbm.rules | |
read rules file: /lib/udev/rules.d/77-mm-huawei-net-port-types.rules | |
read rules file: /lib/udev/rules.d/77-mm-longcheer-port-types.rules | |
read rules file: /lib/udev/rules.d/77-mm-nokia-port-types.rules | |
read rules file: /lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules | |
read rules file: /lib/udev/rules.d/77-mm-platform-serial-whitelist.rules | |
read rules file: /lib/udev/rules.d/77-mm-qdl-device-blacklist.rules | |
read rules file: /lib/udev/rules.d/77-mm-simtech-port-types.rules | |
read rules file: /lib/udev/rules.d/77-mm-usb-device-blacklist.rules | |
read rules file: /lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules | |
read rules file: /lib/udev/rules.d/77-mm-x22x-port-types.rules | |
read rules file: /lib/udev/rules.d/77-mm-zte-port-types.rules | |
read rules file: /lib/udev/rules.d/77-nm-olpc-mesh.rules | |
read rules file: /lib/udev/rules.d/78-graphics-card.rules | |
read rules file: /lib/udev/rules.d/78-sound-card.rules | |
read rules file: /lib/udev/rules.d/80-drivers.rules | |
read rules file: /lib/udev/rules.d/80-mm-candidate.rules | |
read rules file: /lib/udev/rules.d/80-udisks2.rules | |
read rules file: /lib/udev/rules.d/85-brltty.rules | |
read rules file: /lib/udev/rules.d/85-hdparm.rules | |
read rules file: /lib/udev/rules.d/85-hplj10xx.rules | |
read rules file: /lib/udev/rules.d/85-keyboard-configuration.rules | |
read rules file: /lib/udev/rules.d/85-regulatory.rules | |
read rules file: /lib/udev/rules.d/85-tlp-rdw.rules | |
read rules file: /lib/udev/rules.d/85-tlp.rules | |
read rules file: /lib/udev/rules.d/85-usbmuxd.rules | |
read rules file: /lib/udev/rules.d/90-alsa-restore.rules | |
read rules file: /lib/udev/rules.d/90-alsa-ucm.rules | |
read rules file: /lib/udev/rules.d/90-libgpod.rules | |
read rules file: /lib/udev/rules.d/90-pulseaudio.rules | |
read rules file: /lib/udev/rules.d/95-cd-devices.rules | |
read rules file: /lib/udev/rules.d/95-kpartx.rules | |
read rules file: /lib/udev/rules.d/95-udev-late.rules | |
read rules file: /lib/udev/rules.d/95-upower-battery-recall-dell.rules | |
read rules file: /lib/udev/rules.d/95-upower-battery-recall-fujitsu.rules | |
read rules file: /lib/udev/rules.d/95-upower-battery-recall-gateway.rules | |
read rules file: /lib/udev/rules.d/95-upower-battery-recall-ibm.rules | |
read rules file: /lib/udev/rules.d/95-upower-battery-recall-lenovo.rules | |
read rules file: /lib/udev/rules.d/95-upower-battery-recall-toshiba.rules | |
read rules file: /lib/udev/rules.d/95-upower-csr.rules | |
read rules file: /lib/udev/rules.d/95-upower-hid.rules | |
read rules file: /lib/udev/rules.d/95-upower-wup.rules | |
read rules file: /lib/udev/rules.d/97-bluetooth-hid2hci.rules | |
read rules file: /lib/udev/rules.d/99-HTC-Vive-perms.rules | |
read rules file: /lib/udev/rules.d/99-steam-controller-perms.rules | |
read rules file: /etc/udev/rules.d/on_hdmi_connected.rules | |
rules contain 393216 bytes tokens (32768 * 12 bytes), 37142 bytes strings | |
21935 strings (189200 bytes), 18484 de-duplicated (155510 bytes), 3452 trie nodes used | |
IMPORT builtin 'usb_id' /lib/udev/rules.d/40-libgphoto2-6.rules:3 | |
unable to access usb_interface device of '/sys/devices/pci0000:00/0000:00:02.0/drm/card0' | |
IMPORT builtin 'usb_id' returned non-zero | |
GROUP 44 /lib/udev/rules.d/50-udev-default.rules:30 | |
IMPORT builtin 'path_id' /lib/udev/rules.d/71-seat.rules:43 | |
RUN 'uaccess' /lib/udev/rules.d/73-seat-late.rules:15 | |
RUN '/bin/bash /home/nir/dev/scripts/displays_count_sleep.sh' /etc/udev/rules.d/on_hdmi_connected.rules:1 | |
handling device node '/dev/dri/card0', devnum=c226:0, mode=0660, uid=0, gid=44 | |
preserve permissions /dev/dri/card0, 020660, uid=0, gid=44 | |
preserve already existing symlink '/dev/char/226:0' to '../dri/card0' | |
unable to create temporary db file '/run/udev/data/c226:0.tmp': Permission denied | |
ACTION=add | |
DEVNAME=/dev/dri/card0 | |
DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0 | |
DEVTYPE=drm_minor | |
ID_FOR_SEAT=drm-pci-0000_00_02_0 | |
ID_PATH=pci-0000:00:02.0 | |
ID_PATH_TAG=pci-0000_00_02_0 | |
MAJOR=226 | |
MINOR=0 | |
PRIMARY_DEVICE_FOR_DISPLAY=1 | |
SUBSYSTEM=drm | |
TAGS=:seat:uaccess: | |
USEC_INITIALIZED=823586 | |
run: 'uaccess' | |
run: '/bin/bash /home/nir/dev/scripts/displays_count_sleep.sh' | |
unload module index |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment