Bab 7. Sistem GUI

Daftar Isi

7.1. Lingkungan desktop GUI
7.2. Protokol komunikasi GUI
7.3. Infrastruktur GUI
7.4. Aplikasi GUI
7.5. User directories
7.6. Fonta
7.6.1. Fonta dasar
7.6.2. Rasterisasi fonta
7.7. Sandbox
7.8. Desktop jarak jauh
7.9. Sambungan server X
7.9.1. koneksi lokal server X
7.9.2. Sambungan jarak jauh server X
7.9.3. Koneksi chroot server X
7.10. Papanklip

Ada beberapa pilihan untuk lingkungan desktop GUI berfitur lengkap pada sistem Debian.


[Tip] Tip

Paket dependensi yang dipilih oleh metapackage tugas mungkin tidak sinkron dengan status transisi paket terbaru di bawah lingkungan Debian unstable/testing. Untuk task-gnome-desktop, Anda mungkin perlu menyesuaikan pilihan paket sebagai berikut:

  • Mulailah aptitude(8) sebagai sudo aptitude -u.

  • Pindahkan kursor ke "Tugas" dan tekan "Enter".

  • Pindahkan kursor ke "Pengguna akhir" tekan "Enter".

  • Pindahkan kursor ke "GNOME" tekan "Enter".

  • Pindahkan kursor ke task-gnome-desktop dan tekan "Enter".

  • Pindahkan kursor ke "Depends" dan tekan "m" (dipilih secara manual).

  • Pindahkan kursor ke "Recommends" dan tekan "m" (dipilih secara manual).

  • Pindahkan kursor ke "task-gnome-desktop dan tekan "-". (keluarkan)

  • Sesuaikan paket yang dipilih sambil mengeluarkan yang bermasalah yang menyebabkan konflik paket.

  • Tekan "g" untuk mulai memasang.

Bab ini akan fokus terutama pada lingkungan desktop default Debian: task-gnome-desktop yang menawarkan GNOME pada wayland.

Protokol komunikasi GUI yang digunakan pada desktop GNOME bisa berupa:

Silakan periksa situs freedesktop.org untuk bagaimana arsitektur Wayland berbeda dari arsitektur X Window.

Dari perspektif pengguna, perbedaan dapat diringkas secara bahasa sehari-hari sebagai:

  • Wayland adalah protokol komunikasi GUI host-yang-sama: baru, lebih sederhana, lebih cepat, tidak ada biner setuid root

  • X Window adalah protokol komunikasi GUI berkemampuan jaringan: tradisional, kompleks, lebih lambat, biner setuid root

Untuk aplikasi yang menggunakan protokol Wayland, akses ke konten tampilan mereka dari host jarak jauh didukung oleh VNC atau RDP. Lihat Bagian 7.8, “Desktop jarak jauh”

Server X modern memiliki Ekstensi Memori Bersama MIT dan berkomunikasi dengan klien X lokal mereka menggunakan memori bersama lokal. Ini melewati jaringan transparan Xlib saluran komunikasi inter proses dan meningkatkan kinerja. Situasi ini adalah latar belakang menciptakan Wayland sebagai protokol komunikasi GUI lokal saja.

Dengan menggunakan program xeyes yang dimulai dari terminal GNOME, Anda dapat memeriksa protokol komunikasi GUI yang digunakan oleh setiap aplikasi GUI.

 $ xeyes
  • Jika kursor tetikus ada pada aplikasi seperti "terminal GNOME" yang menggunakan protokol server tampilan Wayland, mata tidak bergerak dengan kursor tetikus.

  • Jika kursor tetikus berada pada aplikasi seperti "xterm" yang menggunakan protokol inti X Window System, mata bergerak dengan kursor tetikus mengekspos sifat arsitektur X Window yang tidak begitu terisolasi.

Pada April 2021, banyak aplikasi GUI populer seperti gnome dan aplikasi LibreOffice (LO) telah bermigrasi ke protokol server tampilan Wayland. Saya melihat xterm, gitk, chromium, firefox, gimp, dia, dan aplikasi-aplikasi KDE masih menggunakan protokol inti X Window System.

[Catatan] Catatan

Untuk xwayland di Wayland atau X Window System asli, berkas konfigurasi server X lama "/etc/X11/xorg.conf" seharusnya tidak ada pada sistem. Perangkat grafis dan masukan sekarang dikonfigurasi oleh kernel dengan DRM, KMS, dan udev. Server X asli telah ditulis ulang untuk menggunakannya. Lihat "dukungan mode video baku modedb" dalam dokumentasi kernel Linux.

Berikut adalah paket infrastruktur GUI yang terkenal untuk GNOME di lingkungan Wayland.


Di sini, "[auto]" berarti bahwa paket-paket ini secara otomatis dipasang ketika task-gnome-desktop dipasang.

[Tip] Tip

gnome-tweak adalah utilitas konfigurasi yang sangat diperlukan. Misalnya:

  • Anda dapat memaksa "Penguatan-Berlebih" volume suara dari "Umum".

  • Anda dapat memaksa "Caps" untuk menjadi "Esc" dari "Papan Ketik & Tetikus" -> "Papan Ketik" -> "Opsi Tata Letak Tambahan".

[Tip] Tip

Fitur rinci dari lingkungan desktop GNOME dapat dikonfigurasi dengan utilitas yang dimulai dengan mengetikkan "settings", "tweaks", atau "extensions" setelah menekan tombol Super.

Banyak aplikasi GUI yang berguna tersedia di Debian sekarang. Memasang paket perangkat lunak seperti scribus (KDE) di lingkungan desktop GNOME cukup dapat diterima karena fungsi yang sesuai tidak tersedia di bawah lingkungan desktop GNOME. Tetapi memasang terlalu banyak paket dengan fungsi duplikat dapat mengacaukan sistem Anda.

Berikut adalah daftar aplikasi GUI yang menarik perhatian saya.

Tabel 7.3. Daftar aplikasi GUI yang terkenal

paket popcon ukuran paket jenis deskripsi
evolution V:30, I:239 486 GNOME Manajemen informasi pribadi (groupware dan surel)
thunderbird V:48, I:119 224760 GTK Klien surel (Mozilla Thunderbird)
kontact V:1, I:12 2208 KDE Manajemen informasi pribadi (groupware dan surel)
libreoffice-writer V:117, I:435 31474 LO pengolah kata
abiword V:1, I:8 3542 GNOME pengolah kata
calligrawords V:0, I:7 6097 KDE pengolah kata
scribus V:1, I:16 31345 KDE penyunting penerbitan desktop untuk menyunting berkas PDF
glabels V:0, I:3 1338 GNOME editor label
libreoffice-calc V:111, I:432 26009 LO lembar kerja
gnumeric V:4, I:14 9910 GNOME lembar kerja
calligrasheets V:0, I:5 11396 KDE lembar kerja
libreoffice-impress V:69, I:429 2646 LO presentasi
calligrastage V:0, I:5 5339 KDE presentasi
libreoffice-base V:26, I:121 5003 LO manajemen basis data
kexi V:0, I:1 7118 KDE manajemen basis data
libreoffice-draw V:72, I:430 10312 LO penyunting grafik vektor (draw)
inkscape V:15, I:112 99800 GNOME penyunting grafik vektor (draw)
karbon V:0, I:6 3610 KDE penyunting grafik vektor (draw)
dia V:2, I:22 3741 GTK editor diagram dan diagram alur
gimp V:50, I:252 19304 GTK penyunting grafik bitmap (paint)
shotwell V:17, I:255 6263 GTK pengorganisasi foto digital
digikam V:1, I:9 293 KDE pengorganisasi foto digital
darktable V:4, I:13 30554 GTK lighttable dan darkroom untuk para fotografer
planner V:0, I:4 1394 GNOME manajemen proyek
calligraplan V:0, I:2 19013 KDE manajemen proyek
gnucash V:2, I:8 28928 GNOME akuntansi pribadi
homebank V:0, I:2 1218 GTK akuntansi pribadi
lilypond V:0, I:7 16092 - penata cetak musik
kmymoney V:0, I:2 13937 KDE akuntansi pribadi
librecad V:1, I:15 8963 Qt-app sistem computer-aided design (CAD) (2D)
freecad I:18 36 Qt-app sistem computer-aided design (CAD) (3D)
kicad V:3, I:14 236461 GTK perangkat lunak desain skematik dan PCB elektronik
xsane V:12, I:144 2339 GTK frontend pemindai
libreoffice-math V:51, I:432 1898 LO penyunting persamaan/rumus matematika
calibre V:6, I:28 63385 KDE konverter e-book dan manajemen perpustakaan
fbreader V:1, I:9 3783 GTK pembaca e-book
evince V:92, I:314 941 GNOME penampil dokumen(pdf)
okular V:40, I:123 17728 KDE penampil dokumen(pdf)
x11-apps V:31, I:463 2460 app-X murni xeyes(1), dsb.
x11-utils V:192, I:566 651 app-X murni xev(1), xwininfo(1), etc.

Default names for user directories such as "~/Desktop", "~/Documents", ..., used by the Desktop environment depend on the locale used for the system installation. You can reset them to the English ones by:

 $ LANGUAGE=C xdg-user-dirs-update --force 

Then you manually move all the data to the newer directories. See xdg-user-dirs-update(1).

You can also set them to any names by editing "~/.config/user-dirs.dirs". See user-dirs.dirs(5).

Banyak fonta yang dapat diskalakan yang berguna tersedia untuk pengguna di Debian. Kekhawatiran pengguna adalah bagaimana menghindari redundansi dan cara mengkonfigurasi bagian dari fonta yang dipasang untuk dinonaktifkan. Jika tidak, pilihan fonta yang tidak berguna dapat mengacaukan menu aplikasi GUI Anda.

Sistem Debian menggunakan pustaka FreeType 2.0 untuk merasterkan banyak format fonta yang dapat diskalakan untuk layar dan cetak:

The following table is compiled in the hope to help users to chose appropriate scalable fonts with clear understanding of the metric compatibility and the glyph coverage. Most fonts cover all Latin, Greek, and Cyril characters. The final choice of activated fonts can also be affected by your aesthetics. These fonts can be used for the screen display or for the paper printing.

Tabel 7.4. Daftar fonta TrueType dan OpenType yang terkenal

paket popcon ukuran sans serif mono catatan pada fonta
fonts-cantarell V:216, I:306 572 59 - - Cantarell (GNOME 3, tampilan)
fonts-noto I:153 31 61 63 40 Fonta Noto (Google, multibahasa dengan CJK)
fonts-dejavu I:421 35 58 68 40 DejaVu (GNOME 2, MCM:Verdana, Bitstream Vera yang diperloas)
fonts-liberation2 V:130, I:427 15 56 60 40 Fonta Liberation bagi LibreOffice (Red Hat, MCMATC)
fonts-croscore V:20, I:40 5274 56 60 40 Chrome OS: Arimo, Tinos, dan Cousine (Google, MCMATC)
fonts-crosextra-carlito V:21, I:131 2696 57 - - Chrome OS: Carlito (Google, MCM:Calibri )
fonts-crosextra-caladea I:128 347 - 55 - Chrome OS: Caladea (Google, MCM:Cambria ) (hanya bahasa Latin)
fonts-freefont-ttf V:76, I:218 14460 57 59 40 GNU FreeFont (URW Nimbus yang diperluas)
fonts-quicksand V:123, I:438 392 56 - - Debian task-desktop, Quicksand (tampilan, hanya Latin)
fonts-hack V:24, I:120 2508 - - 40 P Jenis huruf yang dirancang untuk kode sumber Hack (Facebook)
fonts-sil-gentiumplus I:32 14345 - 54 - Gentium SIL
fonts-sil-charis I:27 6704 - 59 - Charis SIL
fonts-urw-base35 V:167, I:472 15560 56 60 40 URW Nimbus (Nimbus Sans, Roman No. 9 L, Mono L, MCAHTC)
fonts-ubuntu V:2, I:5 4339 58 - 33 P Fonta Ubuntu (tampilan)
fonts-terminus V:0, I:3 452 - - 33 Fonta terminal retro keren
ttf-mscorefonts-installer V:1, I:49 85 56? 60 40 Pengunduh fonta non-bebas Microsoft (lihat di bawah)

Sini:

  • "MCM" adalah singkatan dari "metric compatible with fonts provided by Microsoft (metrik yang kompatibel dengan fonta yang disediakan oleh Microsoft)"

  • "MCMATC" adalah singkatan dari "metric compatible with fonts provided by Microsoft: (metrik yang kompatibel dengan fonta yang disediakan oleh Microsoft:) Arial, Times New Roman, Courier New"

  • "MCAHTC" adalah singkatan dari "metric compatible with fonts provided by (metrik yang kompatibel dengan fonta yang disediakan oleh) Adobe: Helvetica, Times, Courier"

  • Angka dalam kolom tipe fonta adalah singkatan dari lebar "M" relatif kasar untuk fonta dengan ukuran titik yang sama.

  • "P" dalam kolom tipe fonta mono adalah singkatan dari kegunaannya untuk pemrograman yang jelas dapat membedakan "0"/"O" dan "1"/"I"/"l".

  • Paket ttf-mscorefonts-installer mengunduh "Fonta Inti untuk Web" Microsoft dan memasang Arial, Times New Roman, Courier New, Verdana, ... . Data fonta yang dipasang ini adalah data yang tidak bebas.

Banyak fonta Latin gratis memiliki garis keturunan mereka ditelusuri ke keluarga URW Nimbus atau Bitstream Vera.

[Tip] Tip

Jika lokal Anda membutuhkan fonta-fonta yang tidak tercakup dengan baik oleh fonta-fonta di atas, silakan gunakan aptitude untuk memeriksa di bawah paket tugas yang tercantum di bawah "Tugas" -> "Pelokalan". Paket fonta yang terdaftar sebagai "Depends:" atau "Recommends:" dalam paket-paket tugas pelokalan adalah kandidat utama.

Debian menggunakan FreeType untuk merasterkan fonta. Infrastruktur pilihan fontanya disediakan oleh pustaka konfigurasi fonta Fontconfig.


[Tip] Tip

Beberapa paket fonta seperti fonts-noto* memasang terlalu banyak fonta. Anda mungkin juga ingin mempertahankan beberapa paket fonta terpasang tetapi dinonaktifkan di bawah situasi penggunaan normal. Beberapa gliph diharapkan bagi beberapa titik kode Unicode karena penyatuan Han dan gliph yang tidak diinginkan dapat dipilih oleh pustaka Fontconfig yang tidak dikonfigurasi. Salah satu kasus yang paling menjengkelkan adalah "U+3001 IDEOGRAPHIC COMMA" dan "U+3002 IDEOGRAPHIC FULL STOP" di antara negara-negara CJK. Anda dapat menghindari situasi bermasalah ini dengan mudah dengan mengonfigurasi ketersediaan fonta menggunakan GUI Manajer Fonta (font-manager).

Anda juga dapat melihat daftar status konfigurasi fonta dari baris perintah.

  • "fc-match(1)" untuk baku fonta fontconfig

  • "fc-list(1)" untuk fonta fontconfig yang tersedia

Anda dapat mengonfigurasi status konfigurasi fonta dari penyunting teks tetapi ini tidak sepele. Lihat fonts.conf(5).

Banyak sebagian besar aplikasi GUI di Linux tersedia dalam format biner dari sumber non-Debian.

[Awas] Awas

Biner dari situs-situs ini mungkin termasuk paket perangkat lunak non-bebas proprietari.

Ada beberapa raison d'être untuk distribusi format biner ini bagi penggemar Perangkat Lunak Bebas yang menggunakan Debian karena ini dapat mengakomodasi kumpulan pustaka bersih yang digunakan untuk setiap aplikasi oleh pengembang hulu masing-masing independen dari yang disediakan oleh Debian.

Risiko melekat saat menjalankan biner eksternal dapat dikurangi dengan menggunakan lingkungan sandbox yang memanfaatkan fitur keamanan Linux modern (lihat Bagian 4.7.5, “Fitur keamanan Linux”).

  • Untuk biner dari AppImage dan beberapa situs hulu, jalankan di firejail dengan konfigurasi manual.

  • Untuk biner dari FLATHUB, jalankan di Flatpak . (Tidak diperlukan konfigurasi manual.)

  • Untuk biner dari snapcraft, jalankan di Snap . (Tidak diperlukan konfigurasi manual. Kompatibel dengan program daemon.)

Paket xdg-desktop-portal menyediakan API standar untuk fitur desktop umum. Lihat xdg-desktop-portal (flatpak) dan xdg-desktop-portal (snap) .


Teknologi lingkungan sandbox ini sangat mirip dengan aplikasi di OS ponsel pintar tempat aplikasi dijalankan di bawah akses sumber daya yang dikendalikan.

Beberapa aplikasi GUI besar seperti peramban web pada Debian juga menggunakan teknologi lingkungan sandbox secara internal untuk membuatnya lebih aman.


Ada beberapa cara untuk menyambung dari aplikasi pada host jarak jauh ke server X termasuk xwayland pada host lokal.


Akses ke server X lokal oleh aplikasi lokal yang menggunakan protokol inti X dapat terhubung secara lokal melalui soket domain UNIX lokal. Ini dapat disahkan oleh berkas otoritas yang memegang cookie akses. Lokasi berkas otoritas diidentifikasi oleh variabel lingkungan "$XAUTHORITY" dan tampilan X diidentifikasi oleh variabel lingkungan "$DISPLAY". Karena ini biasanya diatur secara otomatis, tidak ada tindakan khusus yang diperlukan, misalnya "gitk" sebagai berikut.

username $ gitk
[Catatan] Catatan

Untuk xwayland, XAUTHORITY memegang nilai seperti "/run/user/1000/.mutter-Xwaylandauth.YVSU30".

Untuk menyalin teks ke papan klip, lihat Bagian 1.4.4, “Operasi tetikus”.

Untuk menyalin grafis ke papan klip, lihat Bagian 11.6, “Alat data grafis”.

Beberapa perintah CLI juga dapat memanipulasi papan klip karakter (PRIMARY dan CLIPBOARD).