Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Wget gebruik in .desktop launcher  (gelezen 1341 keer)

Offline lacer

  • Lid
    • dDbJn3Y
Wget gebruik in .desktop launcher
« Gepost op: 2015/01/09, 18:55:25 »
Hallo, daar Google voor mij niks oplevert zal ik hier mijn vraagje stellen  ;)

Ik heb twee .destop launchers gemaakt, een "on" en een "off" om een smart-plug te bedienen.
De terminal commando "on" is:
wget -O - -q --post-data="command=GpioForCrond%201&SystemCommandSubmit=Apply" http://admin:admin@192.168.0.25/goform/SystemCommandEn dat werkt goed, ook de "off" (%200).
Ik wil dit nu bedienen via een launcher met een mooi icoontje met onderstaande code voor "on":
[Desktop Entry]
Version=1.0
Name=ON
Comment=Maginon SmartPlug starten
Exec=wget -O - -q --post-data="command=GpioForCrond%201&SystemCommandSubmit=Apply" http://admin:admin@192.168.0.25/goform/SystemCommand
StartupWMClass=MyServer
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/usr/share/icons/on.png
StartupNotify=false
Echter dit werkt niet, ook niet met Terminal=true

Moet de Exec=wget... aangepast worden als die voor een launcher wordt gebruikt ?
Ik gebruik Ubuntu 14.04.1 64bit. Een andere launcher in Unity werkt wel, maar dan is dan geen wget.

Heb opgemerkt dat in Xubuntu met een launcher in de panel met zelfde wget commando ook niet werkt.
Verschillende manieren om de Smart-plug te bedienen komen uit deze site (in 't Frans...)
https://github.com/supermat/SmartPlug/wiki/Diverses-M%C3%A9thodes-de-pilotage-de-la-prise
« Laatst bewerkt op: 2015/01/09, 18:59:04 door lacer »
1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550

Offline lacer

  • Lid
    • dDbJn3Y
Re: Wget gebruik in .desktop launcher
« Reactie #1 Gepost op: 2015/01/11, 14:48:58 »
Geen specialisten van wget hier op 't forum  ???

Indien jullie extra info willen, wil ik die graag geven hoor  =D
1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550

Re: Wget gebruik in .desktop launcher
« Reactie #2 Gepost op: 2015/01/11, 16:11:08 »
Lacer,

Je kan twee dingen uitproberen....
De opdracht in een bash-script zetten en deze bash-script oproepen in de 'launcher'
De opdracht in de 'launcher' tussen schuine quotes zetten:
`wget -O - -q --post-data="command=GpioForCrond%201&SystemCommandSubmit=Apply" http://admin:admin@192.168.0.25/goform/SystemCommand`

Dan spelen met Terminal=true/false
Maar volgens mij zal deze op Terminal=true moeten staan.

Voor de rest gebruikt wget in een terminal of bash-script, niet echt via een launcher ...
MvG,
MauRice
Registered Linux user: 473556

Offline lacer

  • Lid
    • dDbJn3Y
Re: Wget gebruik in .desktop launcher
« Reactie #3 Gepost op: 2015/01/11, 18:32:02 »
Bedankt MaurRice2 voor het antwoord  :)

Optie quotes plaatsen werkt niet, ook niet met Terminal=true
Het zit er niks anders op dan je eerste optie te proberen, met een bash-script dus, en deze op te roepen.
Ik zal wel nog effen moeten uitzoeken hoe dat in z'n werk gaat.
Wat ik wel al weet is dat deze bash-scripts in de file /usr/share/applications moeten zitten en .desktop moeten hebben als extentie en dat deze uitvoerbaar moeten worden gemaakt. Klopt dit ?
Rest enkel nog de inhoud van dat scriptje te schrijven en hoe de launcher file er zal uitzien.

By the way, ik merk dat ik de applicatie "Manage Launcher" eens geïnstalleerd had.  Maar tot nu toe nog niet echt gebruikt.
1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550

Re: Wget gebruik in .desktop launcher
« Reactie #4 Gepost op: 2015/01/11, 18:52:23 »
Probeer eens het volgende:

Exec=sh -c 'wget -O - -q --post-data="command=GpioForCrond%201&SystemCommandSubmit=Apply" http://admin:admin@192.168.0.25/goform/SystemCommand'Ik heb dit in het verleden nog gebruikt om meerdere commando's uit te voeren. Let er wel op dat dit gewoon single quotes zijn, geen backticks zoals in MauRice2 zijn antwoord.

Edit:
Citaat
Wat ik wel al weet is dat deze bash-scripts in de file /usr/share/applications moeten zitten en .desktop moeten hebben als extentie en dat deze uitvoerbaar moeten worden gemaakt. Klopt dit ?

Neen voor beide. Het bestand moet niet uitvoerbaar zijn en kan zich bevinden in meerdere locaties. De standaard locatie is /usr/share/applications, maar voor zelfgemaakte bestanden is de lokale $HOME/.local/share/applications beter.
« Laatst bewerkt op: 2015/01/11, 18:55:00 door Nunslaughter »

Offline lacer

  • Lid
    • dDbJn3Y
Re: Wget gebruik in .desktop launcher
« Reactie #5 Gepost op: 2015/01/12, 09:46:29 »
Thanks, als ik tijd heb ga ik terug aan de slag ermee  :P
1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550

Offline lacer

  • Lid
    • dDbJn3Y
Re: Wget gebruik in .desktop launcher
« Reactie #6 Gepost op: 2015/01/13, 12:36:01 »
Het is gelukt door gebruik te maken van bash script en deze "on.sh" file zit tijdelijk in mijn home map en is uitvoerbaar gezet.
#!/bin/bash
wget -O - -q --post-data="command=GpioForCrond%201&SystemCommandSubmit=Apply" http://admin:admin@192.168.1.6/goform/SystemCommand
De launcher op m'n bureaublad zie er als volgt uit en is ook uitvoerbaar gezet, daarna hernoemd in on.desktop en icoontje verschijnt:
[Desktop Entry]
Version=1.0
Name=ON
Comment=SmartPlug starten
Exec=/home/luc/on.sh
StartupWMClass=MyServer
Terminal=true
X-MultipleArgs=false
Type=Application
Icon=/usr/share/icons/on.png
StartupNotify=false
Terminal moet op wel op true staan, anders krijg ik een fout.
Is hier geen mouw aan te passen zoals Terminal=true=hide ?
Die StartupWMClass=MyServer, X-MultipleArgs=false en StartupNotify=false, moet daar daarbij staan of mag dit weg ?

Nu nog een beetje finetunen en klaar  :D

« Laatst bewerkt op: 2015/01/13, 12:38:07 door lacer »
1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Wget gebruik in .desktop launcher
« Reactie #7 Gepost op: 2015/01/13, 12:50:17 »
Ik weet het niet zeker, maar waarschijnlijk heb je een terminalvenster nodig omdat je de uitvoer van wget naar stdout stuurt. Dit betekent dat je het resultaat in je terminal ziet als je hem daaruit uitvoert.

Dit kan je oplossen door het volgende helemaal aan het eind van dat commando te zetten:
&> /dev/null

Offline lacer

  • Lid
    • dDbJn3Y
Re: Wget gebruik in .desktop launcher
« Reactie #8 Gepost op: 2015/01/13, 12:56:07 »
Ah ok, zal dit later eens proberen, thanks  :)
1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550

Offline lacer

  • Lid
    • dDbJn3Y
Re: Wget gebruik in .desktop launcher
« Reactie #9 Gepost op: 2015/01/15, 12:51:00 »
Dit kan je oplossen door het volgende helemaal aan het eind van dat commando te zetten:
&> /dev/null

Terminal is nog steeds kort te zien (1 sec) door deze code met of zonder een spatie achter het commando te zetten.
Nu ja, erg is het niet, terminal blijft toch leeg, is alleen niet netjes  :(
1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Wget gebruik in .desktop launcher
« Reactie #10 Gepost op: 2015/01/15, 15:57:58 »
En als je de starter aanpast?
Exec=sh -c 'wget enzovoort &> /dev/null'
Zoiets dus.

Een vergelijkbare starter gebruik ik ook om via nvidia-settings enkele instellingen aan te passen:

[Desktop Entry]
Name[en_GB]=Enable force full composition
Comment=Tegen tearing
Exec=sh -c '/usr/bin/nvidia-settings -a currentmetamode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"'
Icon=/usr/share/icons/Humanity-Dark/actions/16/system-shutdown-panel.svg
Type=Application

Offline lacer

  • Lid
    • dDbJn3Y
Re: Wget gebruik in .desktop launcher
« Reactie #11 Gepost op: 2015/01/15, 23:16:23 »
In de starter gebruik ik dit:
...
Exec=/home/luc/on.sh
...
Terminal=true
...
Terminal=false werkt niet

wget staat in de bash script on.sh:
#!/bin/bash
wget -O - -q --post-data="command=GpioForCrond%201&SystemCommandSubmit=Apply" http://admin:admin@192.168.1.6/goform/SystemCommand

Of maakte ik hier een fout ?
1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Wget gebruik in .desktop launcher
« Reactie #12 Gepost op: 2015/01/15, 23:38:00 »
Als je niet dat bash script gebruikt maar dat wget commando via sh -c in de starter zet zou het moeten werken lijkt me.

Offline lacer

  • Lid
    • dDbJn3Y
Re: Wget gebruik in .desktop launcher
« Reactie #13 Gepost op: 2015/01/16, 11:28:38 »
Alleen de starter gebruiken met wat je voorstelde werkt niet, twee maal na elkaar een starter gemaakt om fouten uit te sluiten, maar ik krijg enkel een flits van de terminal te zien, thats it  :|
Exec=sh -c 'wget enzovoort &> /dev/null'Dit gebruikte ik:
Exec=sh -c 'wget -O - -q --post-data="command=GpioForCrond%201&SystemCommandSubmit=Apply" http://admin:admin@192.168.1.6/goform/SystemCommand &> /dev/null'
« Laatst bewerkt op: 2015/01/16, 11:32:57 door lacer »
1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Wget gebruik in .desktop launcher
« Reactie #14 Gepost op: 2015/01/16, 12:03:45 »
Dit werkt hier prima:

[Desktop Entry]
Version=1.0
Name=ON
Comment=SmartPlug starten
Exec=sh -c '/usr/bin/wget -q -O - "http://www.ubuntu-nl.org/sites/all/themes/udtheme-2010/logo.png" &> /tmp/testdownload'
Type=Application
Icon=/usr/share/icons/Humanity-Dark/actions/16/system-shutdown-panel.svg

Jij hebt er dus nog een aantal regels tussen staan die weg moeten. En voor de volledigheid moet je wget vervangen door /usr/bin/wget.
En dit is een voorbeeld dus je moet de rest van het commando ook even veranderen ;)

Offline lacer

  • Lid
    • dDbJn3Y
Re: Wget gebruik in .desktop launcher
« Reactie #15 Gepost op: 2015/01/17, 16:05:21 »
Johan,
Je laatste code met /usr/bin/wget werkt bij mij niet.
Ik hou het nu voorlopig bij een starter die een bash scriptje laat werken.
Klein schoonheidsfoutje met die flits van de terminal, maar daar laat ik het bij.
Ik wil er wel nog bij vertellen dat de Smartplug een apparaatje is dat via wifi is verbonden en er enkel IOS en Adroid applicaties voor bestaan op dit moment.
Alvast bedankt voor je medewerking hé  ;)

1* Ubuntu Mate18.04 op Dell E5540 (1) kernel 4.15.0 > HWE > 5.4.0
2* Ubuntu Mate 18.04 op Dell E5540 (2) kernel 5.0
3* Ubuntu Mate 22.04 + 24.04 op test pc Dell E5550