GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Menjalankan Perintah Sebelum Login Pengguna Di Linux?

Itu pertanyaan yang telah saya lihat beberapa kali untuk beberapa varian Linux, jadi mari kita coba secara lengkap.
Apa metode untuk mengeksekusi script/command/program sebelum dan sesudah pengguna login ke sesi desktopnya?

Jawaban yang Diterima:

Pengantar

Untuk menjalankan program dalam lingkungan grafis sebelum pengguna masuk ke lingkungan grafis bergantung pada manajer tampilan Anda. Manajer tampilan bertanggung jawab untuk menyediakan antarmuka login dan menyiapkan lingkungan grafis Anda setelah login.
yang paling penting adalah sebagai berikut:

  • GDM adalah pengelola tampilan GNOME.
  • LightDM adalah pengelola tampilan lintas desktop, dapat menggunakan berbagai front-end yang ditulis dalam toolkit apa pun.
  • LXDM adalah pengelola tampilan LXDE tetapi tidak bergantung pada lingkungan desktop LXDE.
  • SDDM adalah pengelola tampilan modern untuk X11 dan Wayland yang bertujuan untuk menjadi cepat, sederhana, dan indah.

Kami akan meninjau cara mengatur eksekusi perintah ketika manajer tampilan muncul sebelum pengguna masuk dan cara menjalankan sesuatu ketika seseorang akhirnya masuk.

Jika Anda tidak tahu yang mana yang sedang Anda jalankan, Anda dapat merujuk ke pertanyaan ini:
Apakah ada perintah linux sederhana yang akan memberi tahu saya apa itu manajer tampilan saya?

PENTING
Sebelum saya mulai, Anda akan mengedit file itu kecuali jika disebutkan jalankan perintah sebagai root . Jangan hapus hal-hal yang ada di file-file itu kecuali jika Anda tahu apa yang Anda lakukan dan berhati-hatilah dengan apa yang Anda masukkan ke dalam file itu. Ini dapat menghilangkan kemampuan Anda untuk masuk.

GDM

Hati-hati dengan GDM, itu akan menjalankan semua skrip sebagai `root`, kode kesalahan yang berbeda dari 0 dapat membatasi kemampuan login Anda dan GDM akan menunggu skrip Anda selesai sehingga tidak responsif selama perintah Anda dijalankan.
Untuk penjelasan lengkapnya [baca dokumentasinya][5].

Sebelum Masuk

Jika Anda perlu menjalankan perintah sebelum pengguna login, Anda dapat mengedit file:
`/etc/gdm3/Init/Default`.
File ini adalah skrip shell yang akan dieksekusi sebelum tampilan manajer ditampilkan kepada pengguna.

Setelah Masuk

Jika Anda perlu menjalankan sesuatu setelah pengguna masuk tetapi sebelum sesinya diinisialisasi, edit file:
`/etc/gdm3/PostLogin/Default`
Jika Anda ingin menjalankan perintah setelah sesi dari inisialisasi sesi (env, lingkungan grafis, login…) edit file:
`/etc/gdm3/PreSession/Default`

DM Ringan

Saya akan berbicara tentang lightdm.conf dan bukan tentang /etc/lightdm.conf.d/*.conf. Anda dapat melakukan apa yang Anda inginkan yang penting adalah mengetahui opsi yang dapat Anda gunakan.
Hati-hati dengan lightDM, Anda mungkin sudah memiliki beberapa skrip lain mulai Anda harus membaca dengan tepat file konfigurasi Anda sebelum mengeditnya. juga urutan penempatan skrip tersebut dapat memengaruhi cara sesi dimuat.

Terkait:Vsftpd gagal otentikasi pam?

LightDM bekerja sedikit berbeda dari yang lain, Anda akan meletakkan opsi di file konfigurasi utama untuk menunjukkan skrip yang akan dieksekusi.

Edit file conf lightDM utama /etc/lightdm/lightdm.conf .

Anda harus menambahkan baris pertama dengan [Seat:*] , seperti yang ditunjukkan di sini:

Versi lightdm yang lebih baru (15.10 dan seterusnya) telah menggantikan yang usang
[SeatDefaults] dengan [Seat:*]

Sebelum Masuk

Tambahkan baris `greeter-setup-script=/my/path/to/script`
Skrip ini akan dijalankan ketika lightDM menampilkan antarmuka login.

Setelah Masuk

Tambahkan baris `session-setup-script=/script/to/start/script`
Ini akan menjalankan skrip sebagai `root` setelah pengguna berhasil login.

LXDM

Sebelum Masuk

Jika Anda ingin menjalankan perintah sebelum ada yang login, Anda dapat mengedit skrip shell:
`/etc/lxdm/LoginReady`

Setelah Masuk

Jika Anda ingin menjalankan perintah setelah seseorang login tetapi sebagai root, Anda dapat mengedit skrip shell:
`/etc/lxdm/PreLogin`
Dan jika Anda ingin menjalankan perintah sebagai pengguna yang login, Anda dapat mengedit skrip:
`/etc/lxdm/PostLogin`

SSDM

Tidak dapat menemukan informasi yang tepat tentang itu… Jangan ragu untuk mengedit bagian ini.


Linux
  1. Contoh Perintah login di Linux

  2. matlab mengeksekusi skrip dari baris perintah linux

  3. Cara membersihkan output dari perintah 'skrip' linux

  1. Cara Membuat Script Perintah Linux

  2. Bagaimana cara membiarkan pengguna menjalankan perintah yang berisi tanda kutip di sudoers?

  3. Bagaimana cara membuat serial eksekusi perintah di linux?

  1. Cara Mengunci dan Membuka Kunci Pengguna di Linux

  2. perintah su Linux

  3. Cara menonaktifkan perintah khusus untuk pengguna tertentu di Linux