Skrip init per pengguna

6

Ada skrip (lebih mirip perintah) yang ingin saya jalankan berdasarkan per pengguna-login. Saya pernah mendengar tentang init.dskrip tetapi itu membutuhkan izin root dan tidak dapat disesuaikan per pengguna (AFAIK). Sederhananya, saya mencari sesuatu di sepanjang baris .bashrcyang akan dieksekusi hanya sekali per login pengguna.

Untuk detail sedikit tentang skenario, saya saat ini menggunakan OS tamu Ubuntu pada host Windows (emulasi milik VirtualBox). Setiap kali saya masuk ke OS tamu saya, saya perlu mountperintah yang akan dijalankan yang akan me-mount folder bersama saya ke direktori umum di direktori home pengguna.

sasuke
sumber
Tidak mountmemerlukan root, atau setidaknya perubahan konfigurasi root untuk membuat volume mountable oleh pengguna non-root?
Rich Homolka
1
@ Rich: Memang benar; Saya tidak keberatan melihat prompt kata sandi ketika saya menyalakan shell saya. Hanya saja mountperintahnya cukup rumit dan saya tidak ingin melakukan upaya ekstra untuk mengeksekusi skrip pembantu.
sasuke

Jawaban:

1

Anda dapat mencoba berbagai opsi di sini: http://library.gnome.org/admin/gdm/stable/configuration.html.en , Anda mungkin menginginkan opsi PostLogin

natxo asenjo
sumber
1
Masalahnya di sini adalah bahwa semua opsi tersebut memerlukan perubahan pada file / etc / * yang membutuhkan hak akses root. Apakah tidak ada file yang dapat saya buat / edit untuk memastikan bahwa skrip dijalankan hanya ketika saya login ke sistem? Sesuatu seperti .bashrcyang dipanggil pada setiap sesi bash dan bersifat pribadi untuk pengguna?
sasuke
ok, saya melewatkan hak root, jelas. Anda dapat mencoba menulis file .xinitrc atau .xsession: acm.uiuc.edu/workshops/cool_unix/xinitrc.html
natxo asenjo
tidak, itu akan berhasil juga. Apa yang akan bekerja adalah menambahkan skrip Anda ke aplikasi startup (asalkan ubuntu memiliki hal seperti itu). Di fedora Anda sampai di sana dari sistem -> preferensi -> aplikasi starup. Di sini ada tautan ubuntu: help.ubuntu.com/community/AddingProgramToSessionStartup
natxo asenjo
Saya pikir itu aneh bahwa tidak ada standar untuk ini di Linux. Setiap orang membutuhkan metode yang berbeda sesuai dengan distribusinya? Atau mungkin ada standar?
AlikElzin-kilaka
5

Tempat standar untuk menjalankan perintah ketika Anda masuk adalah ~/.profile. Ada beberapa lingkungan di mana file ini dilewati ketika Anda masuk langsung dalam mode grafis, tetapi dengan Ubuntu 10,04, ~/.profiledibaca oleh skrip login gdm, kdm, lxdm dan xdm (selain saat Anda masuk pada konsol teks atau di atas ssh ).

Jika Anda memiliki ~/.bash_profile, ~/.profileterkadang Anda akan dilewati. Yang terbaik adalah menempatkan hanya dua baris berikut di Anda ~/.bash_profile:

. ~/.profile
. ~/.bashrc

Lalu masukkan tindakan waktu masuk ~/.profiledan batalkan kustomisasi ~/.bashrc.

Gilles
sumber
Anda telah menyelesaikan perjalanan 2 hari tentang mengapa .bashrc dan .profile diabaikan saat login. Admin lain membuat .bash_profile sekaligus - setelah menghapus dan me-reogging, semuanya bekerja dengan luar biasa lagi! Woot!
Dooley_labs
1

Mungkin saya tidak memahami semua seluk-beluk, tetapi saya pikir Anda dapat melakukannya jika Anda menggunakan ubuntu, saya kira Anda bisa menulis skrip untuk setiap pengguna (atau skrip dengan aturan yang berbeda tergantung pada 'whoami') dan , jika mereka menggunakan gnome (seperti default untuk Ubuntu), tambahkan skrip itu ke aplikasi startup.

celebdor
sumber