[KDE] script starten vanuit Knotify

Pagina: 1
Acties:

  • losealot
  • Registratie: November 2003
  • Laatst online: 09-05-2022
Ik heb een script geschreven die zou moeten uitgevoerd worden bij een bepaald event. hiervoor zou ik Knotify willen gebruiken dmv de "execute a program" optie.
Echter als ik als programma mijn script opgeef "/home/username/script.sh" doet hij niets.
ook "bash /home/username/script.sh" heeft geen resultaat.

mijn script werkt wel als ik het start vanaf de console (dus door gewoon /home/username/script.sh in te geven) dus het werkt wel.

In mijn zoektoch naar een oplossing heb ik ondervonden dat ook via het run command dialoog venster mijn script niet wordt gestart.

heeft iemand een idee?
alvast bedankt!

  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 27-01 22:51
Heb je je script executable gemaakt door `chmod +x /home/username/script.sh` te doen? Misschien dat dat Knotify zo ver wil krijgen om hem te starten.

Daarnaast, heb je ook netjes bovenin je script '#!/bin/bash' staan? Dan weet je OS ook in welke taal je bezig bent. (Of eigenlijk welke applicatie ie dit script moet voeren.)

Het lijkt er namelijk op dat je Linux bak niet echt door heeft wat ie nou met die tekstfile aanmoet. Het kan natuurlijk ook nog zo zijn dat je script gewoon crashed. Heb je dat al gechecked?

[ Voor 25% gewijzigd door Mac_Cain13 op 07-05-2006 22:41 ]


  • losealot
  • Registratie: November 2003
  • Laatst online: 09-05-2022
ik heb gechmod, #!/bin/bash staat bovenaan de file, het script crasht niet, want ik kan het gewoon uitvoeren vanaf de console, maar dus niet vanaf de "run command" of knotify.

  • losealot
  • Registratie: November 2003
  • Laatst online: 09-05-2022
het ligt dus aan mijn scripts, aangezien een script met enkel "firefox" in weldegelijk firefox start

de inhoud van men script:
code:
1
2
#!/bin/bash
sudo ./leds.sh


de inhoud van leds.sh:
code:
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl
use Time::HiRes qw( usleep );
open(FH, "/dev/tty1") or die "open";
ioctl(FH, 0x4b32, 0); # all off
while (1) {
ioctl(FH, 0x4b32, 7); usleep (50000);
ioctl(FH, 0x4b32, 0); usleep (50000);
$counter++; if ($counter == "100") { close(FH); exit; };
}

  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 15:13

BoAC

Memento mori

Je kunt bij 'Run command' onder de options-knop aangeven om je commando in een terminal-window te draaien :)
Heb je dat al uitgeprobeerd?

  • losealot
  • Registratie: November 2003
  • Laatst online: 09-05-2022
hmm, hij vraagt om het root paswoord, ik dacht nogtans dat ik ingesteld had dat hij het paswoord niet moest vragen in de sudoer file. blijkbaar niet goed genoeg

[ Voor 38% gewijzigd door losealot op 08-05-2006 13:18 ]


  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 15:13

BoAC

Memento mori

Hoe ziet de entry eruit in /etc/sudoers?

  • losealot
  • Registratie: November 2003
  • Laatst online: 09-05-2022
bart ALL=NOPASSWD: /home/bart/kopete_leds.sh
bart ALL=NOPASSWD: /home/bart/leds.sh

in de console moet ik geen root paswoord opgeven, dus wat ik in sudoers bijgezet heb, klopt weldegelijk.
het is precies alsof knotify of run command het script niet als bart uitvoert ofzo

[ Voor 52% gewijzigd door losealot op 08-05-2006 15:21 ]


Verwijderd

zet in je script dan even:
code:
1
2
#!/bin/bash
echo $(whoami) >> /tmp/ledsScriptTestWhoami.txt


en dan komt de username onder wie het script wordt uitgevoert in /tmp/ledsScriptTestWhoami.txt te staan :)

  • losealot
  • Registratie: November 2003
  • Laatst online: 09-05-2022
hij geeft gewoon "bart" terug, zoals het zou moeten. Bizar dat hij toch nog om root paswoord vraagt, niet tegenstaande ik met visudo toch alles juist zou moeten ingesteld hebben

  • Wilke
  • Registratie: December 2000
  • Laatst online: 16:20
_Losealot_ schreef op zondag 07 mei 2006 @ 22:57:
het ligt dus aan mijn scripts, aangezien een script met enkel "firefox" in weldegelijk firefox start

de inhoud van men script:
code:
1
2
#!/bin/bash
sudo ./leds.sh
Dit werkt alleen als de current working directory goed is he...kun je niet beter het volledige pad naar 'leds.sh' daar neerzetten?

Dus:

code:
1
2
#/bin/sh
sudo /pad/naar/leds.sh

  • losealot
  • Registratie: November 2003
  • Laatst online: 09-05-2022
ja, inderdaad. maar ik kan nu met zekerheid zeggen dat het probleem aan de sudoer file ligt.
ik google nog even op de juiste syntax, dat zal het vermoedelijk oplossen

  • BoAC
  • Registratie: Februari 2003
  • Laatst online: 15:13

BoAC

Memento mori

_Losealot_ schreef op dinsdag 09 mei 2006 @ 13:25:
ja, inderdaad. maar ik kan nu met zekerheid zeggen dat het probleem aan de sudoer file ligt.
ik google nog even op de juiste syntax, dat zal het vermoedelijk oplossen
Nee het ligt aan jou ;)
WARNING: a pathname with wildcards will not match a user command that consists of a relative path. In other
words, given the following sudoers entry:

billy workstation = /usr/bin/*

user billy will be able to run any command in /usr/bin as root, such as /usr/bin/w. The following two command
will be allowed (the first assumes that /usr/bin is in the user's path):

$ sudo w
$ sudo /usr/bin/w

However, this will not:

$ cd /usr/bin
$ sudo ./w

For this reason you should only grant access to commands using wildcards and never restrict access using them.
This limitation will be removed in a future version of sudo.
Uit de sudoers man :)
Pagina: 1