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. Fonta
7.5.1. Fonta dasar
7.5.2. Rasterisasi fonta
7.6. Sandbox
7.7. Desktop jarak jauh
7.8. Sambungan server X
7.8.1. koneksi lokal server X
7.8.2. X server remote connection
7.8.3. Koneksi chroot server X
7.9. 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.7, “Desktop jarak jauh”

Modern X servers have the MIT Shared Memory Extension and communicate with their local X clients using the local shared memory. This bypasses the network transparent Xlib interprocess communication channel and gains performance. This situation was the background of creating Wayland as a local-only GUI communication protocol.

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".

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:31, I:236 493 GNOME Manajemen informasi pribadi (groupware dan surel)
thunderbird V:50, I:130 202238 GTK Klien surel (Mozilla Thunderbird)
kontact V:1, I:14 2203 KDE Manajemen informasi pribadi (groupware dan surel)
libreoffice-writer V:153, I:433 37611 LO pengolah kata
abiword V:1, I:11 5133 GNOME pengolah kata
calligrawords V:0, I:7 5893 KDE pengolah kata
scribus V:2, I:22 30523 KDE penyunting penerbitan desktop untuk menyunting berkas PDF
glabels V:0, I:4 1327 GNOME editor label
libreoffice-calc V:148, I:430 30127 LO lembar kerja
gnumeric V:5, I:19 10084 GNOME lembar kerja
calligrasheets V:0, I:5 11326 KDE lembar kerja
libreoffice-impress V:118, I:426 9248 LO presentasi
calligrastage V:0, I:5 5198 KDE presentasi
libreoffice-base V:78, I:219 6047 LO manajemen basis data
kexi V:0, I:2 7118 KDE manajemen basis data
libreoffice-draw V:119, I:427 13442 LO penyunting grafik vektor (draw)
inkscape V:35, I:167 87324 GNOME penyunting grafik vektor (draw)
karbon V:0, I:6 3593 KDE penyunting grafik vektor (draw)
dia V:3, I:28 3620 GTK editor diagram dan diagram alur
gimp V:61, I:300 19827 GTK penyunting grafik bitmap (paint)
shotwell V:17, I:237 6402 GTK pengorganisasi foto digital
digikam V:2, I:12 2921 KDE pengorganisasi foto digital
darktable V:5, I:16 26575 GTK lighttable dan darkroom untuk para fotografer
planner V:0, I:4 1146 GNOME manajemen proyek
calligraplan V:0, I:1 18517 KDE manajemen proyek
gnucash V:3, I:10 32394 GNOME akuntansi pribadi
homebank V:0, I:2 1114 GTK akuntansi pribadi
lilypond V:1, I:8 7363 - music typesetter
kmymoney V:0, I:2 12850 KDE akuntansi pribadi
librecad V:2, I:16 8309 app-qt sistem computer-aided design (CAD) (2D)
freecad I:18 59 app-qt sistem computer-aided design (CAD) (3D)
kicad V:2, I:14 193841 GTK perangkat lunak desain skematik dan PCB elektronik
xsane V:16, I:161 2346 GTK frontend pemindai
libreoffice-math V:104, I:430 2298 LO penyunting persamaan/rumus matematika
calibre V:9, I:33 57919 KDE konverter e-book dan manajemen perpustakaan
fbreader V:1, I:13 2631 GTK pembaca e-book
evince V:107, I:323 978 GNOME penampil dokumen(pdf)
okular V:42, I:114 15376 KDE penampil dokumen(pdf)
x11-apps V:29, I:461 2437 app-X murni xeyes(1), dsb.
x11-utils V:169, I:581 712 app-X murni xev(1), xwininfo(1)dsb.

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:

Tabel berikut disusun dengan harapan dapat membantu pengguna untuk memilih fonta yang dapat diskalakan yang sesuai dengan pemahaman yang jelas tentang kompatibilitas metrik dan cakupan glyph. Sebagian besar fonta mencakup semua fonta glyph karakter Latin, Yunani, dan Sirilik. Pilihan akhir fonta yang diaktifkan juga dapat dipengaruhi oleh estetika Anda. Fonta ini dapat digunakan untuk layar atau untuk pencetakan kertas.

Tabel 7.4. Daftar fonta TrueType dan OpenType yang terkenal

paket popcon ukuran sans serif mono catatan pada fonta
fonts-cantarell V:103, I:296 572 59 - - Cantarell (GNOME 3, tampilan)
fonts-noto I:134 35 61 63 40 Fonta Noto (Google, multibahasa dengan CJK)
fonts-dejavu I:449 39 58 68 40 DejaVu (GNOME 2, MCM:Verdana, Bitstream Vera yang diperloas)
fonts-liberation2 V:107, I:371 4290 56 60 40 Fonta Liberation bagi LibreOffice (Red Hat, MCMATC)
fonts-croscore V:17, I:46 5278 56 60 40 Chrome OS: Arimo, Tinos, dan Cousine (Google, MCMATC)
fonts-crosextra-carlito V:24, I:214 2732 57 - - Chrome OS: Carlito (Google, MCM:Calibri )
fonts-crosextra-caladea I:212 258 - 55 - Chrome OS: Caladea (Google, MCM:Cambria ) (hanya bahasa Latin)
fonts-freefont-ttf V:63, I:247 6656 57 59 40 GNU FreeFont (URW Nimbus yang diperluas)
fonts-quicksand I:390 392 56 - - Debian task-desktop, Quicksand (tampilan, hanya Latin)
fonts-hack V:17, I:94 2508 - - 40 P Jenis huruf yang dirancang untuk kode sumber Hack (Facebook)
fonts-sil-gentiumplus I:37 13568 - 54 - Gentium SIL
fonts-sil-charis V:3, I:22 6406 - 59 - Charis SIL
fonts-urw-base35 V:112, I:295 11095 56 60 40 URW 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:2 452 - - 33 Fonta terminal retro keren
ttf-mscorefonts-installer V:1, I:59 92 56? 60 40 Pengunduh fonta non-bebas Microsoft (lihat di bawah)

Sini:

  • "MCM" stands for "metric compatible with fonts provided by Microsoft"

  • "MCMATC" stands for "metric compatible with fonts provided by Microsoft: Arial, Times New Roman, Courier New"

  • "MCAHTC" stands for "metric compatible with fonts provided by Adobe: Helvetica, Times, Courier"

  • Numbers in font type columns stands for the rough relative "M" width for the same point size font.

  • "P" in mono font type columns stands for its usability for programming having clearly distinguishable "0"/"O" and "1"/"I"/"l".

  • The ttf-mscorefonts-installer package downloads Microsoft's "Core fonts for the Web" and installs Arial, Times New Roman, Courier New, Verdana, ... . These installed font data are non-free data.

Many free Latin fonts have their lineage traced to URW Nimbus family or 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.

Many mostly GUI applications on Linux are available in binary formats from non-Debian sources.

[Awas] Awas

Binaries from these sites may include proprietary non-free software packages.

There is some raison d'être for these binary format distributions for Free Software aficionados using Debian since these can accommodate clean set of libraries used for each application by the respective upstream developer independent of the ones provided by Debian.

The inherent risk of running external binaries can be reduced by using the sandbox environment which leverages modern Linux security features (see Bagian 4.7.4, “Fitur keamanan Linux”.

  • For binaries from AppImage and some upstream sites, run them in firejail with manual configuration.

  • For binaries from FLATHUB, run them in Flatpak . (No manual configuration required.)

  • For binaries from snapcraft, run them in Snap . (No manual configuration required. Compatible with daemon programs.)

The xdg-desktop-portal package provides a standardized API to common desktop features. See xdg-desktop-portal (flatpak) and xdg-desktop-portal (snap)


This sandbox environment technology is very much like apps on smart phone OS where apps are executed under controlled resource accesses.

Some large GUI applications such as web browsers on Debian also use sandbox environment technology internally to make them more secure.


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


Access to the local X server by the local applications which use X core protocol can be locally connected through a local UNIX domain socket. This can be authorized by the authority file holding access cookie. The authority file location is identified by the "$XAUTHORITY" environment variable and X display is identified by the "$DISPLAY" environment variable. Since these are normally set automatically, no special action is needed, e.g. "gitk" as the following.

username $ gitk
[Catatan] Catatan

For xwayland, XAUTHORITY holds value like "/run/user/1000/.mutter-Xwaylandauth.YVSU30".

For clipping text to clipboard, see Bagian 1.4.4, “Operasi tetikus”.

For clipping graphics to clipboard, see Bagian 11.6, “Alat data grafis”.

Some CLI commands can manipulate character clipboard (PRIMARY and CLIPBOARD), too.