Newsgroup: it.comp.os.linux.iniziare
Titolo: desktop entry difettosa

$ pwd
~/.local/share/applications
$ cat 'Copy Tanti auguri.desktop'
[Desktop Entry]
Name=Copy Tanti auguri
Exec=echo "Tanti auguri🍾🎁🎂🎉🎊🎈" | xclip -selection clipboard
Type=Application
 
Apro la dashboard, digito 'Copy tant...' (INVIO), ma sembra che il 
comando non venga eseguito.
 
Provando ad indagare, ecco cosa viene fuori
 
$ desktop-file-validate 'Copy Tanti auguri.desktop'
Copy Tanti auguri.desktop: error: value "echo "Tanti auguri??????" | 
xclip -selection clipboard" for key "Exec" in group "Desktop Entry" 
contains a reserved character '|' outside of a quote


senza un terminale tty istanziato non hai stdin o stdout, quindi non 
possono funzionare le pipe.
metti intanto Terminal=true

Il 25/11/21 22:47, rootkit ha scritto:

Ancora non funziona

Il 26/11/21 07:21, alex ha scritto:

C'è nessuno?
 
Cmq ho provato anche con sh -c ...
ma non funziona
 
 >
 
$ cat 'Copy Tanti auguri.desktop'
[Desktop Entry]
Name=Copy Tanti auguri
Exec=sh -c 'echo -n "Tanti auguri🍾🎁🎂🎉🎊🎈" | xclip -selection clipboard'
Type=Application
 
$ desktop-file-validate 'Copy Tanti auguri.desktop'
Copy Tanti auguri.desktop: error: value "sh -c 'echo -n "Tanti 
auguri??????" | xclip -selection clipboard'" for key "Exec" in group 
"Desktop Entry" contains a reserved character ''' outside of a quote
Copy Tanti auguri.desktop: error: value "sh -c 'echo -n "Tanti 
auguri??????" | xclip -selection clipboard'" for key "Exec" in group 
"Desktop Entry" contains a reserved character '|' outside of a quote
Copy Tanti auguri.desktop: error: value "sh -c 'echo -n "Tanti 


letto?
 
https://wiki.ubuntu-it.org/AmbienteGrafico/IconeDiAvvio/Gnome-panel?action=show&redirect=AmbienteGrafico%2FGnome%2FAggiungereLanciatoriDesktop#Creazione_del_lanciatore
 

 comando non venga eseguito.
 
A me funziona ponendo nel lanciatore Terminal a false
e richiamando nell'Exec del lanciatore uno script Bash che contiene il
comando.
 
cat ~/Scrivania/auguri.sh 
#!/bin/bash
echo "Tanti Auguri 🍾🎁🎂🎉🎊🎈" | xclip -sel c
 
cat ~/.local/share/applications/CopyTantiAuguri.desktop 
[Desktop Entry]
Name=CopyTantiAuguri
Exec=/home/tony/Scrivania/auguri.sh
Type=Application
Terminal=false
 

 
 
Bah secondo me il problema è che alcuni caratteri riservati nei file 
.desktop non sono ammessi.
Ho spostato tutto in un bash script (~/myscript) è nel file Copy Tanti 
auguri.desktop ci ho messo il riferimento
 
Exec=~/myscript

Il 27/11/21 12:14, Tony Borlini ha scritto:

Proprio quello che ho fatto

 Exec=~/myscript
 
Da me se uso la tilde NON funziona.
 
Nel lanciatore hai scritto come ti ho suggerito 'Terminal=false'
oppure a te funziona anche come facevi prima, cioè senza specificarlo?
 
 
 

 Nel lanciatore hai scritto come ti ho suggerito 'Terminal=false'
 
Non ho messo niente, e funziona lo stesso

 Non ho messo niente, e funziona lo stesso
 
Una domanda un po' fuori luogo/divertente/OT.
 
Ma voi riuscite a ricordare a memoria tutte queste direttive?
Io se devo affrontare due problemi simili anche a distanza di poche ore, 
devo riaprire i manuali.
Mi devo preoccupare o sono normale?
 
Cit.
 
    "Dimentichi le cose?
     È sintomo di intelligenza!
     Il cervello ottimizza per fare spazio al nuovo".
 
Cosa ne pensate?
:D

 Non ho messo niente, e funziona lo stesso
 
Già, credo funzioni perché omettendolo semplicemente il terminale non
viene richiamato, mentre se invece, come si ipotizzava nei post
iniziali, si scrivesse 'Terminal=true' non funzionerebbe.
 
 

Il 27/11/21 16:35, Tony Borlini ha scritto:

Cosa intendi con il terminale non viene richiamato?
Io sapevo solo che Terminal=true serve per visualizzare il terminale 
durante l'esecuzione del comando.
Naturalmente poi si chiude e tutto l'output si perde: non è IMHO il modo 
migliore per fare un debug, ad esempio.

 modo migliore per fare un debug, ad esempio.
 
Il terminale si chiude perché è configurato così ma volendo puoi
modificare il suo comportamento. 
Ad esempio a seconda delle tue necessità nelle Preferenze/Comando di
gnome-terminal hai tre possibilità per quando il comando termina:
Chiudere il terminale, Riavviare il comando, Mantenere aperto il
terminale.
 
 
 

 terminale.
 
Buono a sapersi, thanks :)

 Mi devo preoccupare o sono normale?
 
imparare a memoria non è studiare. detto questo, la pratica accompagnata 
da una conoscenza "teorica" del sistema aiuta parecchio, sia a ricordare 
che a consultare efficacemente la documentazione.
 

 Cosa ne pensate?
 
Che anche la gente con CJD dimentica
le cose e non migliora.
 
bye,
 
-- 
 
piergiorgio