Comandi che dovrebbe partire all'accesso dell'utente

Come da oggetto, ho dei comandi che devono essere eseguiti quando un utente accede al computer.
Ho inserito vari comandi nel file .bash_profile, ma qualche volta parte qualche volta no.
Dove posso guardare?

Grazie
Sergio

Prova a redizionare l’output dei comandi inseriti nel .bash_profile su un file di log.
Tipo

nomecomando > /var/tmp/debug.txt 2>&1

~/.bash_profile è per quando l’utente accede al terminale, non quando fa il login da interfaccia grafica e se l’utente apre il terminale di Gnome più volte il comando verrà eseguito più volte. E’ quello che vuoi ottenere?

1 Mi Piace

Sarebbe cosa migliore attivare il servizio anche quando non entra l’utente ed attivare la grafica solo all’accesso grafico al computer. In effetti se mi collego con ssh mi avvia tutti i comandi ed è un po fastidioso, tanto che alla fine ho negato l’accesso tramite ssh all’utente, creato un altro utente con il quake mi collego e poi diventare utente da terminale…

Allora creerei un servizio systemd per il solo utente. Vedasi: https://superuser.com/a/1269158/471858

Ma se entro tramite ssh, il systemd per l’utente mi entra comunque?

Il servizio utente parte quando fai il login e termina quando esci. Se fai più login in contemporanea non verrà eseguito più volte. E’ quello che cerchi?

Qui trovi qualche indicazione in più: https://www.freedesktop.org/software/systemd/man/[email protected]

Ok Francesco.
Il computer dovrebbe essere sempre in funzione, quindi, se va via la corrente, nel momento in cui torna deve ripristinare l’avvio di programmi grafici indispensabili che girano sotto un utente.
Questo utente ha l’accesso automatico all’avvio del computer ed avevo messo l’avvio nel file .bash_profile.
Questo ha funzionato fino a fedora 23, ma con la 24 non funziona così.
E’ vero, era fastidioso che ogni volta che accedevo tramite ssh faceva partire il file che mi dava errori perchè non era in X, tanto che alla fine ho dovuto creare un altro utente per l’accesso e poi andavo con ‘su utente’ e non c’erano tutti quei messaggi.
Ora però vorrei mettereil sistema in questo modo:

  1. far partire dei programmi all’accensione della macchina e va bene, questo con systemctl,
  2. quando si logga da consolle, far partire i programmi grafici,
  3. quando si logga da terminale (ssh), far partire un file che fondamentalmente mi generi il path dell’utente ma non la grafica.
    Chiaramente il 3 dovrebbe funzionare con il 2.

Sergio

Direi che ti serve il login automatico, verificare nel BIOS che il PC si accenda ogni volta che la corrente torna, e installare gnome tweaks per specificare quali programmi vuoi partano quando viene effettuato il login grafico.

Per eseguire i programmi quando fai il login da terminale, puoi usare un servizio systemd per l’utente.
Per eseguire un programma ogni volta che apri un terminale, puoi usare .bash_profile.

Non mi è chiaro perché tu voglia far partire dei programmi grafici solo quando accedi da console e non quando fai il login grafico. Se usi Xorg basta impostare export DISPLAY:=0 se sei entrato via ssh e lanciare i programmi che vuoi (verifica prima che non siano già attivi magari). Con Wayland non saprei, bisognerebbe provare.

Non mi è chiaro il punto 3.

Hai ragione, scusa, il login grafico per il punto 2.
Per il punto 3, quando faccio l’accesso da remoto dovrebbe impostare automaticamente i vari percorsi di path che servono all’utente

Mi dispiace, continuo a non capire il punto terzo. Vuoi che crei delle cartelle quando fai il login via ssh? O che imposti la variabile PATH in maniera differente?

Ok, riepilogando:
Il punto 1 non mi interessa più. I programmi che devono avviarsi automaticamente possono farlo solo dopo il login utente in quanto utilizzano delle variabili d’ambiente che deve avere solo l’utente, ed inoltre il computer è gia configurato a riaccendersi quando torna la corrente e fare il login automatico dell’utente, quindi:

  1. all’accesso grafico devono partire i programmi che utilizzano la grafica
  2. se accedo al computer tramite ssh come utente che ha accesso automatico, deve potermi fare il setup delle variabili utente senza far partire i programmi che utilizzano la grafica.

Ora utilizzo .bash_profile, ma quando accede all’avvio non mi fa più partire ne i programmi grafici ne mi imposta le variabili come faceva prima.

Vorrei fare in modo che, se non è possibile impostarlo come ti ho detto, almeno all’avvio del computer dopo l’accesso utente mi faccia ripartire il .bash_profile

Direi che puoi usare gnome-tweaks-tool per i programmi grafici, e .bash_profile per quelli che devono essere avviati a ogni nuovo accesso da terminale (ssh incluso).

Puoi anche discriminare tra terminali locali e aperti via ssh volendo: https://unix.stackexchange.com/a/9607/41231

1 Mi Piace