Bagaimana cara menjalankan skrip login gdm secara otomatis untuk semua pengguna?

8

File apa yang harus saya modifikasi untuk menjalankan beberapa instruksi ketika ada pengguna yang masuk melalui gdm?

Saya mencoba /etc/bashrctetapi yang dieksekusi ony ketika memulai bash (dan setiap kali xterm terbuka). Saya ingin menjalankan sesuatu hanya sekali ketika pengguna masuk.

Yang ingin saya lakukan adalah "mengatur ulang" beberapa preferensi pengguna setiap kali pengguna logon (termasuk manajer jendela), sehingga skrip harus dijalankan sebelum WM diinisialisasi.

Bogdan
sumber
4
Mengapa Anda ingin mengganggu pengguna Anda seperti itu?
Keith

Jawaban:

8

Solusi yang tampaknya paling berhasil bagi saya adalah mengedit /etc/gdm/PostLogin/Default. Ini dijalankan tepat setelah pengguna masuk dengan gdm. Apa yang saya inginkan.

Bogdan
sumber
1

Pada Debian dan turunannya Anda dapat memodifikasi /etc/profile, jangan berpikir itu bersifat universal.

enzotib
sumber
Ini hanya untuk login shell - dan OP menunjuk dia tidak tertarik dengan solusi tersebut.
rozcietrzewiacz
1
@rozcietrzewiacz: ini juga berfungsi untuk login GDM, karena ia berbunyi /etc/profile(lihat /etc/gdm/Xsession). Tidak ada aturan umum untuk semua DM, saya pikir.
enzotib
Hm ... Mungkin itu, saya tidak tahu - tetapi apakah Anda memeriksa kapan lagi itu bersumber? Seseorang dapat melakukan beberapa pengujian pengaturan login tentu saja, tetapi kemudian Anda harus menjelaskan pendekatan ini lebih lanjut.
rozcietrzewiacz
0

Dari halaman manual:

Ketika bash dipanggil sebagai shell login interaktif, atau sebagai shell non-interaktif dengan opsi --login, ia pertama kali membaca dan menjalankan perintah dari file / etc / profile, jika file itu ada. Setelah membaca file itu, ia mencari ~ / .bash_profile, ~ / .bash_login, dan ~ / .profile, dalam urutan itu, dan membaca serta mengeksekusi perintah dari yang pertama yang ada dan dapat dibaca. Opsi --noprofile dapat digunakan ketika shell mulai menghambat perilaku ini.

Ketika shell login keluar, bash membaca dan mengeksekusi perintah dari file ~ / .bash_logout, jika ada.

Ketika shell interaktif yang bukan shell login dimulai, bash membaca dan mengeksekusi perintah dari /etc/bash.bashrc dan ~ / .bashrc, jika file-file ini ada. Ini dapat dihambat dengan menggunakan opsi --norc. Opsi file --rcfile akan memaksa bash untuk membaca dan menjalankan perintah dari file alih-alih /etc/bash.bashrc dan ~ / .bashrc.

Untuk mengubah WM pengguna Anda: uninstall kdm / gdm / xdm / slim, setup WM di ~ / .xinitrc dan jalankan "startx" dari konfigurasi bash Anda.

Rufo El Magufo
sumber