Bab 7. Sistem GUI

# Bab 7. Sistem GUI

## 7.1. Lingkungan desktop GUI

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

Tabel 7.1. Daftar lingkungan desktop

paket tugas | popcon | ukuran | deskripsi
--- | --- | --- | ---
`task-gnome-desktop` | I:200 | 9 | Lingkungan desktop GNOME
`task-xfce-desktop` | I:91 | 9 | Lingkungan desktop Xfce
`task-kde-desktop` | I:96 | 6 | Lingkungan desktop Plasma KDE
`task-mate-desktop` | I:35 | 9 | Lingkungan desktop MATE
`task-cinnamon-desktop` | I:39 | 9 | Lingkungan desktop Cinnamon
`task-lxde-desktop` | I:22 | 9 | Lingkungan desktop LXDE
`task-lxqt-desktop` | I:17 | 9 | Lingkungan desktop LXQt
`task-gnome-flashback-desktop` | I:11 | 6 | Lingkungan desktop GNOME Flashback

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

## 7.2. Protokol komunikasi GUI

Protokol komunikasi GUI yang digunakan pada desktop GNOME bisa berupa:

- Wayland (protokol server tampilan) (native)

- Protokol inti Sistem X Window (melalui `xwayland`)

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

## 7.3. Infrastruktur GUI

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

Tabel 7.2. Daftar paket infrastruktur GUI yang terkenal

paket | popcon | ukuran paket | deskripsi
--- | --- | --- | ---
`mutter` | V:0, I:28 | 222 | Manajer jendela mutter GNOME [auto]
`xwayland` | V:255, I:346 | 2541 | Server X yang berjalan di atas wayland [auto]
`gnome-remote-desktop` | V:122, I:250 | 2215 | Daemon desktop jarak jauh untuk GNOME menggunakan PipeWire [auto]
`gnome-tweaks` | V:19, I:242 | 1145 | Setelan konfigurasi tingkat lanjut untuk GNOME
`gnome-shell-extension-prefs` | V:9, I:145 | 83 | Perkakas untuk memfungsikan / menonaktifkan ekstensi GNOME Shell

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

| 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
Fitur rinci dari lingkungan desktop GNOME dapat dikonfigurasi dengan utilitas yang dimulai dengan mengetikkan "`settings`", "`tweaks`", atau "`extensions`" setelah menekan tombol `Super`.

## 7.4. Aplikasi GUI

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:28, I:240 | 492 | GNOME | Manajemen informasi pribadi (groupware dan surel)
`thunderbird` | V:46, I:109 | 274692 | GTK | Klien surel (Mozilla Thunderbird)
`kontact` | V:1, I:11 | 2298 | KDE | Manajemen informasi pribadi (groupware dan surel)
`libreoffice-writer` | V:120, I:441 | 33269 | LO | pengolah kata
`abiword` | V:1, I:5 | 3601 | GNOME | pengolah kata
`calligrawords` | V:0, I:3 | 6937 | KDE | pengolah kata
`scribus` | V:1, I:13 | 32052 | KDE | penyunting penerbitan desktop untuk menyunting berkas PDF
`glabels` | V:0, I:2 | 1283 | GNOME | editor label
`libreoffice-calc` | V:116, I:438 | 28287 | LO | lembar kerja
`gnumeric` | V:3, I:11 | 9958 | GNOME | lembar kerja
`calligrasheets` | V:0, I:2 | 13593 | KDE | lembar kerja
`libreoffice-impress` | V:97, I:436 | 2459 | LO | presentasi
`calligrastage` | V:0, I:2 | 6017 | KDE | presentasi
`libreoffice-base` | V:24, I:77 | 5004 | LO | manajemen basis data
`kexi` | V:0, I:0 | 7565 | KDE | manajemen basis data
`libreoffice-draw` | V:98, I:437 | 11003 | LO | penyunting grafik vektor (draw)
`inkscape` | V:13, I:85 | 113183 | GNOME | penyunting grafik vektor (draw)
`karbon` | V:0, I:3 | 3962 | KDE | penyunting grafik vektor (draw)
`dia` | V:1, I:18 | 3812 | GTK | editor diagram dan diagram alur
`gimp` | V:35, I:229 | 31748 | GTK | penyunting grafik bitmap (paint)
`shotwell` | V:15, I:258 | 6334 | GTK | pengorganisasi foto digital
`digikam` | V:1, I:9 | 302 | KDE | pengorganisasi foto digital
`darktable` | V:3, I:12 | 35895 | GTK | lighttable dan darkroom untuk para fotografer
`planner` | V:0, I:4 | 1400 | GNOME | manajemen proyek
`calligraplan` | V:0, I:3 | 23545 | KDE | manajemen proyek
`gnucash` | V:2, I:7 | 29395 | GNOME | akuntansi pribadi
`homebank` | V:0, I:1 | 3194 | GTK | akuntansi pribadi
`lilypond` | V:0, I:6 | 16924 | - | penata cetak musik
`kmymoney` | V:0, I:2 | 18826 | KDE | akuntansi pribadi
`librecad` | V:1, I:14 | 9100 | Qt-app | sistem computer-aided design (CAD) (2D)
`freecad` | V:0, I:20 | 110 | Qt-app | sistem computer-aided design (CAD) (3D)
`kicad` | V:3, I:15 | 163907 | GTK | perangkat lunak desain skematik dan PCB elektronik
`xsane` | V:10, I:135 | 1512 | GTK | frontend pemindai
`libreoffice-math` | V:90, I:439 | 1928 | LO | penyunting persamaan/rumus matematika
`calibre` | V:8, I:26 | 65584 | KDE | konverter e-book dan manajemen perpustakaan
`fbreader` | V:0, I:6 | 3783 | GTK | pembaca e-book
`evince` | V:80, I:302 | 952 | GNOME | penampil dokumen(pdf)
`okular` | V:44, I:135 | 4415 | KDE | penampil dokumen(pdf)
`x11-apps` | V:33, I:464 | 2461 | app-X murni | `xeyes`(1), dsb.
`x11-utils` | V:227, I:568 | 651 | app-X murni | `xev`(1), `xwininfo`(1), dsb.

## 7.5. Direktori pengguna

Nama baku untuk direktori pengguna seperti "`~/Desktop`", "`~/Dokumen`", ..., yang digunakan oleh lingkungan Desktop tergantung pada lokal yang digunakan untuk instalasi sistem. Anda dapat mengatur ulang nama-nama tersebut ke dalam bahasa Inggris:

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

Kemudian Anda secara manual memindahkan semua data ke direktori yang lebih baru. Lihat `xdg-user-dirs-update`(1).

Anda juga dapat mengaturnya ke nama apa pun dengan menyunting "`~/.config/user-dirs.dirs`". Lihat `user-dirs.dirs`(5).

## 7.6. Fonta

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:

- Fonta Tipe 1 (PostScript) yang menggunakan kurva Bézier kubik (format hampir usang)

- Fonta TrueType yang menggunakan kurva Bézier kuadrat (format pilihan yang baik)

- Fonta OpenType yang menggunakan kurva Bézier kubik (format pilihan terbaik)

### 7.6.1. Fonta dasar

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:182, I:305 | 227 | 59 | - | - | Cantarell (GNOME 3, tampilan)
fonts-noto | I:157 | 31 | 61 | 63 | 40 | Fonta Noto (Google, multibahasa dengan CJK)
fonts-dejavu | I:405 | 35 | 58 | 68 | 40 | DejaVu (GNOME 2, MCM:Verdana, Bitstream Vera yang diperloas)
fonts-liberation2 | V:63, I:218 | 15 | 56 | 60 | 40 | Fonta Liberation bagi LibreOffice (Red Hat, MCMATC)
fonts-croscore | V:21, I:38 | 5274 | 56 | 60 | 40 | Chrome OS: Arimo, Tinos, dan Cousine (Google, MCMATC)
fonts-crosextra-carlito | V:20, I:98 | 2696 | 57 | - | - | Chrome OS: Carlito (Google, MCM:Calibri )
fonts-crosextra-caladea | V:11, I:93 | 347 | - | 55 | - | Chrome OS: Caladea (Google, MCM:Cambria ) (hanya bahasa Latin)
fonts-freefont-ttf | V:82, I:207 | 14460 | 57 | 59 | 40 | GNU FreeFont (URW Nimbus yang diperluas)
fonts-quicksand | V:209, I:465 | 392 | 56 | - | - | Debian task-desktop, Quicksand (tampilan, hanya Latin)
fonts-hack | V:33, I:140 | 2507 | - | - | 40 P | Jenis huruf yang dirancang untuk kode sumber Hack (Facebook)
fonts-sil-gentiumplus | I:30 | 14345 | - | 54 | - | Gentium SIL
fonts-sil-charis | I:29 | 6704 | - | 59 | - | Charis SIL
fonts-urw-base35 | V:194, I:541 | 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:4 | 452 | - | - | 33 | Fonta terminal retro keren
ttf-mscorefonts-installer | V:0, I:42 | 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
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.

### 7.6.2. Rasterisasi fonta

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

Tabel 7.5. Daftar lingkungan fonta terkenal dan paket-paket terkait

paket | popcon | ukuran | deskripsi
--- | --- | --- | ---
`libfreetype6` | V:580, I:997 | 1021 | Pustaka rasterisasi fonta FreeType
`libfontconfig1` | V:569, I:827 | 344 | Pustaka konfigurasi fonta Fontconfig
`fontconfig` | V:462, I:706 | 415 | `fc-*`: perintah-perintah CLI untuk Fontconfig
`font-manager` | V:2, I:7 | 1118 | Manajer Fonta: perintah GUI untuk Fontconfig
`nautilus-font-manager` | V:0, I:0 | 40 | Ekstensi Nautilus untuk Manajer Fonta

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

## 7.7. Sandbox

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

- AppImage -- Aplikasi Linux yang berjalan di mana saja

- FLATHUB -- Aplikasi untuk Linux, di sini

- snapcraft -- Toko aplikasi untuk Linux

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

Tabel 7.6. Daftar lingkungan sandbox terkenal dan paket terkait

paket | popcon | ukuran | deskripsi
--- | --- | --- | ---
`flatpak` | V:101, I:107 | 8280 | Kerangka kerja penggelaran aplikasi Flatpak untuk aplikasi desktop
`gnome-software-plugin-flatpak` | V:29, I:41 | 285 | Dukungan Flatpak untuk GNOME Perangkat Lunak
`snapd` | V:65, I:69 | 72012 | Daemon dan perkakas yang memfungsikan paket snap
`gnome-software-plugin-snap` | V:1, I:2 | 148 | Dukungan Snap untuk GNOME Perangkat Lunak
`xdg-desktop-portal` | V:364, I:449 | 2166 | portal integrasi desktop untuk Flatpak dan Snap
`xdg-desktop-portal-gtk` | V:332, I:447 | 715 | backend xdg-desktop-portal untuk gtk (GNOME)
`xdg-desktop-portal-kde` | V:79, I:112 | 2688 | backend xdg-desktop-portal untuk Qt (KDE)
`xdg-desktop-portal-wlr` | V:1, I:6 | 160 | backend xdg-desktop-portal untuk wlroots (Wayland)
`firejail` | V:1, I:4 | 1881 | sebuah program sandbox keamanan SUID firejail untuk digunakan dengan AppImage

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.

## 7.8. Desktop jarak jauh

Tabel 7.7. Daftar server akses jarak jauh yang terkenal

Akses ke desktop dan aplikasi yang menggunakan protokol Wayland dan berjalan di host jarak jauh didukung oleh GNOME Remote Desktop pada host jarak jauh melalui VNC atau RDP ke klien lokal.

Akses ke kemampuan desktop dari semua mesin virtual QEMU didukung oleh protokol SPICE (Protokol Sederhana untuk Lingkungan Komputasi Independen).

paket | popcon | ukuran | protokol | deskripsi
--- | --- | --- | --- | ---
`gnome-remote-desktop` | V:122, I:250 | 2215 | RDP | Server Desktop Jarak Jauh GNOME
`xrdp` | V:24, I:28 | 4502 | RDP | xrdp, server Remote Desktop Protocol (RDP)
`x11vnc` | V:8, I:42 | 1863 | RFB (VNC) | x11vnc, server Remote Framebuffer Protocol (VNC)
`tigervnc-standalone-server` | V:5, I:14 | 2967 | RFB (VNC) | TigerVNC, server Remote Framebuffer Protocol (VNC)
`gnome-connections` | V:6, I:125 | 1599 | RDP, RFB (VNC) | Klien desktop jarak jauh GNOME
`vinagre` | V:1, I:28 | 4249 | RDP, RFB (VNC), SPICE, SSH | Vinagre: Klien desktop jarak jauh GNOME
`remmina` | V:15, I:64 | 971 | RDP, RFB (VNC), SPICE, SSH, ... | Remmina: Klien desktop jarak jauh GTK
`krdc` | V:1, I:16 | 4113 | RDP, RFB (VNC) | KRDC: Klien desktop jarak jauh KDE
`virt-viewer` | V:5, I:44 | 1278 | RFB (VNC), SPICE | GUI Virtual Machine Manager menampilkan klien OS tamu

## 7.9. Sambungan server X

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

Tabel 7.8. Daftar metode koneksi ke server X

paket | popcon | ukuran | perintah | deskripsi
--- | --- | --- | --- | ---
`openssh-server` | V:745, I:804 | 3502 | `sshd` dengan opsi `X11-forwarding` | Server SSH (aman)
`openssh-client` | V:898, I:996 | 5133 | `ssh -X` | Klien SSH (aman)
`xauth` | V:186, I:971 | 81 | `xauth` | Utilitas berkas otoritas X
`x11-xserver-utils` | V:312, I:542 | 559 | `xhost` | kontrol akses server untuk X

### 7.9.1. koneksi lokal server X

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
Untuk `xwayland`, `XAUTHORITY` memegang nilai seperti "`/run/user/1000/.mutter-Xwaylandauth.YVSU30`".

### 7.9.2. Sambungan jarak jauh server X

Akses ke tampilan server X lokal dari aplikasi jarak jauh yang menggunakan protokol inti X didukung dengan menggunakan fitur penerusan X11.

- Buka `gnome-terminal` pada host lokal.

- Jalankan `ssh`(1) dengan opsi `-X` untuk membuat koneksi dengan situs jarak jauh sebagai berikut.

      localname @ localhost $ ssh -q -X loginname@remotehost.domain
      Password:

- Menjalankan suatu perintah aplikasi X, mis. "`gitk`", pada situs remote sebagai berikut.

      loginname @ remotehost $ gitk

Metode ini dapat menampilkan keluaran dari klien X jarak jauh seolah-olah terhubung secara lokal melalui soket domain UNIX lokal.

Lihat Bagian 6.3, “Server dan utilitas akses jarak jauh (SSH)” untuk SSH/SSHD.

| Awas
Koneksi TCP/IP jarak jauh ke server X dinonaktifkan secara baku pada sistem Debian karena alasan keamanan. Jangan mengaktifkannya hanya dengan mengatur "`xhost +`" atau dengan mengaktifkan koneksi XDMCP, jika Anda dapat menghindarinya.

### 7.9.3. Koneksi chroot server X

Akses ke server X oleh aplikasi yang menggunakan protokol inti X dan berjalan pada host yang sama tetapi dalam lingkungan seperti chroot di mana berkas otoritas tidak dapat diakses, dapat disahkan dengan aman dengan `xhost` dengan menggunakan akses berbasis pengguna, misalnya "`gitk`" sebagai berikut.

    username $ xhost + si:localuser:root ; sudo chroot /path/to
    # cd /src
    # gitk
    # exit
    username $ xhost -

## 7.10. Papanklip

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

Tabel 7.9. Daftar program yang terkait dengan memanipulasi papan klip karakter

paket | popcon | ukuran paket | target | deskripsi
--- | --- | --- | --- | ---
`xsel` | V:7, I:43 | 55 | X | antarmuka baris perintah ke pilihan X (papan klip)
`xclip` | V:15, I:74 | 62 | X | antarmuka baris perintah ke pilihan X (papan klip)
`wl-clipboard` | V:7, I:23 | 162 | Wayland | `wl-copy` `wl-paste`: antarmuka baris perintah ke papan klip Wayland
`gpm` | V:9, I:9 | 526 | Konsol Linux | daemon yang menangkap peristiwa tetikus di konsol Linux

Bab 6. Aplikasi jaringan |  | Bab 8. I18N dan L10N