User Tools

Site Tools


doc:appunti:linux:tux:kde

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 #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 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
doc/appunti/linux/tux/kde.txt · Last modified: 2011/07/04 10:08 by niccolo