Script: Monitor vertraagd uitschakelen
Geplaatst: Di 01 Jun 2021, 18:27
Als je computer als server werkt moet je hem aan laten staan wanneer je klaar bent met je bezigheden. Maar je kunt wel de monitor gewoon uitschakelen. In Linux Mint is daar een werkbalkhulpje voor dat het scherm uitschakelt en een in te stellen aantal seconden de muis uitschakelt om te voorkomen dat door de muisbeweging de monitor meteen weer aan gaat.
Dit script doet ongeveer hetzelfde. Het schakelt de muis uit, laat een voortgangsbalk zien wanneer de monitor uitgaat en wanneer de monitor uit is wordt de muis weer ingeschakeld.
Dit script kun je met een buroblad starter op je buroblad zetten, maar je kunt het ook met een sneltoets aan een van de toetsen op je toetstenbord verbinden. Bijvoorbeeld de pauze toets.
Het script heet monitor-uitschakelen.sh en dit staat er in:
Om de ID van je muis te lezen moet je in een terminal het commando
xinput list
uitvoeren. Met
xinput list | grep Mouse
filter je de regel eruit waar het om gaat.
Het is niet op elke computer nodig om de muis tijdelijk uit te schakelen. Als je dat liever niet doet kun je de regel voor de uitschakeling neutraliseren door er een # teken voor te zetten:
#xinput --disable $MouseID
Om dit script met een sneltoets aan je toetsenbord te verbinden moet je het volgende doen:
Rechts klik op de werkbalk
kies Systeeminstellingen
ga naar Toetsenbord
kies de tab Sneltoetsen
druk op de knop Voeg aangepaste sneltoets toe
vul een naam in, bijvoorbeeld monitor-suspend
selecteer dan bij de opdracht het script monitor-uitschakelen.sh
klik op toevoegen
klik dan in het onderste venster toetsenbordbindingen op de eerste regel niet-toegewezen
klik er nogmaals op om een toets te selecteren
druk op de pauze toets op het toetsenbord om deze aan de opdracht te binden
sluit het venster
Als je in een script de monitor wil inschakelen kun je de volgende opdracht gebruiken:
xset dpms force on
Dit script doet ongeveer hetzelfde. Het schakelt de muis uit, laat een voortgangsbalk zien wanneer de monitor uitgaat en wanneer de monitor uit is wordt de muis weer ingeschakeld.
Dit script kun je met een buroblad starter op je buroblad zetten, maar je kunt het ook met een sneltoets aan een van de toetsen op je toetstenbord verbinden. Bijvoorbeeld de pauze toets.
Het script heet monitor-uitschakelen.sh en dit staat er in:
Code: Selecteer alles
#!/bin/bash
AantalSeconden=15
WindowText='Vlug, zet de muis weg!'
# lees mouse id in een terminal met
#xinput list
# of
xinput list | grep Mouse
MouseID=11
#--------------------------------------------------
# disable mouse
xinput --disable $MouseID
# Bereken stapgrootte voor de voortgangsbalk
BalkStap=$(echo "scale=0; 100 / $AantalSeconden " | bc)
(
#initialiseer startwaarde voor de voortgangsbalk
BalkTot=$BalkStap
# loop doorlopen
for (( a=0; a<$AantalSeconden; a++ ))
do
echo "${BalkTot}"
echo "# $WindowText"
sleep 1
let BalkTot=BalkTot+BalkStap
done
# Completeer de voortgangsbalk
echo "100"
echo "# $WindowText"
) |
zenity --progress \
--title="Aftellen naar monitor uitschakelen" \
--text="$WindowText" \
--percentage=0 \
--auto-close --no-cancel --width=400
# schakel de monitor uit
xset dpms force suspend
# enable mouse
xinput --enable $MouseID
xinput list
uitvoeren. Met
xinput list | grep Mouse
filter je de regel eruit waar het om gaat.
Het is niet op elke computer nodig om de muis tijdelijk uit te schakelen. Als je dat liever niet doet kun je de regel voor de uitschakeling neutraliseren door er een # teken voor te zetten:
#xinput --disable $MouseID
Om dit script met een sneltoets aan je toetsenbord te verbinden moet je het volgende doen:
Rechts klik op de werkbalk
kies Systeeminstellingen
ga naar Toetsenbord
kies de tab Sneltoetsen
druk op de knop Voeg aangepaste sneltoets toe
vul een naam in, bijvoorbeeld monitor-suspend
selecteer dan bij de opdracht het script monitor-uitschakelen.sh
klik op toevoegen
klik dan in het onderste venster toetsenbordbindingen op de eerste regel niet-toegewezen
klik er nogmaals op om een toets te selecteren
druk op de pauze toets op het toetsenbord om deze aan de opdracht te binden
sluit het venster
Als je in een script de monitor wil inschakelen kun je de volgende opdracht gebruiken:
xset dpms force on