Ringkasan
- 2.1. Perkenalan
- 2.2. Stabilitas Antar Muka
- 2.3. Penjelasan Fungsional
- 2.4. Panel Penyapa
- 2.5. Aksesibilitas
- 2.6. Peramban Wajah GDM
- 2.7. XDMCP
- 2.8. Log
- 2.9. Pindah Pengguna Dengan Cepat
2.1. Perkenalan
Manajer Tampilan GNOME (GNOME Display Manager, GDM) adalah manajer tampilan yang mengimplementasikan semua fitur signifikan yang diperlukan untuk mengelola tampilan yang tersambung langsung dan jarak jauh. GDM ditulis dari awal dan tidak memuat sebarang kode XDM atau X Consortium.
Catat bahwa GDM dapat dikonfigurasi, dan banyak tatanan konfigurasi memiliki dampak keamanan. Masalah-masalah yang mesti diwaspadai disorot pada dokumen ini.
Mohon dicatat bahwa beberap Sistem Operasi menata GDM untuk berperilaku berbeda dengan nilai bawaan sebagaimana dijelaskan dalam dokumen ini. Bila GDM sepertinya tidak berperilaku seperti yang didokumentasikan, maka periksalah bila ada konfigurasi terkait yang mungkin berbeda dengan yang dijelaskan disini.
Untuk informasi lebih lanjut tentang GDM, silakan mengacu ke situs web projek di http://www.gnome.org/projects/gdm dan Wiki projek http://live.gnome.org/GDM.
Untuk diskusi atau pertanyaan tentang GDM, silakan mengacu ke milis
. List ini diarsipkan, dan merupakan sumber daya yang bagus untuk memeriksa dan mencari jawaban atas pertanyaan umum. List ini diarsipkan di http://mail.gnome.org/archives/gdm-list/ dan memiliki fasilitas pencarian untuk mencari pesan dengan kata kunci.Mohon kirim laporan kutu atau permintaan perbaikan ke kategori "gdm" pada http://bugzilla.gnome.org.
2.2. Stabilitas Antar Muka
GDM 2.20 dan sebelumnya mendukung antar muka konfigurasi stabil. Namun, codebase-nya ditulis ulang secara lengkap bagi GDM 2.22, dan tak sepenuhnya kompatibel ke belakang dengan rilis-rilis yang lebih lama. Hal ini sebagian karena berbagai hal bekerja secara berbeda, sehingga beberapa opsi jadi tak masuk akal, sebagian lagi karena sebagian opsi tak pernah masuk akal, dan sebagian karena beberapa fungsionalitas belum diimplementasi ulang.
Antarmuka yang didukung terus secara stabil termasuk skrip Xsession, Init, PreSession, PostSession, dan PostLogin. Beberapa opsi konfigurasi daemon dalam berkas <etc>/gdm/custom.conf didukung terus. ~/.dmrc dan lokasi gambar peramban muka juga masih didukung.
GDM 2.20 dan sebelumnya mendukung kemampuan pengelolaan tampilan berganda dengan kartu grafis yang terpisah seperti yang dipakai pada lingkungan server terminal, log masuk ke jendela melalui program seperti Xnest atau Xephyr, program gdmsetup, tema penyapa berbasis XML, dan kemampuan menjalankan pemilih XDMCP dari layar log masuk. Fitur-fitur tersebut tak ditambahkan kembali selama penulisan ulang 2.22.
2.3. Penjelasan Fungsional
GDM bertanggung jawab mengelola tampilan pada sistem. Ini termasuk mengotentikasi pengguna, memulai sesi pengguna, dan mengakhiri sesi pengguna. GDM dapat ditata dan berbagai cara penataannya diuraikan dalam bagian "Menata GDM" dari dokumen ini. GDM juga membantu pengguna cacat.
GDM menyediakan kemampuan mengelola tampilan konsol utama, dan tampilan yang diluncurkan melalui VT. Ini terpadu dengan program lain, seperti Fast User Switch Applet (FUSA, aplet berganti pengguna secara cepat) dan gnome-screensaver untuk mengelola tampilan berganda pada konsol melalui antar muka Xserver Virtual Terminal (VT). Ini juga dapat mengelola tampilan XDMCP.
Tanpa peduli jenis tampilan, GDM akan melakukan hal berikut ketika mengelola tampilan. Dia akan memulai proses Xserver, lalu menjalankan skrip Init sebagai pengguna root, dan mengawali program penyapa pada tampilan.
Program penyapa (greeter) dijalankan sebagai pengguna/grup biasa "gdm". Pengguna dan grup ini dijelaskan dalam bagian "Keamanan" dari dokumen ini. Fungsi utama program penyapa adalah untuk menyediakan mekanisme memilih akun untuk log masuk dan untuk mendorong dialog antara pengguna dan sistem ketika mengotentikasi akun tersebut. Proses otentikasi ini didorong oleh Pluggable Authentication Modules (PAM). Modul PAM menentukan sapaan apa (bila ada) yang ditampilkan ke pengguna untuk mengotentikasi. Pada sistem umum, program penyapa akan meminta nama pengguna dan sandi untuk otentikasi. Namun beberapa sistem mungkin ditata untuk memakai mekanisme pelengkap seperti sidik jari atau pembaca SmartCard. GDM dapat ditata untuk mendukung alternatif tersebut secara paralel dengan ekstensi log masuk penyapa dan opsi --enable-split-authentication ./configure, atau satu setiap saat melalui konfigurasi PAM sistem.
Ekstensi smartcard dapat diaktifkan atau dimatikan melalui kunci gsettings org.gnome.display-manager.extensions.smartcard.active.
Serupa dengan itu, ekstensi sidik jari dapat diaktifkan atau dimatikan melalui kunci gsettings org.gnome.display-manager.extensions.fingerprint.active.
GDM dan PAM dapat ditata untuk tidak memerlukan masukan, yang akan menyebabkan GDM otomatis log masuk dan memulai suatu sesi, yang dapat berguna bagi beberapa lingkungan, seperti sistem pengguna tunggal atau kios.
Selain otentikasi, program penyapa mengijinkan pengguna memilih sesi mana yang dimulai dan bahasa mana yang dipakai. Sesi didefinisikan oleh berkas yang memiliki akhiran .desktop dan informasi lebih lanjut tentang berkas ini dapat ditemukan dalam bagian "Konfigurasi Bahasa dan Sesi Pengguna GDM" dari dokumen ini. Secara bawaan, GDM ditata untuk menampilkan peramban wajah sehingga pengguna dapat memilih akunnya dengan mengklik pada suatu gambar daripada mesti mengetikkan nama penggunanya. GDM mencatat sesi dan bahasa baku pengguna dalam ~/.dmrc milik pengguna dan akan memakai baku ini bila pengguna tak memilih sesi atau bahasa dalam GUI log masuk.
Setelah mengotentikasi pengguna, daemon menjalankan skrip PostLogin sebagai root, lalu menjalankan skrip PreSession sebagai root. Setelah menjalankan skrip tersebut, sesi pengguna dimulai. Ketika pengguna keluar dari sesinya, skrip PostSession dijalankan sebagai root. Skrip-skrip tersebut disediakan sebagai kaitan bagi distribusi dan pengguna akhir untuk menggubah bagaimana sesi dikelola. Sebagai contoh, memakai kait tersebut Anda dapat menyiapkan suatu mesin yang membuat direktori $HOME milik pengguna sambil jalan, dan menghapusnya saat log keluar. Perbedaan antara skrip PostLogin dan PreSession adalah bahwa PostLogin dijalankan sebelum pemanggilan pam_open_session sehingga merupakan tempat yang tepat untuk melakukan apapun yang mesti dijalankan sebelum sesi pengguna diinisialisasi. Skrip PreSession dipanggil setelah inisialisasi sesi.
2.4. Panel Penyapa
Program penyapa GDM menampilkan suatu panel yang dilabuhkan di dasar layar yang menyediakan fungsionalitas tambahan. Ketika seorang pengguna dipilih, panel mengijinkan pengguna memilih sesi, bahasa, dan tata letak papan tik mana yang dipakai setelah log masuk. Pemilih tata letak papan tik juga mengubah tata letak papan tik yang dipakai ketika mengetikkan sandi Anda. Panel juga memuat wilayah bagi layanan log masuk untuk menampilkan ikon status. Beberapa contoh ikon status termasuk ikon baterai untuk pemakaian baterai sekarang, dan ikon untuk mengaktifkan fitur-fitur aksesibilitas. Program penyapa juga menyediakan tombol-tombol yang memungkinkan pengguna mematikan atau memulai ulang sistem. Mungkin juga untuk menata GDM agar tidak menyediakan tombol matikan dan mulai ulang bila diinginkan. GDM juga dapat ditata melalui PolicyKit (atau melalui RBAC pada Oracle Solaris) untuk menuntut pengguna agar memiliki otorisasi yang sesuai sebelum menerima permintaan mematikan atau memulai ulang.
Perhatikan bahwa fitur tata letak papan tik hanya tersedia pada sistem yang mendukung libxklavier.
2.5. Aksesibilitas
GDM mendukung "Log Masuk Aksesibel", yang memungkinkan pengguna log masuk ke sesi desktop mereka walaupun mereka tak dapat dengan mudah menggunakan layar, tetikus, atau papan tik secara biasa. Tersedia fitur-fitur Teknologi Aksesibilitas seperti papan tik pada layar, pembaca layar, pembesar layar, dan aksesibilitas papan tik Xserver AccessX. Juga dimungkinkan untuk mengaktifkan teks besar atau ikon dan kendali-kendali kontras tinggi, bila diperlukan. Lihat bagian "Konfigurasi Aksesibilitas" dari dokumen untuk informasi lebih lanjut tentang bagaimana berbagai fitur aksesibilitas dapat ditata.
Pada beberapa Sistem Operasi, perlu dipastikan bahwa pengguna GDM adalah anggota dari grup "audio" agar program AT yang memerlukan keluaran audio (seperti misalnya teks-ke-suara) berfungsi.
2.6. Peramban Wajah GDM
Peramban Wajah adalah antar muka yang memungkinkan pengguna memilih nama dengan mengklik gambar. Fitur ini dapat diaktifkan atau dimatikan melalui kunci GConf /apps/gdm/simple-greeter/disable_user_list dan bawaannya aktif. Ketika dimatikan, pengguna mesti mengetikkan nama penggunanya secara lengkap. Ketika diaktifkan, ini menampilkan semua pengguna lokal yang dapat log masuk pada sistem (semua akun pengguna yang didefinisikan di dalam berkas /etc/passwd yang memiliki shell yang valid dan UID cukup tinggi) dan pengguna jauh yang baru-baru ini log masuk. Peramban wajah dalam GDM 2.20 dan sebelumnya akan mencoba menampilkan semua pengguna jauh, yang akan menyebabkan masalah kinerja pada pemasangan di enterprise yang besar.
Peramban Wajah ditata untuk menampilkan pengguna yang paling sering log masuk di puncak daftar. Ini membantu memastikan bahwa pengguna yang sering log masuk dapat menemukan gambar log masuk mereka secara cepat.
Peramban Wajah mendukung "pencarian type-ahead" yang secara dinamis memindah pemilihan wajah ketika pengguna mengetikkan ke nama pengguna yang berkaitan dalam daftar. Ini berarti bahwa pengguna dengan nama pengguna yang panjang hanya perlu mengetikkan beberapa karakter pertama dari nama pengguna sebelum butir yang benar dalam daftar menjadi terpilih.
Ikon yang dipakai oleh GDM dapat dipasang secara global oleh sysadmin atau dapat ditempatkan pada direktori rumah pengguna. Bila dipasang secara global mereka mesti ada di direktori <share>/pixmaps/faces/ dan nama berkas mesti merupakan nama pengguna. Berkas gambar wajah mesti merupakan gambar standar yang dapat dibaca oleh GTK+, seperti misalnya PNG atau JPEG. Ikon wajah yang ditempatkan di direktori wajah global mesti dapat dibaca oleh pengguna GDM.
Bila tak ada ikon global bagi pengguna, GDM akan mencari berkas gambar dalam direktori $HOME pengguna. Pertama kali GDM akan mencari gambar wajah pengguna dalam ~/.face. Bila tak ditemukan, akan dicoba ~/.face.icon. Bila masih tak ditemukan, akan dipakai nilai yang didefinisikan bagi "face/picture=" dalam berkas ~/.gnome2/gdm.
Bila seorang pengguna tak memiliki gambar wajah, GDM akan memakai ikon "stock_person" yang didefinisikan dalam tema GTK+ kini. Bila gambar itu tak didefinisikan, maka akan kembali ke gambar wajah generik.
Perhatikan bahwa memuat dan menskalakan ikon wajah yang terletak di direktori rumah pengguna jauh bisa merupakan tugas yang sangat menghabiskan waktu. Karena tak praktis untuk memuat gambar lewat NIS atau NFS, GDM tak mencoba memuat gambar wajah dari direktori rumah jauh.
Ketika peramban dinyalakan, nama pengguna yang valid pada komputer dipaparkan untuk dilihat oleh semua orang. Bila XDMCP diaktifkan, maka nama pengguna dipaparkan ke pengguna jauh. Ini tentu saja membatasi keamanan karena pengguna yang berniat jahat tak perlu lagi menebak nama pengguna yang valid. Dalam beberapa lingkungan yang sangat terbatas, peramban wajah mungkin tidak pada tempatnya.
2.7. XDMCP
Daemon GDM dapat ditata untuk mendengarkan dan mengelola permintaan X Display Manager Protocol (XDMCP) dari tampilan jauh. Secara baku dukungan XDMCP dimatikan, tapi dapat dinyalakan bila dikehendaki. Bila GDM dibangun dengan dukungan TCP Wrapper, maka daemon hanya akan memberikan akses ke host yang dinyatakan pada bagian layanan GDM dalam berkas konfigurasi TCP Wrapper.
GDM menyertakan beberapa penangkal yang membuatnya lebih kebal terhadap serangan denial of service pada layanan XDMCP. Banyak parameter protokol, tenggang waktu jabat tangan, dsb. dapat ditala secara halus. Konfigurasi bawaan mestinya berjalan dengan cukup baik pada kebanyakan sistem.
Secara baku GDM mendengarkan permintaan XDMCP pada port UDP normal yang dipakai oleh XDMCP, port 177, dan akan menjawab permintaan QUERY dan BROADCAST_QUERY dengan mengirim paket WILLING ke peminta.
GDM juga dapat ditata untuk menjawab permintaan INDIRECT dan menyajikan suatu pemilih host ke tampilan jauh. GDM akan mengingat pilihan pengguna dan meneruskan permintaan seterusnya ke pengelola yang dipilih. GDM juga mendukung ekstensi ke protokol yang membuatnya melupakan pengalihan sekali koneksi pengguna sukses. Ekstensi ini hanya didukung bila kedua daemon adalah GDM. Ini transparan dan akan diabaikan oleh XDM atau daemon lain yang mengimplementasikan XDMCP.
Bila XDMCP sepertinya tak bekerja, pastikan bahwa semua mesin dinyatakan dalam /etc/hosts.
Lihat ke bagian "Keamanan" untuk informasi tentang aspek-aspek keamanan ketika memakai XDMCP.
2.8. Log
GDM memakai syslog untuk mencatat galat dan status. Itu juga dapat mencatat informasi pengawakutuan, yang dapat berguna untuk menelusuri masalah bila GDM tak bekerja dengan baik. Keluaran awakutu dapat diaktifkan dengan menata kunci debug/Enable ke "true" dalam berkas <etc>/gdm/custom.conf.
Keluaran dari berbagai Xserver disimpan di dalam direktori log GDM, yang biasanya <var>/log/gdm/. Sebarang pesan Xserver disimpan ke berkas yang dikaitkan dengan nilai tampilan, <display>.log.
The session output is piped through the GDM daemon to the ~/$XDG_CACHE_HOME/gdm/session.log file which usually expands to ~/.cache/gdm/session.log. The file is overwritten on each login, so logging out and logging back into the same user via GDM will cause any messages from the previous session to be lost.
Note that if GDM can not create this file for some reason, then a fallback file will be created named ~/$XDG_CACHE_HOME/gdm/session.log.XXXXXXXX where the XXXXXXXX are some random characters.
2.9. Pindah Pengguna Dengan Cepat
GDM mengijinkan beberapa pengguna log masuk bersamaan. Setelah salah satu pengguna log masuk, pengguna lain dapat log masuk melalui Penukar Pengguna pada Panel GNOME, atau dari tombol "Ganti Pengguna" pada dialog Kunci Layar dari Screensaver GNOME. Sesi aktif dapat ditukar bolak balik memakai mekanisme yang sama. Perhatikan bahwa beberapa distribusi mungkin tidak menambahkan Penukar Pengguna ke konfigurasi panel bawaan. Itu dapat ditambahkan memakai menu konteks panel.
Catat bahwa fitur ini tersedia pada sistem yang mendukung Terminal Virtual. Fitur ini tak akan berfungsi bila Terminal Virtual tak tersedia.