Script init per utente

C'è uno script (più simile a un command) che vorrei essere eseguito su base utente per login. Ho sentito parlare di script init.d ma quelli richiedono autorizzazioni root e non sono personalizzabili per utente (AFAIK). In poche parole, cerco qualcosa lungo le righe di .bashrc che verranno eseguite una sola volta per login utente.

Per dettagli un po 'sullo scenario, attualmente utilizzo un OS guest di Ubuntu in un host di Windows (emulazione per gentile concessione di VirtualBox). Ogni volta che accedo al mio guest OS, ho bisogno di eseguire un command mount che installa le mie cartelle condivise in una directory comune nella directory home dell'utente.

puoi provare le diverse opzioni qui: http://library.gnome.org/admin/gdm/stable/configuration.html.en , probabilmente vuoi l'opzione PostLogin

Il posto standard per i comandi da eseguire quando si accede è ~/.profile . Ci sono alcuni ambienti in cui questo file viene ignorato quando si accede direttamente in modalità grafica, ma con Ubuntu 10.04, ~/.profile viene letto da script di accesso gdm, kdm, lxdm e xdm (oltre a quando si accede a un text console o sopra ssh).

Se si dispone di un ~/.bash_profile , il tuo ~/.profile verrà saltato a volte. È meglio inserire solo le seguenti due righe nel file ~/.bash_profile :

 . ~/.profile . ~/.bashrc 

Quindi metta le azioni di login-time in ~/.profile e le personalizzazioni di shell in ~/.bashrc .

Forse non ho capito tutte le sottigliezze, ma penso che puoi farlo se stai utilizzando ubuntu, immagino che si possa scrivere uno script per each utente (o uno script con regole diverse a seconda di 'whoami') e , se stanno usando gnome (come è predefinito per Ubuntu), aggiungere lo script all'avvio.

Linux cron (scritto da Paul Vixie, cosiddetto Vixie cron) ha la meta keyword @reboot , che inizia le cose come proprietario crontab al riavvio. Vedere http://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-reboot/