[Risolto] Problema con script lanciato attraverso file desktop

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
LUBO-BACK
Prode Principiante
Messaggi: 84
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

[Risolto] Problema con script lanciato attraverso file desktop

Messaggio da LUBO-BACK »

Premetto che non sono un fenomeno con gli script, ma ancora meno quando creo un bottone per lanciarli.

Qui ho necessità, per attivare la camera frontale nel browser o in altre app di videconferenza viewtopic.php?p=5297087#p5297087 , di dare questo comando

Codice: Seleziona tutto

gst-launch-1.0 libcamerasrc camera-name='\\_SB_.PCI0.LNK1' !     video/x-raw,width=1280,height=720,framerate=30/1,format=NV12     ! videoconvert ! video/x-raw,format=YUY2 ! videoconvert ! queue !     v4l2sink device=/dev/video42
e, per stoppare il tutto, di dare quest'altro

Codice: Seleziona tutto

pkill gst-launch-1.0
I singoli comandi da terminale funzionano bene, non è necessario sudo, ed avevo pensato di fare uno script che controllasse se il processo gst era attivo e, nel caso, lo terminasse e, viceversa, nel caso il processo fosse da attivare, lo avviasse. Un banale interruttore della luce.

Uno script così da terminale pare funzionare

Codice: Seleziona tutto

#!/bin/bash
ESEC=`ps aux | grep gst | wc -l`
if [ $ESEC -gt 1 ];
then pkill gst-launch-1.0;
else gst-launch-1.0 libcamerasrc camera-name='\\_SB_.PCI0.LNK1' !     video/x-raw,width=1280,height=720,framerate=30/1,format=NV12     ! videoconvert ! video/x-raw,format=YUY2 ! videoconvert ! queue !     v4l2sink device=/dev/video42 ;
exit 0;
fi
Funziona nel senso che, se eseguo lo script e poi apro un altro terminale e lo rieseguo, ottengo il risultato voluto. Oppure se interrompo il processo con ctrl + c, ma questo è ovvio.

Se, invece, mi faccio un banale file desktop per lanciare lo script checker che è in /usr/bin e munito dei permessi di esecuzione

Codice: Seleziona tutto

[Desktop Entry]
Version=1.0
Name=vloop4 cam-start
Comment=camera frontale
Exec=checker
terminal=true
X-MultipleArgs=false
Type=Application
Icon=/usr/share/icons/camera.png
Categories=Office;
StartupNotify=true
lo script viene eseguito solo la prima volta che tocco il pulsante e debbo lanciare il comando

Codice: Seleziona tutto

pkill gst-launch-1.0
manualmente o attraverso un altro script che ho predisposto.

Confesso la mia ignoranza, mi aiutate, per piacere?
Ultima modifica di LUBO-BACK il martedì 21 giugno 2022, 17:54, modificato 1 volta in totale.
LUBO-BACK
Prode Principiante
Messaggi: 84
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Re: Problema con script lanciato attraverso file desktop

Messaggio da LUBO-BACK »

Pare che funzioni se aspetto almeno 15 secondi prima di toccare di nuovo l'icona dell'applicazione. E' comunque un comportamento inaspettato e di cui non conosco la ragione.

Edit: ho installato anche xterm ed adesso, quando tocco il pulsante, si apre una piccola finestra del terminale con lo script in esecuzione. Per qualche motivo, non è più necessario aspettare prima di potere toccare il pulsante e cambiare lo stato della camera.
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: [Risolto] Problema con script lanciato attraverso file desktop

Messaggio da crap0101 »

eventualmente vedi che ti dice
desktop-file-validate
ad esempio il problema potresse derivare da
foo.desktop: error: file contains key "terminal" in group "Desktop Entry", but keys extending the format should start with "X-"
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
LUBO-BACK
Prode Principiante
Messaggi: 84
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Re: [Risolto] Problema con script lanciato attraverso file desktop

Messaggio da LUBO-BACK »

crap0101 ha scritto:
martedì 21 giugno 2022, 20:08
eventualmente vedi che ti dice
desktop-file-validate
ad esempio il problema potresse derivare da
foo.desktop: error: file contains key "terminal" in group "Desktop Entry", but keys extending the format should start with "X-"
Grazie della risposta.

Effettivamente l'errore c'è

Codice: Seleziona tutto

luca@ubuntu-linuxloops:~$ desktop-file-validate /usr/share/applications/cam-start.desktop 
/usr/share/applications/cam-start.desktop: error: file contains key "terminal" in group "Desktop Entry", but keys extending the format should start with "X-"
però devo dire che, prima inserendo xterm e poi anche togliendolo, dopo un paio di reboot lo script lanciato attraverso il pulsante non ha più alcun tipo di ritardo. Ne consegue che l'errore che mi hai segnalato e che approfondirò comunque non pare dare problemi.

Boh.

Buona serata.
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: [Risolto] Problema con script lanciato attraverso file desktop

Messaggio da crap0101 »

in effetti quella cosa del funzionamento "a tempo" è un po' strana, potrei supporre che non dipende dal file .desktop ma piuttosto dalla ricerca del processo. Prova a fare qualche prova "in parallelo" utilizzando pgrep o comunque simulando solo la parte di ricerca del processo.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
LUBO-BACK
Prode Principiante
Messaggi: 84
Iscrizione: mercoledì 19 gennaio 2022, 1:00
Sesso: Maschile

Re: [Risolto] Problema con script lanciato attraverso file desktop

Messaggio da LUBO-BACK »

crap0101 ha scritto:
giovedì 23 giugno 2022, 21:12
in effetti quella cosa del funzionamento "a tempo" è un po' strana, potrei supporre che non dipende dal file .desktop ma piuttosto dalla ricerca del processo. Prova a fare qualche prova "in parallelo" utilizzando pgrep o comunque simulando solo la parte di ricerca del processo.
Sai che, dopo qualche riavvio, lo script viene eseguito immediatamente, sia col pulsante, che con uno shortcut da tastiera? Ed anche dopo aver rimosso xterm.

Temo rimarrà un mistero!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 10 ospiti