Di sistem desktop Linux, saya ingin menjalankan perintah ketika pengguna login.
Setelah membaca beberapa posting lain, saya mencoba memasukkan perintah ~/.bashrc
tetapi tidak berhasil. Selain itu, sistem menggunakan antarmuka grafis untuk login pengguna, sehingga perintah tidak boleh terkait dengan awal shell.
Saya juga mencoba menambahkan perintah ke salah satu skrip yang ada /etc/profile.d
tanpa hasil.
Apakah ada cara lain untuk melakukan ini? File apa saja yang dibaca sistem setelah login?
Jawaban:
Tidak ada jaminan bahwa manajer tampilan grafis akan membaca file startup klasik. Ini berubah antara distribusi dan antara manajer tampilan. Salah satu dari yang berikut ini harusnya berfungsi.
Gunakan metode asli lingkungan desktop Anda untuk mengatur aplikasi startup. Detailnya akan tergantung pada DE yang Anda gunakan, tetapi Anda dapat membuat skrip yang menjalankan perintah Anda dan menambahkannya ke daftar aplikasi startup. Misalnya, pada sistem saya (Kayu Manis), Anda dapat melakukan ini melalui "Pengaturan Sistem" => "Aplikasi Startup".
Gunakan
~/.xprofile
, ini bersumber dari setidaknya manajer login GDM, LDM, LightDM dan LXDM.Jika tidak satu pun dari pekerjaan di atas, coba tambahkan perintah ke
~/.profile
: Ini adalah file inisialisasi utama untuk shell login dan juga dibaca oleh beberapa shell grafis saat login.Seperti yang ditunjukkan @derobert dalam komentar, Anda juga dapat menggunakan standar desktop gratis :
The
~/.bashrc
benar-benar tidak relevan di sini, itu hanya dibaca oleh kerang non-login interaktif, sehingga diabaikan pada kerang login, grafis atau tidak.sumber
~/.config/autostart
dan/etc/xdg/autostart/
yang merupakan lokasi standar sesuai dengan Spesifikasi Autostart Aplikasi Desktop . Dan juga/etc/X11/Xsession.d
dan~/.xsession
.Pilihan lain adalah menggunakan pam - ini akan memberi Anda cara yang tepat untuk mendefinisikan tindakan saat masuk.
Untuk tindakan umum, Anda dapat mengandalkan pam_exec ( http://manpages.ubuntu.com/manpages/hardy/man8/pam_exec.8.html ). Namun, jika Anda perlu melakukan tindakan yang lebih spesifik dengan cara yang aman, mungkin ada modul pam yang lebih khusus yang akan membuat lebih cocok, seperti pam_mount yang biasa digunakan (untuk mount saat login - http: //manpages.ubuntu. com / manpages / hardy / man8 / pam_mount.8.html ) atau pam_echo (untuk pesan sewenang-wenang kepada pengguna - http://manpages.ubuntu.com/manpages/hardy/man8/pam_echo.8.html ).
Secara umum, pam adalah sistem yang sangat rapi untuk menyesuaikan login, jadi Anda mungkin ingin melihat lebih dalam, daripada mengandalkan skrip yang berpotensi tidak aman, seperti yang disarankan orang lain.
Contoh
Diberikan /etc/pam.d/system-auth yang cukup khas, kita dapat menggunakan pam_exec setelah login seperti ini:
di mana
/usr/local/bin/my_prog
program sewenang-wenang dijalankan setelah pengguna berhasil masuk.sumber
pam
konfigurasi karena ini non-sepele.Menurut topik ini: Jalankan perintah secara otomatis setelah login?
Anda memiliki solusi
.bashrc
(bukan yang Anda butuhkan) dan solusi aplikasi startup. Saya mengutip Daniel S .:sumber