• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af marlar | 16.06.2010 23:03

Kørsel af script når computeren vågner fra dvale

Software
Jeg har brug for at køre et script hver gang min computer vågner fra dvale. Hvordan gøres det?

Det er Mint 7.
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer12

# 1

15 år siden

Permalink

Indsendt af divineant den 17. juni 2010 kl. 11:53

Permalink

Re: Kørsel af script når computeren vågner fra dvale

Mint bruger så vidt jeg ved pm-utils, hvilket betyder at du kan lave hooks som kan køres før og efter en pm action

Se hvordan her: http://wiki.archlinux.org/index.php/Pm-utils#Creating_your_own_hooks

Du skal så kun bekymre dig om "thaw" parameteren efter en suspend to disk.
  • Log ind eller opret dig for at tilføje kommentarer

# 2

15 år siden

Permalink

Indsendt af marlar den 17. juni 2010 kl. 12:07

Permalink

Re: Kørsel af script når computeren vågner fra dvale

Hold da op hvor var det simpelt! Troede jeg skulle ud i noget langt mere langhåret.

1000 tak :-)
  • Log ind eller opret dig for at tilføje kommentarer

# 3

15 år siden

Permalink

Indsendt af marlar den 17. juni 2010 kl. 20:45

Permalink

Re: Kørsel af script når computeren vågner fra dvale

Jeg har nogle problemer med at køre programmer ved opvågningen.

Det jeg vil er at genstarte Dropbox fordi den bruger op mod et minut efter opvågning på at "opdage" at filerne ikke længere er synkroniseret, dvs. at jeg risikerer at overskrive en fil med en ældre version. Et ret velkendt problem med Dropbox i øvrigt.

Min ide er derfor at stoppe og starte Dropbox for at gennemtvinge en opdatering.

I en terminal virker følgende kommando fint:

pgrep dropbox && (dropbox stop; dropbox start)

Dvs. hvis Dropbox kører, så stop og start den igen.

Men kørt via et script i /etc/pm/sleep.d/ virker det ikke.

Når jeg forsøger at stoppe Dropbox, kommer følgende i loggen:

Dropbox isn't running!

Og når jeg forsøger at starte den, så:

The Dropbox daemon is not installed!

Det er altså som om at systemet er i en fase hvor programmer ikke virker som normalt.

Noget bud på hvad er galt?
  • Log ind eller opret dig for at tilføje kommentarer

# 4

15 år siden

Permalink

Indsendt af dudsen den 17. juni 2010 kl. 21:02

Permalink

Re: Kørsel af script når computeren vågner fra dvale

kører drop box som root eller som din user?

Det kan de værre du skal have en forsinkelse ind således at komandoen først kører når systemet er fult vågent.
  • Log ind eller opret dig for at tilføje kommentarer

# 5

15 år siden

Permalink

Indsendt af marlar den 17. juni 2010 kl. 21:00

Permalink

Re: Kørsel af script når computeren vågner fra dvale

Jeg har både prøvet som root og som min user uden den hjælper.

Jeg har også prøvet med en forsinkelse, men måske ikke stor nok. Vil prøve 10 sek.
  • Log ind eller opret dig for at tilføje kommentarer

# 6

15 år siden

Permalink

Indsendt af dudsen den 17. juni 2010 kl. 21:03

Permalink

Re: Kørsel af script når computeren vågner fra dvale

det kan værre et problem med path, hvordan er dropbox sat op?
  • Log ind eller opret dig for at tilføje kommentarer

# 7

15 år siden

Permalink

Indsendt af marlar den 17. juni 2010 kl. 23:24

Permalink

Re: Kørsel af script når computeren vågner fra dvale

Forsinkelse hjælper ikke, selv 30 sekunder.

Hvordan Dropbox er sat op? Tja, har bare installeret den iflg. deres hjemmeside. Jeg kan se at den binære fil er

/home/marlar/.dropbox-dist/dropbox

men den startes vha. et pythonscript:

/usr/bin/dropbox

Jeg har prøvet at angive den fulde sti i opvågningsscriptet, men det hjælper heller ikke.
  • Log ind eller opret dig for at tilføje kommentarer

# 8

15 år siden

Permalink

Indsendt af divineant den 18. juni 2010 kl. 02:27

Permalink

Re: Kørsel af script når computeren vågner fra dvale

pm-utils hook scripts køres som root.
Uden at vide noget om dropbox, lader det til at den er bruger specifik, så prøv at kør den fra scriptet som din normale bruger.

su marlar -c "pgrep dropbox && (dropbox stop; dropbox start)"
  • Log ind eller opret dig for at tilføje kommentarer

# 9

15 år siden

Permalink

Indsendt af marlar den 18. juni 2010 kl. 19:15

Permalink

Re: Kørsel af script når computeren vågner fra dvale

Nu kommer der ingen fejl i loggen. Der står:

Dropbox daemon stopped.
Starting Dropbox...Done!

Og processen kører da også med en ny pid i forhold til før, men af en eller anden grund kommer der ingen ikon i traybaren.

Jeg var godt klar over at den kørte som root, men jeg brugte følgende:

sudo -u marlar pgrep dropbox && (dropbox stop; dropbox start)

Hvad er forskellen i forhold til su marlar -c ?

Hmmm, er det fordi kun pgrep drobox kører som marlar i ovenstående kommando, og resten efter && er "uden for" sudo?
  • Log ind eller opret dig for at tilføje kommentarer

# 10

15 år siden

Permalink

Indsendt af marlar den 18. juni 2010 kl. 19:24

Permalink

Re: Kørsel af script når computeren vågner fra dvale

Aha, her er svaret på mit spørgsmål ovenover:

sudo -u marlar whoami && whoami

giver:

marlar
root

Altså kun første del som kører under sudo!

Nå, tilbage er så bare hvorfor der ikke er nogen ikon til dropbox....?
  • Log ind eller opret dig for at tilføje kommentarer

# 11

15 år siden

Permalink

Indsendt af divineant den 19. juni 2010 kl. 14:00

Permalink

Re: Kørsel af script når computeren vågner fra dvale

Jeg vil tro at problemet kommer af at du ikke har nogen association mellem den shell kommandoen bliver kørt fra, og gnome. På samme måde som du heller ikke kan starte gui programmer fra tty1.

En mulig løsning (og nu er jeg ude i noget gætteri) kunne være at lave en event listener process som du kører fra gnome autostart. Istedet for at starte dropbox fra dit pm-utils hook fyrer du en event efter din event listener som så kører dropbox kommandoen


#!/bin/bash
#event listener process
restart_dropbox(){
pgrep dropbox && (dropbox stop; dropbox start)
}
trap restart_dropbox SIGINT
while true; do
sleep 1
done


trap reagerer nu på SIGINT signalet som du sender med kill, så dit pm-utils hook skal se således ud

kill -SIGINT `pgrep restart_db_event_listener`


  • Log ind eller opret dig for at tilføje kommentarer

# 12

15 år siden

Permalink

Indsendt af marlar den 22. juni 2010 kl. 09:50

Permalink

Re: Kørsel af script når computeren vågner fra dvale

Det er ret spøjst, det her dropbox. Når jeg sender et SIGINT til scriptet manuelt virker det fint, også når jeg sender fra root og scriptet kører som min egen user.

Men når signalet kommer fra pm-utils, så går dropbox i en form for limbo, hvor ikonet er der uden det lille hak der signalerer at sync er uptodate. Samtidig kan jeg ikke stoppe dropbox, den siger "Dropbox isn't running!", men hvis jeg så prøver at starte den, siger den "Dropbox is already running!".

Jeg kan dog godt stoppe dropbox ved at højreklikke på ikonet og vælge "Stop Dropbox".

Mystisk!
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

den er sjov 0
llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

Reserve kernel og btrfs 2
En snak om Linux-kompatibel software 12
PCLinuxOS 28
"Intet realistisk alternativ" - mig i r*ven 17
Open source events i danmark? 3
Virtuel maskine? 4
Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
Nulstilling af adgangskode 6
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !