Indice
Ci sono diverse scelte di ambienti desktop GUI completi nel sistema Debian.
Tabella 7.1. Lista di ambienti desktop
pacchetto con task | popcon | dimensione | descrizione |
---|---|---|---|
task-gnome-desktop
|
I:198 | 9 | ambiente desktop GNOME |
task-xfce-desktop
|
I:96 | 9 | ambiente desktop Xfce |
task-kde-desktop
|
I:81 | 6 | ambiente desktop KDE Plasma |
task-mate-desktop
|
I:43 | 9 | ambiente desktop MATE |
task-cinnamon-desktop
|
I:41 | 9 | ambiente desktop Cinnamon |
task-lxde-desktop
|
I:29 | 9 | ambiente desktop LXDE |
task-lxqt-desktop
|
I:18 | 9 | ambiente desktop LXQt |
task-gnome-flashback-desktop
|
I:13 | 6 | ambiente desktop GNOME Flashback |
Suggerimento | |
---|---|
I pacchetti di dipendenza selezionati da un metapacchetto per task possono
essere fuori sincrono rispetto al più recente stato di transizione
nell'ambiente Debian
|
Questo capitolo si concentrerà soprattutto sull'ambiente desktop predefinito
in Debian: task-gnome-desktop
che fornisce GNOME su wayland.
Il protocollo di comunicazione della GUI usato nel desktop GNOME può essere:
protocollo principale del sistema X
Window (via xwayland
)
Controllare sul sito freedesktop.org in cosa l'architettura Wayland è differente dall'architettura X Window.
Dal punto di vista dell'utente le differenze possono essere a grandi linee riassunte in:
Wayland è un protocollo di comunicazione GUI per unico host: nuovo, più semplice, più veloce, senza binario con setuid root
X Window è un protocollo di comunicazione GUI con funzionalità di rete: tradizionale, complesso, più lento, con binario con setuid root
Per le applicazioni che usano il protocollo Wayland, l'accesso al contenuto delle loro schermata da un host remoto è supportato da VNC o RDP. Vedere Sezione 7.8, «Desktop remoto».
I server X moderni hanno l'estensione MIT Shared Memory e comunicano con i loro client X locali usando la memoria condivisa locale. Ciò scavalca il canale di comunicazione tra i processi Xlib trasparente alla rete e fa guadagnare in prestazioni. Questa situazione è stata il punto di partenza per la creazione di Wayland come protocollo di comunicazione GUI solo locale.
Usando il programma xeyes
avviato dal terminale GNOME si
può controllare il protocollo di comunicazione GUI usato da ciascuna
applicazione GUI.
$ xeyes
Se il cursore del mouse è su un'applicazione come "Terminale di GNOME", che usa il protocollo per display server Wayland, gli occhi non si muovono con il movimento del cursore.
Se il cursore del mouse è su un'applicazione come "xterm", che usa il protocollo base del sistema X Window, gli occhi si muovono insieme al cursore del mouse rendendo evidente la natura non-così-isolata di un'architettura X Window.
Alla data di aprile 2021 molte popolari applicazioni GUI come GNOME e le
applicazioni LibreOffice (LO) sono
migrate al protocollo per display server Wayland. L'autore nota come
xterm
, gitk
,
chromium
, firefox
,
gimp
, dia
e tutte le applicazioni KDE
usino ancora il protocollo di base del sistema X Window.
Nota | |
---|---|
Sia per xwayland in Wayland che per il sistema X Window nativo, il vecchio
file di configurazione del server X " |
Questi sono pacchetti degni di nota dell'infrastruttura GUI per l'ambiente GNOME su Wayland.
Tabella 7.2. Elenco di pacchetti importanti per l'infrastruttura GUI
pacchetto | popcon | dimensione del pacchetto | descrizione |
---|---|---|---|
mutter
|
V:1, I:60 | 187 | Il gestore di finestre mutter di GNOME [auto] |
xwayland
|
V:240, I:319 | 2388 | Un server X in esecuzione sopra a wayland [auto] |
gnome-remote-desktop
|
V:35, I:221 | 1068 | Demone per desktop remoto per GNOME che usa PipeWire [auto] |
gnome-tweaks
|
V:21, I:229 | 1170 | Impostazioni avanzate di configurazione per GNOME |
gnome-shell-extension-prefs
|
V:13, I:213 | 60 | Strumenti per abilitare/disabilitare le estensioni per GNOME Shell |
Qui "[auto]" significa che questi
pacchetti sono installati automaticamente quando viene installato
task-gnome-desktop
.
Suggerimento | |
---|---|
|
Suggerimento | |
---|---|
I dettagli delle funzionalità dell'ambiente desktop GNOME possono essere
configurati con utilità avviate digitando " |
In Debian sono ora disponibili molte utili applicazioni GUI. L'installazione
di pacchetti software come scribus
(KDE) nell'ambiente
desktop GNOME è piuttosto accettabile dato che le funzionalità
corrispondenti non sono disponibili nel desktop GNOME. Tuttavia
l'installazione di troppi pacchetti con funzionalità duplicate può rendere
il sistema affollato.
Ecco un elenco di applicazioni GUI che hanno attirato la mia attenzione.
Tabella 7.3. Elenco di applicazioni GUI degne di nota
pacchetto | popcon | dimensione del pacchetto | tipo | descrizione |
---|---|---|---|---|
evolution
|
V:30, I:239 | 486 | GNOME | gestione di informazioni personali (groupware e posta elettronica) |
thunderbird
|
V:48, I:119 | 224760 | GTK | programma di posta (Mozilla Thunderbird) |
kontact
|
V:1, I:12 | 2208 | KDE | gestione di informazioni personali (groupware e posta elettronica) |
libreoffice-writer
|
V:117, I:435 | 31474 | LO | elaboratore di testi |
abiword
|
V:1, I:8 | 3542 | GNOME | elaboratore di testi |
calligrawords
|
V:0, I:7 | 6097 | KDE | elaboratore di testi |
scribus
|
V:1, I:16 | 31345 | KDE | editor per desktop publishing per modificare file PDF |
glabels
|
V:0, I:3 | 1338 | GNOME | editor di etichette |
libreoffice-calc
|
V:111, I:432 | 26009 | LO | foglio di calcolo |
gnumeric
|
V:4, I:14 | 9910 | GNOME | foglio di calcolo |
calligrasheets
|
V:0, I:5 | 11396 | KDE | foglio di calcolo |
libreoffice-impress
|
V:69, I:429 | 2646 | LO | presentazioni |
calligrastage
|
V:0, I:5 | 5339 | KDE | presentazioni |
libreoffice-base
|
V:26, I:121 | 5003 | LO | gestione di database |
kexi
|
V:0, I:1 | 7118 | KDE | gestione di database |
libreoffice-draw
|
V:72, I:430 | 10312 | LO | editor di grafica vettoriale (draw) |
inkscape
|
V:15, I:112 | 99800 | GNOME | editor di grafica vettoriale (draw) |
karbon
|
V:0, I:6 | 3610 | KDE | editor di grafica vettoriale (draw) |
dia
|
V:2, I:22 | 3741 | GTK | editor di grafi e diagrammi di flusso |
gimp
|
V:50, I:252 | 19304 | GTK | editor di grafica bitmap (paint) |
shotwell
|
V:17, I:255 | 6263 | GTK | organizzatore di foto digitali |
digikam
|
V:1, I:9 | 293 | KDE | organizzatore di foto digitali |
darktable
|
V:4, I:13 | 30554 | GTK | tavolo luminoso e camera oscura per fotografi |
planner
|
V:0, I:4 | 1394 | GNOME | gestione progetti |
calligraplan
|
V:0, I:2 | 19013 | KDE | gestione progetti |
gnucash
|
V:2, I:8 | 28928 | GNOME | contabilità personale |
homebank
|
V:0, I:2 | 1218 | GTK | contabilità personale |
lilypond
|
V:0, I:7 | 16092 | - | impaginatore di musica |
kmymoney
|
V:0, I:2 | 13937 | KDE | contabilità personale |
librecad
|
V:1, I:15 | 8963 | applicazione Qt | sistema CAD (Computer-Aided Design) (2D) |
freecad
|
I:18 | 36 | applicazione Qt | sistema CAD (Computer-Aided Design) (3D) |
kicad
|
V:3, I:14 | 236461 | GTK | sofware per progettazione di schemi elettronici e PCB |
xsane
|
V:12, I:144 | 2339 | GTK | frontend per lo scanner |
libreoffice-math
|
V:51, I:432 | 1898 | LO | editor di equazioni matematiche e formule |
calibre
|
V:6, I:28 | 63385 | KDE | convertitore e gestione di una biblioteca per libri elettronici |
fbreader
|
V:1, I:9 | 3783 | GTK | Lettori di ebook |
evince
|
V:92, I:314 | 941 | GNOME | visualizzatore di documenti (pdf) |
okular
|
V:40, I:123 | 17728 | KDE | visualizzatore di documenti (pdf) |
x11-apps
|
V:31, I:463 | 2460 | applicazione X pura | xeyes (1), ecc. |
x11-utils
|
V:192, I:566 | 651 | applicazione X pura | xev (1), xwininfo (1), ecc. |
I nomi predefiniti per le directory dell'utente, come
"~/Desktop
", "~/Documenti
", ..., usate
dagli ambienti desktop dipendono dalla localizzazione usata per
l'installazione del sistema. Possono essere reimpostate a quelle in inglese
usando:
$ LANGUAGE=C xdg-user-dirs-update --force
Poi si spostano manualmente tutti i dati nelle nuove directory. Vedere
xdg-user-dirs-update
(1).
È anche possibile impostarle manualmente a qualsiasi nome modificando
"~/.config/user-dirs.dirs
". Vedere
user-dirs.dirs
(5).
In Debian sono a disposizione degli utenti molti tipi di carattere utili scalabili. La preoccupazione per l'utente è come evitare ridondanze e come configurare la disabilitazione di parte dei tipi di carattere installati. Altrimenti scelte di tipi di carattere inutili possono ingombrare i menu delle applicazioni GUI.
Il sistema Debia usa la libreria FreeType 2.0 per rasterizzare molti formati di tipi di carattere scalabili per lo schermo e la stampa:
Tipi di carattere Type 1 (PostScript) che usano curve di Bézier cubiche (formato quasi obsoleto)
Tipi di carattere TrueType che usano curve di Bézier quadratiche (buona scelta di formato)
Tipi di carattere OpenType che usano curve di Bézier cubiche (migliora scelta per il formato)
La tabella seguente è compilata nella speranza che aiuti gli utenti a scegliere i tipi di carattere scalabili appropriati con una chiara idea della compatibilità delle metriche e delle coperture dei glifi. La maggior parte dei tipi di carattere copre tutti i caratteri latini, greci e cirillici. La scelta finale dei tipi di carattere da attivare può anche essere influenzata da gusti estetici personali. Questi tipi di carattere possono essere usati per la visualizzazione a schermo o per la stampa su carta.
Tabella 7.4. Elenco di tipi di carattere TrueType e OpenType degni di nota
Qui:
"MCM" sta per "Metrica Compatibile con tipi di carattere forniti da Microsoft"
"MCMATC" sta per "Metrica Compatibile con tipi di carattere forniti da Microsoft: Arial, Times New Roman, Courier New"
"MCAHTC" sta per "Metrica Compatibile con tipi di carattere forniti da Adobe: Helvetica, Times, Courier"
I numeri nelle colonne del tipo di carattere rappresentano la larghezza "M" approssimata relativa per il carattere alla stessa dimensione di punto.
"P" nelle colonne dei tipi di carattere mono a spaziatura fissa rappresenta l'usabilità per la programmazione grazie a "0"/"O" e "1"/"I"/"l" chiaramente distinguibili.
Il pacchetto ttf-mscorefonts-installer
scarica i "Tipi di carattere principali per il Web"
di Microsoft e installa Arial, Times New Roman, Courier New, Verdana, ... Questi tipi di carattere installati
sono dati non liberi.
Molti tipi di carattere Latin sono una discendenza dalla famiglia URW Nimbus o Bitstream Vera.
Suggerimento | |
---|---|
Se la propria localizzazione necessita di tipi di carattere non coperti bene dai tipi di carattere elencati sopra, usare aptitude per controllare nei pacchetti task elencati in "Task" -> "Localizzazione". I pacchetti di tipi di carattere elencati come "Dipende:" o "Raccomanda:" nei pacchetti dei task di localizzazione sono i candidati principali. |
Debia usa FreeType per rasterizzare i tipi di carattere. La sua infrastruttura di scelta dei caratteri è fornita dalla libreria per configurazione dei tipi di carattere Fontconfig.
Tabella 7.5. Elenco di ambienti per i tipi di carattere degli di nota e pacchetti correlati
pacchetto | popcon | dimensione | descrizione |
---|---|---|---|
libfreetype6
|
V:560, I:997 | 938 | FreeType, libreria per rasterizzazione di tipi di carattere |
libfontconfig1
|
V:554, I:849 | 587 | Fontconfig, libreria per la configurazione dei tipi di carattere |
fontconfig
|
V:437, I:721 | 680 | fc-* : comandi CLI per Fontconfig |
font-manager
|
V:2, I:8 | 1022 | Font Manager: comando GUI per Fontconfig |
nautilus-font-manager
|
V:0, I:0 | 37 | Estensione di Nautilus per Font Manager |
Suggerimento | |
---|---|
Alcuni pacchetti di tipi di carattere, come |
È possibile anche elencare lo stato di configurazione dei tipi di carattere dalla riga di comando.
"fc-match(1)
" per le impostazioni predefinite per i tipi
di carattere di fontconfig
"fc-list(1)
" per i tipi di carattere disponibili per
fontconfig
Si può impostare lo stato di configurazione di un tipo di carattere
dall'editor di testo, ma non è una cosa banale. Vedere
fonts.conf
(5).
Molte applicazioni, soprattutto GUI, in Linux sono disponibili solamente in forma binaria da fonti non-Debian.
Avvertimento | |
---|---|
I binari da questi siti possono includere pacchetti software proprietari non liberi. |
Esiste una ragione d'essere per queste distribuzioni in formato binario per gli aficionados del Software Libero che usano Debian, dato che queste possono fornire un insieme pulito di librerie usato per ciascuna applicazione dal corrispondente sviluppatore a monte, indipendentemente da quelle fornite da Debian.
Il rischio intrinseco dell'esecuzione di binari esterni può essere ridotto utilizzando un ambiente sandbox che sfrutta le funzionalità di sicurezza moderne di Linux (vedere Sezione 4.7.5, «Funzionalità di sicurezza di Linux».
Per i binari da AppImage e alcuni siti a monte, eseguirli in firejail con configurazione manuale.
Per i binari da FLATHUB, eseguirli in Flatpak . (Non è necessaria una configurazione manuale).
Per i binari da snapcraft, eseguirli in Snap . (Nessuna configurazione manuale richiesta; compatibile con programmi demone.)
Il pacchetto xdg-desktop-portal
fornisce un'API
standardizzata per le funzionalità comuni del desktop. Vedere xdg-desktop-portal (flatpak) e
xdg-desktop-portal (snap).
Tabella 7.6. Elenco di ambienti sandbox degni di nota e pacchetti correlati
pacchetto | popcon | dimensione | descrizione |
---|---|---|---|
flatpak
|
V:65, I:70 | 7499 | Flatpak, infrastruttura di messa in produzione di applicazioni per app per desktop |
gnome-software-plugin-flatpak
|
V:20, I:29 | 254 | Supporto Flatpak per il Software GNOME |
snapd
|
V:67, I:70 | 60022 | Demone e strumentazione che abilitano i pacchetti snap |
gnome-software-plugin-snap
|
V:1, I:2 | 121 | Supporto Snap per il Software GNOME |
xdg-desktop-portal
|
V:303, I:394 | 1936 | Portale di integrazione nel desktop per Flatpak e Snap |
xdg-desktop-portal-gtk
|
V:274, I:392 | 715 | backend xdg-desktop-portal per GTK (GNOME) |
xdg-desktop-portal-kde
|
V:53, I:72 | 1438 | backend xdg-desktop-portal per Qt (KDE) |
xdg-desktop-portal-wlr
|
V:0, I:4 | 135 | backend xdg-desktop-portal per wlroots (Wayland) |
firejail
|
V:1, I:4 | 1771 | programma per sandbox con sicurezza SUID firejail per l'uso con AppImage |
Questa tecnologia per ambiente sandbox è molto simile a come le app nei SO degli smartphone vengono eseguite con accesso controllato alle risorse.
Anche alcune grandi applicazioni GUI come browser web in Debian usano internamente la tecnologia degli ambienti sandbox per renderle più sicure.
Tabella 7.7. Elenco di server per l'accesso remoto degni di nota
L'accesso al desktop e alle applicazioni che usano il protocollo Wayland e sono eseguite su un host remoto è supportato da GNOME Remote Desktop sull'host remoto attraverso VNC o RDP al client locale.
L'accesso alle funzionalità del desktop di tutte le macchine virtuali QEMU è supportato dal protocollo SPICE (the Simple Protocol for Independent Computing Environments, il semplice protocollo per ambienti di calcolo indipendenti).
pacchetto | popcon | dimensione | protocolli | descrizione |
---|---|---|---|---|
gnome-remote-desktop
|
V:35, I:221 | 1068 | RDP | server GNOME Remote Desktop |
xrdp
|
V:22, I:24 | 3202 | RDP | xrdp, server RDP (Remote Desktop Protocol) |
x11vnc
|
V:6, I:23 | 2107 | RFB (VNC) | x11vnc, server Remote Framebuffer Protocol (VNC) |
tigervnc-standalone-server
|
V:4, I:15 | 2768 | RFB (VNC) | TigerVNC, server Remote Framebuffer Protocol (VNC) |
gnome-connections
|
V:0, I:1 | 1356 | RDP, RFB (VNC) | client per desktop remoto GNOME |
vinagre
|
V:2, I:68 | 4249 | RDP, RFB (VNC), SPICE, SSH | Vinagre: client per desktop remoto di GNOME |
remmina
|
V:15, I:72 | 953 | RDP, RFB (VNC), SPICE, SSH, ... | Remmina: client GTK per desktop remoto |
krdc
|
V:1, I:17 | 3873 | RDP, RFB (VNC) | KRDC: client KDE per desktop remoto |
guacd
|
V:0, I:0 | 83 | RDP, RFB (VNC), SSH / HTML5 | Apache Guacamole: gateway senza client per desktop remoto (HTML5) |
virt-viewer
|
V:5, I:52 | 1284 | RFB (VNC), SPICE | client con display GUI di Virtual Machine Manager del sistema operativo ospite |
Ci sono diversi modi per connettersi da un'applicazione su un host remoto al
server X, incluso xwayland
sull'host locale.
Tabella 7.8. Elenco di metodi di connessione al server X
pacchetto | popcon | dimensione | comando | descrizione |
---|---|---|---|---|
openssh-server
|
V:730, I:814 | 1804 | sshd con l'opzione X11-forwarding |
server SSH (sicuro) |
openssh-client
|
V:866, I:996 | 4959 | ssh -X |
client SSH (sicuro) |
xauth
|
V:165, I:961 | 81 | xauth |
utilità per file X authority |
x11-xserver-utils
|
V:302, I:528 | 568 | xhost |
controllo degli accessi al server per X |
L'accesso al server X locale da parte delle applicazioni locali che usano il
protocollo di base X può essere connesso localmente attraverso un socket
locale di dominio UNIX. Ciò può essere autorizzato dal file di autorità che
contiene i cookie di accesso. Il file
authority è identificato dalla variabile d'ambiente
"$XAUTHORITY
" e il display X è identificato dalla
variabile d'ambiente "$DISPLAY
". Dato che queste vengono
normalmente impostate automaticamente, non è necessaria alcuna azione
speciale, ad es. "gitk
" come segue.
username $ gitk
Nota | |
---|---|
Per |
L'accesso al display del server X locale da parte di applicazioni remote che usano il protocollo principale X è supportato usando la funzionalità di inoltro di X11.
Aprire un gnome-terminal
sull'host locale.
Eseguire ssh
(1) con l'opzione -X
per
stabilire una connessione con il sito remoto nel modo seguente.
localname @ localhost $ ssh -q -X loginname@remotehost.domain Password:
Eseguire un comando applicativo X, ad esempio "gitk
", sul
sito remoto nel modo seguente.
loginname @ remotehost $ gitk
Questo metodo può mostrare l'output da un client X remoto come se fosse connesso localmente attraverso un socket UNIX locale.
Vedere Sezione 6.3, «Il server e le utilità per l'accesso remoto (SSH)» per SSH/SSHD.
Avvertimento | |
---|---|
La connessione TCP/IP
remota al server X è disabilitata in modo predefinito nel sistema Debian per
ragioni di sicurezza. Non abilitarla impostando semplicemente
" |
L'accesso al server X da parte delle applicazioni che usano il protocollo
centrale di X e vengono eseguite sullo stesso host ma in un ambiente come
una chroot dove il file di autorità non è accessibile può essere autorizzato
in maniera sicura con xhost
usando l'accesso basato su utente,
es. "gitk
" come segue:
username $ xhost + si:localuser:root ; sudo chroot /path/to # cd /src # gitk # exit username $ xhost -
Per ritagliare testo negli appunti, vedere Sezione 1.4.4, «Operazioni del mouse».
Per tagliare grafica negli appunti vedere Sezione 11.6, «Strumenti per dati grafici».
Anche alcuni comandi CLI possono manipolare gli appunti a carattere (PRIMARY e CLIPBOARD).
Tabella 7.9. Elenco di programmi correlati con la manipolazione degli appunti a caratteri
pacchetto | popcon | dimensione del pacchetto | target | descrizione |
---|---|---|---|---|
xsel
|
V:9, I:42 | 55 | per X | interfaccia a riga di comando per la selezione in X (appunti) |
xclip
|
V:12, I:63 | 62 | per X | interfaccia a riga di comando per la selezione in X (appunti) |
wl-clipboard
|
V:3, I:14 | 162 | Wayland | wl-copy wl-paste : interfaccia a riga
di comando per gli appunti di
Wayland |
gpm
|
V:10, I:12 | 521 | Console Linux | un demone che cattura eventi del mouse sulla console Linux |