====== Configurazione ambiente KDE ======
===== Avvio della sessione =====
Il session manager per KDE è ''**startkde**'' e viene avviato in Debian in seguito a ''startx'' oppure al login dal display manager (KDM è quello predefinito, ma si può usare anche XDM o GDM).
In Debian invece di startkde viene chiamato il link ''**/etc/alternatives/x-session-manager**''. La procedura di avvio di X esegue gli script in ''/etc/X11/Xsession.d/''.
L'utente potrebbe creare un proprio ''$HOME/.Xsession'' (script eseguibile), magari per settare una propria umask o altro. L'ultima istruzione dello script deve essere ''exec startkde'' o altro session manager. Attenzione che se sono installati più di un session manager la scelta è forzata dal display manager e quindi ''.Xsession'' viene ignorato.
===== umask =====
Due possibili metodi per impostare l'umask di un utente in sessione grafica: tramite **modulo PAM** oppure tramite **''/etc/profile''**.
Esiste il modulo ''**libpam-umask**'', dovrebbe bastare aggiungerlo al ''**/etc/pam.d/kdm**'' (solo per il KDM) oppure a **''/etc/pam.d/common-session''** (per ogni tipo di sessione, compresa ssh). Consente di impostare l'umask durante la sequenza di login, basta aggiungere una riga del tipo:
session optional pam_umask.so umask=0022
Almeno con una distribuzione Ubuntu 11.04 il metodo PAM non funziona. Si può invece modificare il file **''/etc/profile''**, sostituendo il comando **''umask''** presente con qualcosa del genere (l'utente root viene trattato in modo differente):
#umask 022
if [ "$UID" != "0" ]; then
umask 011
else
umask 022
fi
===== KDE default encoding =====
Several KDE applications use the **KDE default character encoding**; examples are Kate for Load/Save operations, Open/Save dialog box, etc. KDE defaults to the encoding set by the **''LANG''** environment variable.
The user can override this setting by creating an **''$HOME/.xsession''** file which set the locale before starting KDE:
#!/bin/sh
export LANG=en_US.UTF-8
exec startkde
===== Personalizzazione del pannello KDE (task bar) =====
Le icone aggiunte nel pannello di KDE vengono salvate come file ''.desktop'' nella directory
* ''$HOME/.kde/share/apps/kicker''
===== Personalizzazione del menu KDE =====
Si personalizza con l'Editor menu (clik destro su pulsante KDE). Viene creato un file in cui si indica quali file ''.desktop'' inserire nel menu di sistema e un file .desktop opportuno. Ad esempio avendo aggiunto una voce Prova dentro accessori ci troviamo questi due file nuovi
* ''$HOME/.config/menus/applications-kmenuedit.menu''
* ''$HOME/.local/share/applications/Prova.desktop''
===== Associazione tipi di file-applicazione =====
Facendo click col pulsante destro del mouse, menu Apri con, Altro... è possibile associare un tipo di file ad una applicazione. Si può agire anche da Centro di controllo, Componenti di KDE, Associazione file. In alcuni casi l'associazione non viene salvata, provare ad attivare l'opzione "Esegui in un terminale" e poi a toglierla.
L'associazione viene salvata come file ''.desktop'', ad esempio associando i file ''.mp3'' a al programma xmms viene creato un file ''**xmms.desktop**'' con un contenuto del tipo:
[Desktop Entry]
Categories=X-Debian-Apps-Sound
Comment=X MultiMedia System
Encoding=UTF-8
Exec=xmms
Icon=
InitialPreference=2
MimeType=audio/x-mp3
Name=XMMS
Terminal=false
Type=Application
Il file viene creato nella directory ''$HOME/.local/share/applications'' oppure in ''$HOME/.kde/share/applnk/.hidden''. Non si sa bene la differenza (forse a seconda che venga fatto da Centro di controllo oppure da menu contestuale di icona sul desktop?).
Possono essere associate più applicazioni ad uno stesso tipo di file, la priorità è memorizzata in ''$HOME/.kde/share/config/profilerc''.
===== Anti-alias dei font =====
Le impostazioni sono salvate in ''**$HOME/.qt/qtrc**''.
===== Autostart di una applicazione non KDE =====
Controllare quale è la directory **Autostart** in //Centro di controllo//, //Amministrazione di sistema//, //Percorsi//, //Percorso dell'avvio automatico//. Generalmente si tratta di ''**$HOME/.kde/Autostart/**''. In tale directory si crea un file (ad esempio ''**xscreensaver.desktop**'' per avviare l'applicazione non KDE ''xscreensaver'') con un contenuto del tipo:
[Desktop Entry]
Exec=xscreensaver -no-splash
Name=XScreensaver
Type=Application
X-KDE-StartupNotify=false
===== Stampa su fax =====
Per la stampa su fax l'ambiente KDE offre **kdeprintfax** che può appoggiarsi su un server HylaFAX. Per configurare il programma in modo che sia disponibile a tutti gli utenti (//system wide//) basta editare il file **''/etc/kde3/kdeprintfaxrc''** con qualcosa del genere:
[Fax]
Device=modem
Page=a4
Resolution=High
Server=fax.rigacci.org
[Personal]
Company=
Name=
Number=
ReplaceIntChar=false
ReplaceIntCharVal=
[System]
System=hylafax
HylaFax[$e]=/usr/bin/sendfax -D %cover_{??-n} %server_h %res_{-m??-l} %subject_r %time_a %enterprise_x %comment_c %email_f %from_W %page_s -d %name_{@@@}%number %files
===== Autostart applicazioni =====
Con **KDE 3** per avviare automaticamente una applicazione al login, basta aggiungere un file **''.desktop''** nella cartella **''$HOME/.kde/Autostart/''**. I file ''.desktop'' dei vari programmi possono essere trovati in ''/usr/share/applications/kde/''.
Con **KDE 4** è possibile attivare l'autostart da //System settings//, //Advanced//, //Autostart//. Le impostazioni fatte in questo modo vengono salvate in **''$HOME/.config/autostart/''**.
===== Utilizzare sudo in KDE =====
Per eseguire operazioni privilegiate da parte di utenti non privilegiati è preferibile **''sudo(8)''** piuttosto che **''su(1)''**.
L'ambiente KDE ha un front-end grafico a sudo, chiamato **''kdesudo''** contenuto nell'omonimo pacchetto Debian. Inoltre l'ambiente Debian ha lo script di supporto **''su-to-root''** che dovrebbe automaticamente selezionare il tool giusto per elevare i privilegi, verificando se siamo in ambiente grafico e quali strumenti sono disponibili.
Purtroppo ''su-to-root'' non è in grado di selezionare automaticamente ''kdesudo'', vedere il bug [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602118|#602118]].
La soluzione proposta nel bug report è una piccola patch a ''su-to-root''
$ diff /usr/bin/su-to-root.dist /usr/bin/su-to-root
107a108
> kdesudo) kdesudo -u "$PRIV" "$COMMAND";;
ed aggiungere un file **''$HOME/.su-to-rootrc''**:
SU_TO_ROOT_X='kdesudo'
Con le impostazioni precedenti un'icona di lancio KDE (file .desktop, quelli di sistema sono in ''/usr/share/applications/kde4/'') può usare come stringa ''Exec'' qualcosa del genere:
Exec=su-to-root -X -c /usr/bin/kvpnc
X-KDE-SubstituteUID=false
Attenzione al valore di **''X-KDE-SubstituteUID''**: se impostato a ''true'' l'ambiente KDE tenta di usare ''kdesu'' per lanciare l'Exec, tentando in effetti un doppio switch di utente prima con ''kdesu'' e poi con ''su-to-root''.
===== Utilizzo del DISPLAY grafico con sudo =====
Dopo aver elevato i privilegi con **''su''** o **''sudo''** risulta in generale impossibile eseguire programmi che grafici che devono avere accesso al **''$DISPLAY''** perché l'autorizzazione ad utilizzare il display è stata ottenuta dall'utente non privilegiato.
L'autorizzazione è contenuta nel file **''$HOME/.Xauthority''**, dopo aver effettuato **''sudo''** è quindi sufficiente eseguire il comando:
export XAUTHORITY=/home/username/.Xauthority
per utilizzare l'//Xauthority data// dell'utente non privilegiato.
===== Accesso a share Windows =====
KDE consente di sfogliare una condivisione Windows con Dolphin, basta accedere ad un URL del tipo **''%%smb://username@host/share%%''**. Tuttavia esiste un **[[https://bugs.kde.org/show_bug.cgi?id=236335|bug]]** per cui se lo share è accessibile anche in modalità guest (anonima), quest'ultima viene preferita.
Per accedere in modalità non anonima è necessario specificare nell'URL anche la password, con la sintassi **''%%smb://username:password@host/share%%''**, tuttavia in questo modo la password rimane visibile in chiaro a chiunque esegua il comando **''ps uax''**.
===== Effetti grafici KDE4 =====
System Settings, Desktop, Desktop Effects, General:
* Enable desktop effects
* Effect for windows switching: Flip Switch
* Effect for desktop switching: Desktop Cube Animation
System Settings, Desktop, Multiple Desktop, Switching:
* Desktop navigation wraps around (No)
* Animation: Desktop Cube Animation
* Desktop Switch On-Screen Display
* Duration: 1200 msec
* Shortcuts
* Switch One Desktop Down: Ctrl-Alt-Down (conflicts with application Juk)
* Switch One Desktop to the Left: Ctrl-Alt-Left (conflicts with application Juk)
* ...
System Settings, Desktop, Screen Edges:
* Switch desktop on edge: Only When Moving Windows