• Re: script all'avvio e alla chiusura di una sessione gnome

    From gerlos@21:1/5 to All on Tue May 3 20:30:01 2022
    Il 03/05/22 16:36, Piviul ha scritto:
    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?

    Piviul

    Non sono sicuro di come come si possa fare ad eseguire qualcosa alla
    chiusura ("a naso" andrei a guardare systemd), ma in gnome 3.* puoi
    eseguire qualcosa all'accesso mettendo un file *.desktop in ~/.config/autostart/

    In questo ti aiutano gnome-session-properties (mi pare che compaia come "Applicazioni d'avvio" nel menù) o gnome-tweaks. Vedi questa domanda
    (sì, è AskUbuntu, ma funziona uguale su qualsiasi installazione di
    Gnome, quindi anche su Debian):

    https://askubuntu.com/q/37957/125726

    Per quanto riguarda eseguire uno script al logout, come detto, non so
    aiutarti, solo mi vien da pensare che sia qualcosa che si possa fare
    tramite systemd, ma non ne sono certo.

    saluti,

    gerlos

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Piviul@21:1/5 to All on Tue May 3 20:20:01 2022
    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?

    Piviul

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Piviul@21:1/5 to gerlos on Wed May 4 11:10:02 2022
    On 03/05/22 20:26, gerlos wrote:
    Il 03/05/22 16:36, Piviul ha scritto:
    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?

    Piviul

    Non sono sicuro di come come si possa fare ad eseguire qualcosa alla
    chiusura ("a naso" andrei a guardare systemd), ma in gnome 3.* puoi
    eseguire qualcosa all'accesso mettendo un file *.desktop in ~/.config/autostart/

    di questo ne sei sicuro? Io ho provato a farmi un .desktop tipo:

    [Desktop Entry]
    Name=myscript
    Comment=Comment...
    Exec=/path/to/myscript.sh
    Type=Application
    Hidden=true

    ma non sembra venga eseguito. Mi ero fatto l'idea che non funzionasse
    con bash script...


    In questo ti aiutano gnome-session-properties (mi pare che compaia
    come "Applicazioni d'avvio" nel menù)

    apt-file search bin/gnome-session-properties non restituisce nulla,
    forse c'era in versioni vecchie di gnome, ora non sembra più esistere


    o gnome-tweaks.

    si certo, anche se aggiungendo un programma all'avvio dall'interfaccia
    di gnome-tweaks non permette di selezionare scripts... e questo mi fa
    pensare appunto che in .config/autostart/ non si possano referenziare
    shell script.


    [...]

    Per quanto riguarda eseguire uno script al logout, come detto, non so aiutarti, solo mi vien da pensare che sia qualcosa che si possa fare
    tramite systemd, ma non ne sono certo.

    non credo che systemd gestisca le sessioni gnome ma forse mi sbaglio.

    Grazie!

    Piviul

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gerlos@21:1/5 to All on Wed May 4 14:00:04 2022
    Il 04/05/22 08:42, Piviul ha scritto:
    On 03/05/22 20:26, gerlos wrote:
    Il 03/05/22 16:36, Piviul ha scritto:
    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?

    Piviul

    Non sono sicuro di come come si possa fare ad eseguire qualcosa alla
    chiusura ("a naso" andrei a guardare systemd), ma in gnome 3.* puoi
    eseguire qualcosa all'accesso mettendo un file *.desktop in
    ~/.config/autostart/

    di questo ne sei sicuro? Io ho provato a farmi un .desktop tipo:

    [Desktop Entry]
    Name=myscript
    Comment=Comment...
    Exec=/path/to/myscript.sh
    Type=Application
    Hidden=true

    Ne sono abbastanza sicuro, mi porto dietro da alcuni anni diversi script
    che eseguo all'accesso proprio in questo modo. Per esempio, questo è il
    mio ~/.config/autostart/mydropbox.desktop:

    [Desktop Entry]
    Name=Dropbox Wrapper
    Exec=mydropbox start -i
    Comment=Checks if destination is mounted before starting dropbox client Terminal=false
    Icon=dropbox
    Type=Application

    ma non sembra venga eseguito. Mi ero fatto l'idea che non funzionasse
    con bash script...


    Ho fatto qualche prova, basta che ci sia un file .desktop valido. Tra
    l'altro, sul sistema molti file .desktop avviano script bash...

    Domanda banale (scusami): lo script è eseguibile e leggibile dal tuo
    utente? (chmod u+rx /path/to/myscript.sh)


    o gnome-tweaks.

    si certo, anche se aggiungendo un programma all'avvio dall'interfaccia
    di gnome-tweaks non permette di selezionare scripts... e questo mi fa
    pensare appunto che in .config/autostart/ non si possano referenziare
    shell script.


    Scusami, ieri scrivevo da un sistema Ubuntu in cui c'era Gnome 3.36, ma
    in effetti vedo che in Bullseye c'è Gnome 3.38 si può usare solo gnome-tweaks, che è meno "amichevole".

    In passato gnome-session-properties aiutava parecchio, perché ti dava
    una maschera per creare i file .desktop che ti servivano. Gnome-tweaks,
    al contrario, ti permette di scegliere solo voci che sono già presenti
    nel menu di Gnome (rendendo la vita più difficile a noi nerd), quindi
    per aggiungere roba all'avvio usando gnome-tweaks devi prima aggiungerla
    al menù di sistema.

    Quindi le opzioni sono 2:

    1. Ti fai il file .desktop a manina, con il tuo editor di testo, e lo
    metti in  ~/.config/autostart

    2. Installi l'editor dei menu Alacarte (lo trovi nel menu di Gnome come
    "Menu principale"), crei una nuova voce dal bottone apposito (che ti
    propone la stessa maschera che ti proponeva gnome-session-properties) e
    poi vai a gnome-tweaks > Applicazioni d'avvio e scegli la voce che hai
    appena aggiunto al menù.

    Rimuovere gnome-session-properties è un passo indietro riguardo
    all'usabilità di Gnome? Sì.
    È una complicazione inutile? Sì.
    Perché l'hanno fatto? Boh! Mi sembra il solito approccio "alla Gnome"
    che "semplifica" togliendo cose utili.



    [...]

    Per quanto riguarda eseguire uno script al logout, come detto, non so
    aiutarti, solo mi vien da pensare che sia qualcosa che si possa fare
    tramite systemd, ma non ne sono certo.

    non credo che systemd gestisca le sessioni gnome ma forse mi sbaglio.


    In realtà io pensavo al processo di login/logout in generale, ma facendo qualche ricerca in più ho visto che non è effettivamente fattibile con systemd.

    Prova così: https://askubuntu.com/a/88947/125726

    saluti,

    gerlos

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Piviul@21:1/5 to gerlos on Wed May 4 15:00:01 2022
    On 04/05/22 13:53, gerlos wrote:
    Il 04/05/22 08:42, Piviul ha scritto:
    On 03/05/22 20:26, gerlos wrote:
    Il 03/05/22 16:36, Piviul ha scritto:
    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?

    Piviul

    Non sono sicuro di come come si possa fare ad eseguire qualcosa alla
    chiusura ("a naso" andrei a guardare systemd), ma in gnome 3.* puoi
    eseguire qualcosa all'accesso mettendo un file *.desktop in
    ~/.config/autostart/

    di questo ne sei sicuro? Io ho provato a farmi un .desktop tipo:

    [Desktop Entry]
    Name=myscript
    Comment=Comment...
    Exec=/path/to/myscript.sh
    Type=Application
    Hidden=true

    Ne sono abbastanza sicuro, mi porto dietro da alcuni anni diversi
    script che eseguo all'accesso proprio in questo modo. Per esempio,
    questo è il mio ~/.config/autostart/mydropbox.desktop:

    [Desktop Entry]
    Name=Dropbox Wrapper
    Exec=mydropbox start -i
    Comment=Checks if destination is mounted before starting dropbox client Terminal=false
    Icon=dropbox
    Type=Application

    ma non sembra venga eseguito. Mi ero fatto l'idea che non funzionasse
    con bash script...


    Ho fatto qualche prova, basta che ci sia un file .desktop valido. Tra l'altro, sul sistema molti file .desktop avviano script bash...

    Domanda banale (scusami): lo script è eseguibile e leggibile dal tuo
    utente? (chmod u+rx /path/to/myscript.sh)

    certo ;) Comunque per ora l'ho messo in /etc/profile.d e tutto funziona
    a meraviglia... strano.


    o gnome-tweaks.

    si certo, anche se aggiungendo un programma all'avvio
    dall'interfaccia di gnome-tweaks non permette di selezionare
    scripts... e questo mi fa pensare appunto che in .config/autostart/
    non si possano referenziare shell script.


    Scusami, ieri scrivevo da un sistema Ubuntu in cui c'era Gnome 3.36,
    ma in effetti vedo che in Bullseye c'è Gnome 3.38 si può usare solo gnome-tweaks, che è meno "amichevole".

    In passato gnome-session-properties aiutava parecchio, perché ti dava
    una maschera per creare i file .desktop che ti servivano.
    Gnome-tweaks, al contrario, ti permette di scegliere solo voci che
    sono già presenti nel menu di Gnome (rendendo la vita più difficile a
    noi nerd), quindi per aggiungere roba all'avvio usando gnome-tweaks
    devi prima aggiungerla al menù di sistema.

    Quindi le opzioni sono 2:

    1. Ti fai il file .desktop a manina, con il tuo editor di testo, e lo
    metti in  ~/.config/autostart

    È quello che ho fatto ma non funziona. Il contenuto del file .desktop
    che ho creato è questo:

    [Desktop Entry]
    Name=myscript
    Comment=Comment...
    Exec=/path/to/myscript.sh
    Type=Application
    Hidden=true

    ...ho dimenticato qualcosa? forse bisogna prima registrarlo?


    2. Installi l'editor dei menu Alacarte (lo trovi nel menu di Gnome
    come "Menu principale"), crei una nuova voce dal bottone apposito (che
    ti propone la stessa maschera che ti proponeva
    gnome-session-properties) e poi vai a gnome-tweaks > Applicazioni
    d'avvio e scegli la voce che hai appena aggiunto al menù.

    In effetti ho provato a creare il .desktop con alacarte e ora sembra
    funzionare se utilizzo gnome-tweaks... il file .desktop che mi ha creato
    è molto simile a quello che ho oostato sopra, in più ha solo la voce
    Icon... bah!


    [...]
    In realtà io pensavo al processo di login/logout in generale, ma
    facendo qualche ricerca in più ho visto che non è effettivamente
    fattibile con systemd.

    Prova così: https://askubuntu.com/a/88947/125726

    Sai che non mi funziona? Comunque per ora mi accontento, posso usare sia .config/autostart che /etc/profile.d... non posso eseguire all'uscita
    uno script ma pazienza.

    Grazie ancora e buona giornata

    Piviul

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Giuseppe Sacco@21:1/5 to All on Thu May 5 10:00:01 2022
    Ciao,

    Il giorno mar, 03/05/2022 alle 20.26 +0200, gerlos ha scritto:
    Il 03/05/22 16:36, Piviul ha scritto:
    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?
    [...]
    Per quanto riguarda eseguire uno script al logout, come detto, non so aiutarti, solo mi vien da pensare che sia qualcosa che si possa fare
    tramite systemd, ma non ne sono certo.

    Anche io sarei più per farlo con systemd. In generale dovresti creare una
    unit nella directory ~/.config/systemd/user . La unit potrebbe essere
    qualcosa del tipo:

    [Unit]
    Description=Script eseguito al login

    [Service]
    ExecStart=/bin/sh -c /path/completo/script/avvio.sh
    ExecStop=/bin/sh -c /path/completo/script/arresto.sh

    [Install]
    WantedBy=default.target

    e poi abiliti lo script con: systemctl --user enable nomeunit.service

    Nota: se hai più sessioni aperte in contemporanea, lo script viene avviato
    al primo login e chiuso all'ultimo logout.

    Ciao,
    Giuseppe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Piviul@21:1/5 to Giuseppe Sacco on Thu May 5 13:00:01 2022
    On 05/05/22 09:09, Giuseppe Sacco wrote:
    Ciao,

    Il giorno mar, 03/05/2022 alle 20.26 +0200, gerlos ha scritto:
    Il 03/05/22 16:36, Piviul ha scritto:
    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?
    [...]
    Per quanto riguarda eseguire uno script al logout, come detto, non so
    aiutarti, solo mi vien da pensare che sia qualcosa che si possa fare
    tramite systemd, ma non ne sono certo.
    Anche io sarei più per farlo con systemd.

    ...io pensavo nemmeno si potesse fare con systemd! :))


    In generale dovresti creare una
    unit nella directory ~/.config/systemd/user . La unit potrebbe essere qualcosa del tipo:

    [Unit]
    Description=Script eseguito al login

    [Service]
    ExecStart=/bin/sh -c /path/completo/script/avvio.sh
    ExecStop=/bin/sh -c /path/completo/script/arresto.sh

    [Install]
    WantedBy=default.target

    quindi se ho ben capito[¹] creo un file diciamo myunit nella dir ~/.config/systemd/user con il contenuto tipo quello sopra


    e poi abiliti lo script con: systemctl --user enable nomeunit.service

    $ systemctl --user enable myunit
    Failed to enable unit: Unit file myunit.service does not exist.


    Evidentemente devo avere sbagliato qualcosa...

    Grazie!

    Piviul

    [¹] nella cartella ~/.config non c'era la cartella systemd; ho allora
    creato sia systemd che systemd/user

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marco Gaiarin@21:1/5 to All on Thu May 5 23:50:01 2022
    Mandi! Piviul
    In chel di` si favelave...

    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?

    Se usi GDM3, dai una letta a:

    /etc/gdm3/PostLogin/Default.sample

    --
    Se vuoi navigare, comprati una barca.
    (sysmen dei.unipd.it)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Piviul@21:1/5 to Marco Gaiarin on Fri May 6 08:40:01 2022
    On 05/05/22 23:31, Marco Gaiarin wrote:
    Mandi! Piviul
    In chel di` si favelave...
    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?
    Se usi GDM3, dai una letta a:

    /etc/gdm3/PostLogin/Default.sample

    grazie Marco, non lo avevo letto anche se a ben guardare viene eseguito
    come root, io avrei preferito venisse eseguito come utente ora ci penso
    un po' su... anche se in effetti da root poi con le variabili d'ambiente
    posso eseguire lo script come utente. Bah...

    Grazie ancora

    Piviul

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gerlos@21:1/5 to All on Fri May 6 11:10:02 2022
    Il 06/05/22 08:38, Piviul ha scritto:
    On 05/05/22 23:31, Marco Gaiarin wrote:
    Mandi! Piviul
       In chel di` si favelave...
    Ciao a tutti come da oggetto secondo voi è possibile riuscire ad
    eseguire uno script all'avvio e alla chiusura di una sessione gnome?
    Se usi GDM3, dai una letta a:

        /etc/gdm3/PostLogin/Default.sample

    grazie Marco, non lo avevo letto anche se a ben guardare viene
    eseguito come root, io avrei preferito venisse eseguito come utente
    ora ci penso un po' su... anche se in effetti da root poi con le
    variabili d'ambiente posso eseguire lo script come utente. Bah...


    Una volta che sei root eseguire uno script come utente normale non è un problema:

    su -c '/home/gerlos/gerlos-script.sh' gerlos

    in bocca al lupo,
    gerlos

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Davide Prina@21:1/5 to All on Sun May 29 12:00:01 2022
    Piviul ha scritto:

    È quello che ho fatto ma non funziona. Il contenuto del file .desktop
    che ho creato è questo:
    [...]

    verificalo con desktop-file-validate

    è nel pacchetto desktop-file-utils

    Ciao
    Davide

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)