Elogind¶
elogind systemd projesinde bulunan logind uygulamasının systemd'den bağımsız çalışabilen halidir. Genellikle systemd'i kullanmayan ancak KDE veya GNOME gibi systemd'e bağımlı yazılımları kullanmak isteyen kullanıcılar için tercih edilir. Amacı kullanıcı oturumlarını yönetmektir. Pam kullanarak çalışır.
Kurulumu¶
Ymp kullanarak aşağıdaki gibi kurulum yapabilirsiniz.
$ ymp install elogind
Veya kaynak koddan derlemek için aşağıdaki komutları kullanabilirsiniz.
# Seçenekler için meson_options.txt dosyasına bakın.
$ meson setup build -Dpam=true ...
$ ninja -C build
$ ninja -C build install
Ardından openrc servisini etkinleştirelim. Bunun için aşağıdaki komuttan yararlanabiliriz.
$ rc-update add elogind
elogind pam ile çalıştığı için pam yapılandırmasına eklememiz gerekmektedir. Bunun için /etc/pam.d/system-auth dosyasına aşağıdaki satırı ekleyelim.
# /etc/pam.d/system-auth dosyası içine en alta ekleyin.
session include elogind-user
agetty servisinin ayar dosyasında login komutu ayarlamak gerekebilir. Bunun sebebi login komutunun varsayılan olarak pam kullanmadan çalışan busybox tarafından sağlanmasıdır. Bunun için /etc/conf.d/agetty içerisini aşağıdaki gibi değiştirelim.
...
agetty_options="-l /usr/bin/login"
...
libsystemd isteyen uygulama ve kütüphaneler ile uyumluluğu arttırmak için sembolik bağ atabilirsiniz. (İsteğe bağlı)
ln -s libelogind.so.0 /lib/libsystemd.so.0
ln -s libelogind.so.0 /lib/libsystemd.so.0.35.0
ln -s pam_elogind.so /lib/security/pam_systemd.so
ln -s libelogind.pc /lib/pkgconfig/libsystemd.pc
ln -s libelogind.pc /lib/pkgconfig/libsystemd-login.pc
ln -s elogind /usr/include/systemd
Benzer şekilde systemd çalışıyormuş gibi algımasını sağlamak için servis dosyasına aşağıdaki gibi ekleme yapabilirsiniz.
...
start_pre() {
# systemd is running stuff
checkpath --mode 0755 -d /run/systemd/
checkpath --mode 0755 -d /run/systemd/system/
}
...
Oturumların listelenmesi¶
Oturum listelemek için loginctl komutunu kullanabilirsiniz. Bu komut aşağıdaki gibi çıktı verir.
SESSION UID USER SEAT TTY
1 0 root seat0 tty1
1 sessions listed.
Kullanım¶
loginctl komutu, oturum yöneticisini denetlemek ve analiz etmek için kullanılır. Örneğin, sistemi kapatmak veya yeniden başlatmak için şu komutları kullanabilirsiniz:
loginctl poweroff
loginctl reboot
Uyku moduna almak için ise şu komutları kullanabilirsiniz:
loginctl suspend
Not: Uyku modu bazı donanımlarda düzgün çalışmayabilir.
Oturum kontrolü¶
loginctl komutu, Linux sistemlerinde oturumları kontrol etmek ve yönetmek için kullanılır. Bu komut, kullanıcıların oturumlarını listeleme, oturumları kapatma, ekranları kilitleme, sistem işlemlerini gerçekleştirme gibi çeşitli işlemleri gerçekleştirmek için kullanılır.
Oturumları Listeleme:
loginctl list-sessions
Bu komut, sistemdeki tüm oturumları listeler. Her oturumun bir oturum kimliği (session id) bulunur.
Oturumu Kapatma:
loginctl terminate-session <session-id>
Bu komut, belirtilen oturumu sonlandırır. <session-id>, sonlandırmak istediğiniz oturumun kimliğidir.
Ekranı Kilitleme:
loginctl lock-session <session-id>
Bu komut, belirtilen oturumun ekranını kilitlemeye yarar. <session-id>, kilitlemek istediğiniz oturumun kimliğidir.
Ekran Kilidini Açma:
loginctl unlock-session <session-id>
Bu komut, belirtilen oturumun ekranının kilidini açar. <session-id>, kilidini açmak istediğiniz oturumun kimliğidir.