Sida 1 av 1

Styra datorn när skärmen är låst

Postat: 10 nov 2010, 21:24
av lobbeTobbe
Hej!

Jag tycker det är jätte bra att skärmen låser sig själv efter att man inte har rört datorn på ett tag.

Men jag skulle gärna vilja göra vissa enkla saker när den är låst, så man inte behöver ange lösenord varje gång man skall höja eller sänka volymen och datorn har låst sig. Väldigt irriterande om man pluggar och spelar musik från datorn.

Går detta att ordna?

En annan sak jag undrar är om det går att se till att datorn inte låser sig när man ser på film? både i datorn och på nätet.

Tack på förhand

Re: Styra datorn när skärmen är låst

Postat: 10 nov 2010, 22:01
av ubot
Ctrl+Alt+L låser annars skärmen manuellt. Bara så att du vet. :)

Det går att skapa ett skript som tystar musiken och sätter på skärmsläckaren om inte VLC/mplayer spelar. Jag vet inte om det går med video på webben i webbläsaren.

gnome-screensaver-command -l låter skärmen. Det kommandot kombinerat med lite kod för att kontrollera om VLC eller mplayer körs fixar biffen. Dessutom får man lägga in lite kod för att tysta musiken när skärmsläckaren går igång.
Det här skriptet borde fungera. Skriptet kontrollerar om mplayer eller VLC körs. OM programmen körs startar inte skärmsläckaren. Om programmen inte körs på systemet så går skärmsläckaren igång. Skriptet körs var 5:e minut (sleep 300) för att kontrollera om skärmsläckaren ska starta. Det bästa är nog om du inaktiverar Ubuntus vanliga skärmsläckare och sedan lägger in det här skriptet i din användares autostart-program så att skriptet startar när din användare loggar in. Det går såklart att addera fler program än VLC och mplayer. Jag vet dock inte hur man gör med Flash-video i Firefox. Jag tror att [f]lashplugin-installer i raden i skriptet låter bli att starta skärmsläckare, men tyvärr så räcker det att Flash finns på en webbsida för att skärmsläckaren ska låta bli att starta. Så det är inte en lösning som kontrollerar just om webbtv körs. :( Jag tror [f]lashplugin-installer bara betyder att pluginet är installerat i webbläsaren men jag vet inte riktigt. Du kan byta ut movie=$(ps aux | grep -o "[m]player\|[v]lc\|[t]otem\|[f]lashplugin-installer") mot movie=$(ps aux | grep -o "[m]player\|[v]lc\|[t]otem") om du struntar i webbtv-funktionen.

Det här med att justera ljuder när skärmen är låst finns som förslag här: http://brainstorm.ubuntu.com/idea/3870/
Jag är lite tveksam till det av precis samma anledningar som står i kommentarerna i länken. Är skärmen låst så är den låst. Då ska inte någon kunna ge input via tangentbordet till dator. Även om inputen bara handlar om att höja/sänka volymen i Ubuntu. Det känns som en säkerhetsrisk liksom även om man tycker att volymen inte borde vara så känslig att man inte skulle kunna ha en specialinställning just för att tillåta justering av ljudvolymen.

Med lite tips från Konservburk och dmz så får jag skriptet att låta bli att köra skärmsläckaren om en film spelas. Du ska INTE inaktivera Ubuntus vanliga skärmsläckare om jag har råkat skriva det någon annanstans i tråden. Dessutom måste skärmsläckaren vara inställd på att gå igång tidigast efter 31 sekunder eller så får du ändra värdet efter sleep från 30 till 10 eller något.

Kod: Markera allt

#!/bin/bash

# Synkronisera skriptet och skärmsläckaren.
gnome-screensaver-command -p

# Simulera aktivitet om en film spelas.
while true; do
movie=$(ps aux | grep -o "[m]player\|[v]lc\|[t]otem\|[f]lashplugin-installer")
if [[ ! -z "$movie" ]]; then
gnome-screensaver-command -p
fi

# Vänta x sekunder innan while-loopen körs igen.
# x måste vara mindre än tidsinställningen för skärmsläckaren annars startar skärmsläckaren även om en film spelas.
sleep 30

done
Här är en guide för att få skriptet att fungera:

1. Kopiera skriptet och lägg i en textfil som du döper till custom_screensaver.sh
2. Sätt exekveringsrättigheter på skriptet genom att skriva i Terminalen: chmod +x /path/to/script/custom_screensaver.sh
3. Gå in i System -> Preferences -> Startup Applications i Ubuntus meny.
4. Lägg till ett program som du döper till Screensaver och i fältet kommando skriver du /home/<användarnamn>/väg/till/dina/skript/custom_screensaver.sh