Difference between revisions of "Getting Started/Set up KDE 4 for development (ca)"

Jump to: navigation, search
(So much to translate, a preliminar version, incomplete.)
 
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Getting_Started/Set_up_KDE_4_for_development}}
+
 
{{TutorialBrowser(ca)|
+
{{TutorialBrowser (ca)|
  
 
series=Començant|
 
series=Començant|
Line 8: Line 8:
 
pre=[[Getting_Started/Build/KDE4|Compilant KDE 4]]|
 
pre=[[Getting_Started/Build/KDE4|Compilant KDE 4]]|
  
next=[[Development|Altres temes de desnvolupament]]|
+
next=[[Development|Altres temes de desenvolupament]]|
  
 
}}
 
}}
  
{{note(ca)|Aquesta plana assumeix que ha compilat kdelibs, kdepimlibs, i kdebase d'acord amb [[Getting Started/Build/KDE4|aquestes]] instructions}}
+
{{note (ca)|Aquesta plana assumeix que ha compilat kdelibs, kdepimlibs, i kdebase d'acord amb [[Getting Started/Build/KDE4|aquestes]] instructions}}
  
 
== Executant aplicacions i sessions de KDE 4 ==
 
== Executant aplicacions i sessions de KDE 4 ==
  
 
Quan comences el desenvolupament per a KDE 4, hi ha generalment tres opcions a triar:
 
Quan comences el desenvolupament per a KDE 4, hi ha generalment tres opcions a triar:
* Pots [[Getting_Started/Set_up_KDE_4_for_development(ca)#Launching_KDE_4_apps|executar aplicacions KDE 4 juntament amb altres aplicacions]] al teu entorn actual de desenvolupament.
+
* Pots [[Getting_Started/Set_up_KDE_4_for_development_(ca)#Launching_KDE_4_apps|executar aplicacions KDE 4 juntament amb altres aplicacions]] al teu entorn actual de desenvolupament.
* Pots [[Getting_Started/Set_up_KDE_4_for_development(ca)#Nested_KDE_4_session|anidar una sessió KDE 4]] en el teu entorn d'escriptori actual.
+
* Pots [[Getting_Started/Set_up_KDE_4_for_development_(ca)#Nested_KDE_4_session|anidar una sessió KDE 4]] en el teu entorn d'escriptori actual.
* Pots [[Getting_Started/Set_up_KDE_4_for_development(ca)#Solitary_KDE_4_session|executar KDE 4 com a l'únic entorn d'escriptori]] a la teva màquina.
+
* Pots [[Getting_Started/Set_up_KDE_4_for_development_(ca)#Solitary_KDE_4_session|executar KDE 4 com a l'únic entorn d'escriptori]] a la teva màquina.
  
 
Totes tres opcions són explicades a les seccions següents.
 
Totes tres opcions són explicades a les seccions següents.
  
{{Note(ca)|
+
{{Note (ca)|
 
Si obtens errors quan executis qualsevol aplicació kde4, com ara:
 
Si obtens errors quan executis qualsevol aplicació kde4, com ara:
 
   Qt: Session management error: Could not open network socket
 
   Qt: Session management error: Could not open network socket
Line 35: Line 35:
 
Per aquest mètode, es requereix l'eina '''sux''' (http://fgouget.free.fr/sux/sux-readme.shtml). '''sux''' està disponible a la majoria de distribucions. Sinó pots emprar el mètode de sota ''shell normal sense sux''. '''sux''' et permet canviar a un altre usuari amb una gestió implicita dels detalls de forward de les X (exportació d'authentificació i DISPLAY) d'una manera neta i simple.
 
Per aquest mètode, es requereix l'eina '''sux''' (http://fgouget.free.fr/sux/sux-readme.shtml). '''sux''' està disponible a la majoria de distribucions. Sinó pots emprar el mètode de sota ''shell normal sense sux''. '''sux''' et permet canviar a un altre usuari amb una gestió implicita dels detalls de forward de les X (exportació d'authentificació i DISPLAY) d'una manera neta i simple.
  
Per a loguejar, escriu <code bash>sux - kde-devel</code>
+
Per a loguejar, escriu <syntaxhighlight lang="bash">sux - kde-devel</syntaxhighlight>
  
Totes les variables d'entorn i tota la resta hauria d'establir-se correctament al teu {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Per a iniciar una aplicació, senzillament escriu el seu nom;  per exemple <code bash>kwrite</code>
+
Totes les variables d'entorn i tota la resta hauria d'establir-se correctament al teu {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Per a iniciar una aplicació, senzillament escriu el seu nom;  per exemple <syntaxhighlight lang="bash">kwrite</syntaxhighlight>
{{Note(ca)|
+
{{Note (ca)|
 
Si obtens errors sobre mimetypes que manquen o així, prova el següent:
 
Si obtens errors sobre mimetypes que manquen o així, prova el següent:
* executa <code bash>unset XDG_DATA_DIRS ; kbuildsycoca4</code>
+
* executa <syntaxhighlight lang="bash">unset XDG_DATA_DIRS ; kbuildsycoca4</syntaxhighlight>
 
}}
 
}}
  
 
==== Emprant la shell normal sense sux ====
 
==== Emprant la shell normal sense sux ====
 
El mètode més simple per a executar apliacions KDE 4 és emprar <tt>su</tt> per a loguejar com a l'usuari <tt>kde-devel</tt> i llavors senzillament iniciar qualsevol aplicació KDE 4 des de la línia de ocmandes. Per a loguejar-te, escriu
 
El mètode més simple per a executar apliacions KDE 4 és emprar <tt>su</tt> per a loguejar com a l'usuari <tt>kde-devel</tt> i llavors senzillament iniciar qualsevol aplicació KDE 4 des de la línia de ocmandes. Per a loguejar-te, escriu
<code bash>su - kde-devel</code>
+
<syntaxhighlight lang="bash">su - kde-devel</syntaxhighlight>
 
i llavors, després d'entrar la teva clau d'accés
 
i llavors, després d'entrar la teva clau d'accés
<code bash>export DISPLAY=:0</code>
+
<syntaxhighlight lang="bash">export DISPLAY=:0</syntaxhighlight>
{{Note(ca)|Exportant la variable <tt>DISPLAY</tt> és necessari per a que les aplicacions KDE 4 apareguin el teu escriptori KDE 3.}}
+
{{Note (ca)|Exportant la variable <tt>DISPLAY</tt> és necessari per a que les aplicacions KDE 4 apareguin el teu escriptori KDE 3.}}
Totes les variables d'entorn i tota la resta hauria de ser establert correctament per el teu {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Per iniciar una aplicació, senzillament escriu el seu nom; per exemple <code bash>kwrite</code>
+
Totes les variables d'entorn i tota la resta hauria de ser establert correctament per el teu {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Per iniciar una aplicació, senzillament escriu el seu nom; per exemple <syntaxhighlight lang="bash">kwrite</syntaxhighlight>
{{Note(ca)|
+
{{Note (ca)|
 
Si obtens errors sobre mimetypes que manquen o així, prova el següent:
 
Si obtens errors sobre mimetypes que manquen o així, prova el següent:
* executa <code bash>unset XDG_DATA_DIRS ; kbuildsycoca4</code>
+
* executa <syntaxhighlight lang="bash">unset XDG_DATA_DIRS ; kbuildsycoca4</syntaxhighlight>
 
}}
 
}}
{{Note(ca)|
+
{{Note (ca)|
 
Si obtens un error sobre que no es pot connectar al servidor d'X, assegura't d'executar
 
Si obtens un error sobre que no es pot connectar al servidor d'X, assegura't d'executar
<code bash>sudo xhost +local:kde-devel</code>
+
<syntaxhighlight lang="bash">sudo xhost +local:kde-devel</syntaxhighlight>
 
com al teu usuari regular de KDE 3 per a assecurar que la aplicació pot connectar a la teva sessió d'X actual.
 
com al teu usuari regular de KDE 3 per a assecurar que la aplicació pot connectar a la teva sessió d'X actual.
  
 
Tot i que el teu servidor d'X hauria d'acceptar les connexions TCP entrants, això és sovint desactivat per defecte a les distribucions (com ara a Kubuntu Feisty). Llavors emprant <tt>kdm</tt> has d'editar <tt>/etc/kde3/kdm/kdmrc</tt> com a root i assegurar-te que no conté:
 
Tot i que el teu servidor d'X hauria d'acceptar les connexions TCP entrants, això és sovint desactivat per defecte a les distribucions (com ara a Kubuntu Feisty). Llavors emprant <tt>kdm</tt> has d'editar <tt>/etc/kde3/kdm/kdmrc</tt> com a root i assegurar-te que no conté:
<code>ServerArgsLocal=-nolisten tcp</code>
+
<syntaxhighlight lang="text">ServerArgsLocal=-nolisten tcp</syntaxhighlight>
 
Una vegada hagis arreglat això, necessitaràs reiniciar el teu servidor d'X. La comanda <tt>xhost</tt> ja no hauria de retornarun error "unable to open display".
 
Una vegada hagis arreglat això, necessitaràs reiniciar el teu servidor d'X. La comanda <tt>xhost</tt> ja no hauria de retornarun error "unable to open display".
  
 
Per conveniència, haurias de posar això a l'Autostart del teu usuari regular. Per fer això, crea un nou fitxer al directori <tt>$HOME/.kde/Autostart</tt> del teu usuari regular amb el contingut següent:
 
Per conveniència, haurias de posar això a l'Autostart del teu usuari regular. Per fer això, crea un nou fitxer al directori <tt>$HOME/.kde/Autostart</tt> del teu usuari regular amb el contingut següent:
<code bash>
+
<syntaxhighlight lang="bash">
 
#! /bin/sh
 
#! /bin/sh
 
xhost +local:kde-devel
 
xhost +local:kde-devel
</code>
+
</syntaxhighlight>
 
Assegura't de que el nou fitxer és executable emprant <tt>chmod +x</tt> en ell.
 
Assegura't de que el nou fitxer és executable emprant <tt>chmod +x</tt> en ell.
  
Line 76: Line 76:
  
 
La manera més simple d'executar una aplicació KDE 4 amb SSH en el teu entorn d'escriptor actual és obtindre una consola de shell conscient de les X com a l'usuari <tt>kde-devel</tt> d'aquesta manera:
 
La manera més simple d'executar una aplicació KDE 4 amb SSH en el teu entorn d'escriptor actual és obtindre una consola de shell conscient de les X com a l'usuari <tt>kde-devel</tt> d'aquesta manera:
<code bash>ssh -X kde-devel@localhost</code>
+
<syntaxhighlight lang="bash">ssh -X kde-devel@localhost</syntaxhighlight>
 
Ara pots executar aplicacions KDE com sempre, per exemple:
 
Ara pots executar aplicacions KDE com sempre, per exemple:
<code bash>kwrite</code>
+
<syntaxhighlight lang="bash">kwrite</syntaxhighlight>
 
Les dues línies poden ser combinades convenientment:
 
Les dues línies poden ser combinades convenientment:
<code bash>ssh -X kde-devel@localhost kwrite</code>
+
<syntaxhighlight lang="bash">ssh -X kde-devel@localhost kwrite</syntaxhighlight>
  
{{Note(ca)|
+
{{Note (ca)|
 
Si això et dona qualsevol error, prova els consells per a problemes de la secció de sobre.
 
Si això et dona qualsevol error, prova els consells per a problemes de la secció de sobre.
 
}}
 
}}
  
===== Passwordless login =====
+
===== Identificació sense clau d'accés =====
Before anything serious can be done using this method, a passwordless login needs to be set up. To start, run the following command as the regular desktop user:
+
Abans que es pugui fer res seriòs amb aquest mètode, es necessita configurar un loguin sense clau d'accés. Per començar, executa la següent comanda com a l'usuari regular de l'escriptori:
<code bash>ssh-keygen -t rsa</code>
+
<syntaxhighlight lang="bash">ssh-keygen -t rsa</syntaxhighlight>
Hit enter three times to accept the path of {{path|~/.ssh/id_rsa}} and an empty passphrase. Now, copy the single line in {{path|~/.ssh/id_rsa.pub}} that's printed after running this command:
+
Prem enter tres vegades i accpeta la ruta de {{path|~/.ssh/id_rsa}} i una clau d'accés buida. Ara, copia la línia a {{path|~/.ssh/id_rsa.pub}} que ha sortit deprés d'executar aquesta comanda:
<code bash>cat ~/.ssh/id_rsa.pub</code>
+
<syntaxhighlight lang="bash">cat ~/.ssh/id_rsa.pub</syntaxhighlight>
After that line is copied, <tt>ssh</tt> back into the <tt>kde-devel</tt> user and put the copied line in the file {{path|$HOME/.ssh/authorized_keys}}:
+
Després de copiar aquesta línia, <tt>ssh</tt> de nou a l'usuari <tt>kde-devel</tt> i posa la línia copiada al fitxer {{path|$HOME/.ssh/authorized_keys}}:
 
  ssh -X kde-devel@localhost $HOME/kde/bin/kwrite \
 
  ssh -X kde-devel@localhost $HOME/kde/bin/kwrite \
 
   $HOME/.ssh/authorized_keys
 
   $HOME/.ssh/authorized_keys
Paste in the line, save the file, and quit KWrite. Now try running KWrite again with the same SSH command; you shouldn't have to enter a password anymore:
+
Copia la línia, guarda el fitxer, i tanca KWrite. Ara prova d'executar KWrite de nou amb la mateixa comanda SSH; ja no hauries d'haver d'entrar cap clau d'accés:
<code bash>ssh -X kde-devel@localhost $HOME/kde/bin/kwrite</code>
+
<syntaxhighlight lang="bash">ssh -X kde-devel@localhost $HOME/kde/bin/kwrite</syntaxhighlight>
  
{{warning|Using a passwordless SSH login has certain '''security risks''', so make sure you protect your <tt>~/.ssh/id_rsa</tt> file by restricting access to it with
+
{{Warning (ca)|Emprant un login SSH sense clau d'accés té cert '''risc de seguretat''', així que assegura't de protegir el teu fitxer <tt>~/.ssh/id_rsa</tt> restringint-ne l'accés amb
<code bash>chmod og-xrw ~/.ssh/id_rsa</code>(although the file should have these permissions when it is created)}}
+
<syntaxhighlight lang="bash">chmod og-xrw ~/.ssh/id_rsa</syntaxhighlight>(tot i que el fitxer hauria de tenir aquests permissos quan és creat)}}
  
===== The SSH desktop file =====
+
===== El fitxer d'escriptori SSH =====
If you want to be able to launch apps more easily than running them with an SSH command from the command line, one way is to create <tt>.desktop</tt> files that <tt>ssh</tt> into the other account.  
+
Si vols poder llençar aplicacions més fàcilment que executar-les amb una comanda SSH des de la consola, una manera de fe-rho és crear arxius <tt>.desktop</tt> que fan <tt>ssh</tt> a l'atre compta.
{{Note|This will only be useful if your desktop environment supports .desktop files, but at least KDE and GNOME do.}}
+
{{Note (ca)|Això només serà útil si el teu entorn d'escriptori suporta fitxers .desktop, però al menys KDE i GNOME ho fan.}}
  
You can start with an existing .desktop file as a template (like one from your desktop) or you can make one from scratch. The main idea is to prefix the command being run with this string:
+
Pots començar amb un fitxer .desktop existent com a plantilla (com la del teu escriptori) o pots fer-ne un de nou des de zero. La idea principal és prefixar la comanda executada amb aquesta cadena:
<code bash>
+
<syntaxhighlight lang="bash">
 
ssh -X kde-devel@localhost $HOME/kde/bin/
 
ssh -X kde-devel@localhost $HOME/kde/bin/
</code>
+
</syntaxhighlight>
  
A simple .desktop file that runs KWrite would have the following contents:
+
Un fitxer .desktop senzill que executa KWrite contindria el següent:
  
<code ini>
+
<syntaxhighlight lang="ini">
 
[Desktop Entry]
 
[Desktop Entry]
 
Categories=Qt;KDE;TextEditor;
 
Categories=Qt;KDE;TextEditor;
Line 133: Line 133:
 
X-KDE-SubstituteUID=false
 
X-KDE-SubstituteUID=false
 
X-KDE-Username=
 
X-KDE-Username=
</code>
+
</syntaxhighlight>
  
{{tip|Apps launched using SSH like this don't trigger the correct launch responses, so you probably want to disable "launch feedback" for your .desktop files}}
+
{{Tip (ca)|Les aplicacions llençades emprat SSH d'aquesta manera no retornen les respostes de llençament correctes, així que provablement voldràs desactivar "launch feedback" als teus fitxers .desktop}}
  
{{note|In order to create a .desktop file for a KDE 4 app by using this pattern, the app's package will have to have been installed into <tt>~/kde/bin</tt> using the <tt>cmakekde</tt> command}}
+
{{note (ca)|Per tal de crear un fitxer .desktop per a una aplicació KDE 4 emprant aquest mètode, el paquet de l'aplicació haurà d'estar instal·lat a <tt>~/kde/bin</tt> emprant la comanda <tt>cmakekde</tt>}}
  
=== Launching KDE 4 sessions ===
+
=== Arrencant sessions KDE 4 ===
==== Nested KDE 4 session ====
+
==== Sessions KDE 4 anidades ====
 
     {|align="right"  
 
     {|align="right"  
     |[[image:Snapshot1.png|right|thumb|200px|Nested]]
+
     |[[image:Snapshot1.png|right|thumb|200px|Anidada]]
 
     |}
 
     |}
Instead of using a full-blown new virtual X for developing software you can use Xephyr to embed your KDE 4 session into your working KDE 3 or other X11 environment.
+
En comptes d'emprar una nova X virtual completa per a desenvolupar sofware pots anidar la teva sessió KDE 4 en el teu entorn KDE 3 o qualsevol altre entorn X11.
  
You can also do this with xnest, but as xnest cannot handle extensions like Render many people prefer Xephyr.
+
Pots també fer això amb xnest, però com que xnest no pot fer anar extensions com ara Render molta gent prefereix Xephyr.
  
If you want to get a minimal KDE session up and running, just launch Xephyr (available in Kubuntu as xserver-xephyr; Gentoo users compile x11-base/xorg-server with USE="kdrive"):
+
Si vols una sessió KDE mínim engegada i funcionant, només llença Xephyr (disponible a Kubuntu com a xserver-xephyr; Els usuaris de Gentoo compilen x11-base/xorg-server amb USE="kdrive"):
  
 
  Xephyr :1 -extension GLX &
 
  Xephyr :1 -extension GLX &
  
You can now launch KDE:
+
Ara pots arrencar KDE:
  
 
  export DISPLAY=:1
 
  export DISPLAY=:1
 
  /path/to/kde4/bin/startkde-modified &
 
  /path/to/kde4/bin/startkde-modified &
  
startkde-modified is a copy of the startkde-script which includes the following lines on the top:
+
startkde-modified és una còpia de startkde-script que inclou les següents línies al cap d'amunt:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
export KDEDIR=`kde4-config --prefix`
 
export KDEDIR=`kde4-config --prefix`
 
export LD_LIBRARY_PATH=$KDEDIR/lib
 
export LD_LIBRARY_PATH=$KDEDIR/lib
 
export PATH=$KDEDIR/bin/:$PATH
 
export PATH=$KDEDIR/bin/:$PATH
 
export KDEHOME=~/.kde4
 
export KDEHOME=~/.kde4
</code>
+
</syntaxhighlight>
  
You can also use Xephyr with KDM via the Xdmcp protocol and simply a new KDE 4 session to KDM.
+
Pots també emprar Xephyr amb KDM mitjançant el protocol Xdmcp i senzillament una  nova sessió a KDM.
 
   
 
   
On Kubuntu, you can enable it by changing
+
A Kubuntu, pots activar-ho canviant
  
<code ini>
+
<syntaxhighlight lang="ini">
 
[Xdmcp]
 
[Xdmcp]
 
# Whether KDM should listen to incoming XDMCP requests.
 
# Whether KDM should listen to incoming XDMCP requests.
 
# Default is true
 
# Default is true
 
Enable=false
 
Enable=false
</code>
+
</syntaxhighlight>
  
 
in {{path|/etc/kde3/kdm/kdmrc}} to
 
in {{path|/etc/kde3/kdm/kdmrc}} to
  
<code ini>
+
<syntaxhighlight lang="ini">
 
[Xdmcp]
 
[Xdmcp]
 
# Whether KDM should listen to incoming XDMCP requests.
 
# Whether KDM should listen to incoming XDMCP requests.
 
# Default is true
 
# Default is true
 
Enable=true
 
Enable=true
</code>
+
</syntaxhighlight>
  
and adjust your {{path|/etc/kde3/kdm/Xaccess}} to allow your local machine access. Additionally you should make sure to set up a port blocking policy on all external interfaces for the Xdmcp port if you are doing this on a laptop or a PC in an untrusted environment.
+
I ajustar el teu {{path|/etc/kde3/kdm/Xaccess}} per a permetre a la teva màquina local accedir. Addicionalment hauries d'assegurar-te de configurar una política de bloqueix de ports a totes les interfícies externes per al port Xdmcp si estàs fent aio en un portàtil o en un PC en un entorn no confiable.
 
   
 
   
If you are done, simply launch Xephyr:
+
Si ja estàs, senzillament executa Xephyr:
 
   
 
   
 
  Xephyr -query localhost :1 -host-cursor -screen 1024x768&
 
  Xephyr -query localhost :1 -host-cursor -screen 1024x768&
  
where <tt>-host-cursor</tt> tries to reuse the host's cursor and <tt>-screen</tt> sets the screen dimensions.
+
On <tt>-host-cursor</tt> prova de reutilitzar el cursor del host i <tt>-screen</tt> determina les dimensions de la pantalla.
  
Note: If you get lots of refused connection errors, you might want to use the -ac option of Xephyr. For example:
+
{{Note (ca)|Si reps molts errors de connexió refusada, pots voler emprar l'opció -ac a Xephyr. Per exemple:
  
  Xephyr -ac :1&
+
  <syntaxhighlight lang="text">Xephyr -ac :1&</syntaxhighlight>
  
Another option to try if you get lots of refused connection errors is you may need to grant assess to your kde-devel user to your X server. As root or using sudo execute:
+
Una altre opció a provar si reps molt errors de connexió refusada és mirar si necessites donar permissos al teu usuari kde-devel al teu servidor X. Com a root o emprant sudo executa:
  
  xhost +local:kde-devel
+
  <syntaxhighlight lang="text">xhost +local:kde-devel</syntaxhighlight>
  
If you do not have Xephyr, you can also use Xnest:
+
Si no tens Xephyr, pots també emprar Xnest:
 
+
Xnest -ac :1& export DISPLAY=:1
+
  
 +
<syntaxhighlight lang="text">Xnest -ac :1& export DISPLAY=:1</syntaxhighlight>
 +
}}
 
<BR>
 
<BR>
 
-----
 
-----
{{improve}}
+
{{Improve (ca)}}
 
[[User:Sping|Sping]] 00:25, 9 April 2007 (CEST)<BR>
 
[[User:Sping|Sping]] 00:25, 9 April 2007 (CEST)<BR>
I use this for my start script ''nested_kde4.sh'':
+
Jo utilitzo això per al meu script d'inici ''nested_kde4.sh'':
  
 
  #! /bin/bash
 
  #! /bin/bash
Line 220: Line 220:
 
  export DISPLAY=${NESTED_KDE_DISPLAY_BACKUP}
 
  export DISPLAY=${NESTED_KDE_DISPLAY_BACKUP}
  
If you run into
+
Si et trobes amb
  
 
  "Call to lnusertemp failed (temporary directories full?).
 
  "Call to lnusertemp failed (temporary directories full?).
 
   Check your installation."
 
   Check your installation."
  
try this:
+
prova això:
  
 
  mkdir /var/tmp/kde-devel-kde4
 
  mkdir /var/tmp/kde-devel-kde4
  
The above code assumes you work with user ''kde-devel''.
+
El codi de sobre assumeix que treballes amb l'usuari ''kde-devel''.
{{Note|In most cases you have to replace ''startkde-modified'' with ''startkde''}}
+
{{Note (ca)|En la majoria de casos has de substituir ''startkde-modified'' per ''startkde''}}
 
-----
 
-----
  
==== Solitary KDE 4 session ====
+
==== Sessió KDE 4 en solitari ====
 
     {|align="right"  
 
     {|align="right"  
     |[[image:solitary.png|right|thumb|200px|Solitary]]
+
     |[[image:solitary.png|right|thumb|200px|Solitari]]
 
     |}
 
     |}
To run a full KDE 4 desktop environment session, you can either start it from the command line as you normally would, with something like this:
+
Per a executar un entorn d'escriptori KDE 4 complet, pots iniciar-lo des de la consola com ho faries normalment, amb una cosa com aquesta:
  
 
  X :1 & export DISPLAY=:1
 
  X :1 & export DISPLAY=:1
 
  startkde
 
  startkde
  
{{Note|If the X server refuses the connection saying something like: <tt>Xlib: connection to ":1.0" refused by server</tt>, try <tt>X -ac :1</tt> instead.}}
+
{{Note (ca)|Si el servidor X refusa la connexió dient una cosa com: <tt>Xlib: connection to ":1.0" refused by server</tt>, prova <tt>X -ac :1</tt>.}}
  
or you can can add it to your login manager. If you are using KDM (or a compatible login manager) this is done by creating a .desktop file in either {{path|`kde-config --prefix`/share/apps/kdm/sessions/}} or in {{path|/usr/share/xsessions/}}. The easiest thing to do is to copy an existing {{path|kde.desktop}} file and name it {{path|kde4.desktop}}. Open this new .desktop file in a text editor and change the <tt>Exec</tt>, <tt>TryExec</tt> and <tt>Name</tt> entries to look something like this:
+
o pots afegir-ho al teu gestor de sessió. Si estàs emprant KDM (o un gestor de sessió compatible) això es fa creant un fitxer .desktop tant a {{path|`kde-config --prefix`/share/apps/kdm/sessions/}} o a {{path|/usr/share/xsessions/}}. El més fàcil de fer és copiar un fitxer {{path|kde.desktop}} existent i renombrar-lo a {{path|kde4.desktop}}. Obre aquest nou fitxer .desktop en un editor de text i canvia les entrades <tt>Exec</tt>, <tt>TryExec</tt> i <tt>Name</tt> per a que siguin de la següent manera:
  
<code ini>
+
<syntaxhighlight lang="ini">
 
Exec=$HOME/kde/bin/startkde
 
Exec=$HOME/kde/bin/startkde
 
TryExec=$HOME/kde/bin/startkde
 
TryExec=$HOME/kde/bin/startkde
 
Name=KDE4
 
Name=KDE4
</code>
+
</syntaxhighlight>
  
Replace {{path|$HOME/kde}} in the example above with the prefix you are installing KDE4 into.
+
Substitueix {{path|$HOME/kde}} a l'exemple de sobre amb el prefixe d'on estàs instal·lant KDE4.
  
After restarting the login manager (<tt>Alt+e</tt> in KDM) this new entry should appear in the sessions menu.
+
Després de reiniciar el gestor de sessió (<tt>Alt+e</tt> a KDM) aquesta nova entrada hauria d'apareixer al menú de sessions.
  
You might have to edit your startkde scripts,  
+
Pots haver d'editar els teus scripts startkde,  
ie: change
+
pe: canivar això
 
+
<syntaxhighlight lang="ini">kdehome=$HOME/.kde</syntaxhighlight>
this
+
a això
<code ini>kdehome=$HOME/.kde</code>
+
<syntaxhighlight lang="ini">kdehome=$HOME/.kde4</syntaxhighlight>
to this
+
o enganxar això
<code ini>kdehome=$HOME/.kde4</code>
+
<syntaxhighlight lang="ini">
or paste this
+
<code ini>
+
 
export KDEDIR=`kde4-config --prefix`
 
export KDEDIR=`kde4-config --prefix`
 
export LD_LIBRARY_PATH=$KDEDIR/lib
 
export LD_LIBRARY_PATH=$KDEDIR/lib
 
export PATH=$KDEDIR/bin/:$PATH
 
export PATH=$KDEDIR/bin/:$PATH
 
export KDEHOME=~/.kde4
 
export KDEHOME=~/.kde4
</code>
+
</syntaxhighlight>
on top.
+
al cap d'amunt.
  
{{Note|You should have path to 'qdbus' program (usually it is $QTDIR/bin) in your $PATH to login successfully. If it is not there, you'll get an error message "Could not start DBus. Check your installation."}}
+
{{Note (ca)|Hauries de tenir la ruta al programa 'qdbus' (normalment és a $QTDIR/bin) al teu $PATH per a loguejar-te correctament. Si no és allí, rebràs un missatge d'error "Could not start DBus. Check your installation."}}
  
== Development tasks ==
+
== Tasques de desenvolupament ==
 
=== KDevelop ===
 
=== KDevelop ===
  
This section will explain how to use KDevelop 3.4 to develop KDE 4 applications. If you have any questions, corrections or rants about this section, please post them on the discussion page.
+
Aquesta secció t'explicacarà com emprar KDevelop 3.4 per a desenvolupar aplicacions KDE 4. Si tens cap dubte, correccions o queixes sobre aquesta secció, si us plau posa-les a la plana de discusió.
  
==== Prerequisites ====
+
==== Prerequisits ====
  
You need at least KDevelop 3.4 for this, which is still a KDE 3 application. Versions lower than 3.4 do not have Qt 4 support among other things. The KDE 4 version of KDevelop is not yet ready for serious development. You can get KDevelop at the [http://www.kdevelop.org/index.html?filename=3.4/download.html KDevelop homepage]. Make sure you install KDevelop like all other KDE 3 applications, '''not''' with your ''kde-devel'' user.  
+
Necessites al menys KDevelop 3.4 per fer això, el qual encara és una aplicació KDE 3. Versions inferiors a la 3.4 no tindràn suport per a Qt 4 entre d'altres coses. La versió de KDE 4 de KDevelop encara no està llesta per al desenvolupament seriòs. Pots obtindre KDevelop de la [http://www.kdevelop.org/index.html?filename=3.4/download.html plana de KDevelop]. Assegura't d'instal·lar KDevelop com tota la resta d'aplicacions KDE 3, '''no''' com amb el teu usuari ''kde-devel''.
  
You also need the lastest ''GDB'' version, which is currently 6.6.0.
+
També necessites la darrera versió de ''GDB'' , que actualment és la 6.6.0.
Note that the GDB version which is shipped with '''openSuse 10.3 is broken''', it constantly crashes when examining variables (which KDevelop does automatically). Use the GDB version from [http://download.opensuse.org/repositories/home:/amilcarlucas/openSUSE_10.3/ this repository] instead.
+
{{Note (ca)|La versió de GDB que té '''openSuse 10.3 no funciona''', peta continuament quan examina variables (cosa que KDevelop fa automàticament). Empra la versió de GDB [http://download.opensuse.org/repositories/home:/amilcarlucas/openSUSE_10.3/ d'aquest repositori] en el seu lloc.}}
  
You need to have the kdelibs API documentation locally, which is described in the [[Getting_Started/Build/KDE4#Generating_local_API_documentation|build instructions]].
+
Necessitaràs tenir la documentació de l'API de kdelibs localment, que es descriu a [[Getting_Started/Build/KDE4#Generating_local_API_documentation|instruccions de compliació]].
  
You also need ''ctags'', ''htdig'', ''htmerge'' and ''htsearch''. ''valgrind'' and ''callgrind'' can also be useful.
+
També necessites ''ctags'', ''htdig'', ''htmerge'' i ''htsearch''. ''valgrind'' i ''callgrind'' també poden ser útils.
  
Be sure you followed the steps in the KDE 4 [[Getting_Started/Build/KDE4|build instructions]] and have a working KDE 4 environment. Make sure simple KDE 4 applications like ''Konsole'' or ''KWrite'' can be started from the command line of the ''kde-devel'' user without problems.  
+
Assegura't que has seguit els passos de les [[Getting_Started/Build/KDE4|instructions de compilació]] de KDE 4 i tens un entorn de treball KDE 4 funcional. Assegura't que aplicacions senzilles de KDE 4 com ara ''Konsole'' o ''KWrite'' poden ser iniciades des de la linia de ocmandes per l'usuari ''kde-devel'' sense problemes.
  
The following steps are all done with the ''kde-devel'' user. You need to login as that user by typing
+
Els següents passos es fan tots amb l'usuari ''kde-devel''. Necessites loguejar-te com aquest usuari escrivint
 
  su - kde-devel
 
  su - kde-devel
  
==== Setting up the environment ====
+
==== Configurant l'entorn ====
  
KDevelop has no native support for CMake projects. Fortunately, CMake has the ability to generate KDevelop project files itself. In order to do this, you need to pass the ''-GKDevelop3'' flag to the ''cmake'' command. This tells CMake to generate project files for KDevelop alongside the normal makefiles. The best way to do this is to modify your ''cmakekde'' function in your [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]]. Just change
+
KDevelop no té suport natiu per als projectes CMake. Afortunadament, CMake té l'abilitat de generar fitxers de projecte KDevelop ell mateix. Per tal de fer aio, necessites passar el paràmetre ''-GKDevelop3'' a la comanda ''cmake''. Això li diu a CMake que generi els fitxers de projecte per a KDevelop juntament amb els makefiles normals. La millor manera de fer això és modificar la teva ''cmakekde'' al teu fitxer [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]]. Només canvia
<code bash>
+
<syntaxhighlight lang="bash">
 
cmake $srcFolder -DCMAKE_INSTALL_PREFIX=$KDEDIR \
 
cmake $srcFolder -DCMAKE_INSTALL_PREFIX=$KDEDIR \
 
-DCMAKE_BUILD_TYPE=debugfull&& \
 
-DCMAKE_BUILD_TYPE=debugfull&& \
 
make && \
 
make && \
 
make install;
 
make install;
</code>
+
</syntaxhighlight>
to
+
per
<code bash>
+
<syntaxhighlight lang="bash">
 
cmake $srcFolder -GKDevelop3 -DCMAKE_INSTALL_PREFIX=$KDEDIR \
 
cmake $srcFolder -GKDevelop3 -DCMAKE_INSTALL_PREFIX=$KDEDIR \
 
-DCMAKE_BUILD_TYPE=debugfull&& \
 
-DCMAKE_BUILD_TYPE=debugfull&& \
 
make && \
 
make && \
 
make install;
 
make install;
</code>
+
</syntaxhighlight>
  
After you have done that, re-login so that the changes to the {{path|.bashrc}} file take effect. Then you need to rerun ''cmakekde'' in the (root) build directory of the project you want to work on with KDevelop (if you didn't use ''-GKDevelop3'' on the [[Getting_Started/Build/KDE4#Setting_up_the_environment|building step]]). For example, if you want to work on Konsole, which lives in ''kdebase'', you need to run cmakekde in the {{path|$KDE_BUILD/KDE/kdebase}} directory. This unfortunately completely rebuilds everything, but only once when you change the generator.
+
Després de que hagis fer això, relogueja per a que els canvis al fitxer {{path|.bashrc}} tinguin efecte. Quan necessitis reexecutar la comanda ''cmakekde'' al directori de compilació (arrel) del projecte amb que vulguis treballar amb KDevelop (si no has fet servir ''-GKDevelop3'' al [[Getting_Started/Build/KDE4#Setting_up_the_environment|pas de compliació]]). Per exemple, si vols treballar a Konsola, que vui a ''kdebase'', necessites executar cmakekde al directori {{path|$KDE_BUILD/KDE/kdebase}}. Això desafortunadament recompila completament tot, però només quan canvies el generador.
  
Since all environment variables of the kde-devel user are KDE 4 specific, these need to be set back to match your KDE 3 environment before starting KDevelop.
+
Com que totes les variables d'entorn de l'usuari kde-devel són específiques per a KDE 4, es necessita posar-les de manera que concordin amb el teu entorn KDE 3 abans d'iniciar KDevelop.
A simple way to do this is to add the following function to your {{path|.bashrc}}:
+
Una manera senzilla de fer aio és afegir la següent funció al teu {{path|.bashrc}}:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
function start3app {
 
function start3app {
 
   mkdir -p /tmp/$USER-kde
 
   mkdir -p /tmp/$USER-kde
Line 331: Line 329:
 
   source $HOME/.bashrc  #Reset environment variables again
 
   source $HOME/.bashrc  #Reset environment variables again
 
}
 
}
</code>
+
</syntaxhighlight>
  
The ''PATH'' and ''LD_LIBRARY_PATH'' variables are taken from the KDE 3 user, and they may be different on your system. Type <code bash>echo $PATH</code> and <code bash>echo $LD_LIBRARY_PATH</code> as normal KDE 3 user to get these values. The above function assumes that KDE 3 is installed in the {{path|/usr}} prefix, as it is the case on Debian-based systems. If your KDE 3 is installed to a different prefix, you need to change the line setting ''KDEDIR'' accordingly. Here's an example how you find out your KDE installation prefix; in this example it is /opt/kde3:
+
Les variables ''PATH'' i ''LD_LIBRARY_PATH'' són agafades de l'usuari de KDE 3, i poden ser diferents al teu sistema. Escriu <syntaxhighlight lang="bash">echo $PATH</syntaxhighlight> i <syntaxhighlight lang="bash">echo $LD_LIBRARY_PATH</syntaxhighlight> com a usuari normal de KDE 3 per a obtindre aquests valors. La funció de sobre assumeix que KDE 3 és instal·lat al prefix {{path|/usr}}, com és el cas en els sistemes basats en Debian. Si el teu KDE 3 està instal·lat en un prefix diferent, necessites canviar la línia ''KDEDIR'' d'acord amb això. Aquí hi ha un exemple de com trobes el prefix de la teva isntal·lació de KDE; en aquest exemple és /opt/kde3:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
kde-config --prefix
 
kde-config --prefix
 
/opt/kde3
 
/opt/kde3
</code>
+
</syntaxhighlight>
  
Now you should be able to start KDevelop by typing <tt>start3app kdevelop</tt>. Do that now.
+
Ara hauries de ser capaç d'iniciar KDevelop escrivint <tt>start3app kdevelop</tt>. Fes-ho ara.
  
{{tip|
+
{{Tip (ca)|
You can start any KDE 3 application with the <tt>start3app</tt> function. Useful candidates include ''Kompare'' and ''kdesvn''.
+
Pots inciciar qualsevol aplicació KDE 3 amb la funció <tt>start3app</tt>. Són cancidats útils ''Kompare'' i ''kdesvn''.
  
However, you can not start ''KDbg'' this way to debug KDE 4 applications, since then the environment variables for the debugged application are wrong.
+
Tot i això, no pots iniciar ''KDbg'' d'aquesta manera der a depurar aplicacions KDE 4, ja que les variables d'entorns per a l'aplicació depurada són incorrectes.
 
}}
 
}}
<!--
 
{{tip|
 
Instead of starting KDevelop by using the ''start3app'' script as ''kde-devel'' user, you can also use the KDE run dialog ''(Alt+F2)'' to start KDevelop:
 
  
[[Image:Minicli.png]]
 
 
This starts KDevelop as ''kde-devel'' user but uses the environment variables of the normal user, just like the ''start3app'' script does.
 
}}
 
-->
 
  
===== TroubleShooting =====
+
===== Problemes =====
  
'''Symptome:''' kdevelop says "cannot talk to klauncher". You cannot open a file.
+
'''Simptoma:''' kdevelop diu "cannot talk to klauncher". No pots obrir un fitxer.
  
'''Solution:''' add your KDE library path to LD_LIBRARY_PATH, e.g.:
+
'''Solució:''' afegeix la ruta de la teva llibreria KDE a LD_LIBRARY_PATH, p.e.:
 
  export LD_LIBRARY_PATH=/opt/kde3/lib
 
  export LD_LIBRARY_PATH=/opt/kde3/lib
  
==== Setting up KDevelop ====
+
==== Configurant KDevelop ====
  
Now that KDevelop has started, you need to adjust a few settings. Go to ''Settings->Configure KDevelop...->Documentation'' for this. Remove all entries that are not relevant to KDE 4 coding.
+
Ara que KDevelop s'ha iniciat, necessites ajustar unes poques opcions. Ves a ''Settings->Configure KDevelop...->Documentation'' per a fer-ho. Esborra totes les entrades que no siguin rellevants per a la programació KDE 4.
  
{{note|Although environment variables like $HOME are used in this section, you should replace them with real paths because KDevelop does not resolve environment variables.}}
+
{{note (ca)|Tot i que en aquesta secció s'empren variables d'entorn com ara $HOME, hauries de substituir-les per rutes reals perquè KDevelop no resol variables d'entorn.}}
  
Optionally, you can add the kdelibs API documentation. You must [[Getting_Started/Build/KDE4#Generating_local_API_documentation|create it beforehand]]. Then add the documentation by clicking ''Add...''. In this dialog, use the following settings:
+
Opcionalment, pots afegir la documentació de l'API kdelibs. Has de [[Getting_Started/Build/KDE4#Generating_local_API_documentation|crear-la abans]]. Llavors afegeix la documentació prement ''Add...''. En aquest diàleg, empra els següents paràmetres:
* ''Type'': Doxygen Documentation Collection (needs to be set first)
+
* ''Type'': Doxygen Documentation Collection (necessita posar-se primer)
 
* ''Location'': {{path|$KDE_SRC/KDE/kdelibs/kdelibs-apidocs/index.html}}
 
* ''Location'': {{path|$KDE_SRC/KDE/kdelibs/kdelibs-apidocs/index.html}}
  
Now add the Qt API documentation, which also must be [[Getting_Started/Build/KDE4/Prerequisites#Generating_local_API_documentation|created beforehand]], using the following settings:
+
Ara afegeix la documentació de l'API Qt, que també ha de ser [[Getting_Started/Build/KDE4/Prerequisites#Generating_local_API_documentation|creada abans]], emprant els següents paràmetres:
* ''Type'': Qt Documentation Collection (needs to be set first)
+
* ''Type'': Qt Documentation Collection (necessita posar-se primer)
 
* ''Location'': {{path|$HOME/qt-copy/doc/html/qt.dcf}}
 
* ''Location'': {{path|$HOME/qt-copy/doc/html/qt.dcf}}
  
After you have added kdelibs and Qt API documentation, make sure all checkboxes (''TOC'',''Index'' and ''Search'') are enabled. Then, go to the ''Full Text Search'' tab and make sure the paths to the ''htdig'', ''htmerge'' and ''htsearch'' executables are correct. You can then close the settings dialog.
+
Després de que hagis afegit kdelibs i la documentació de l'API de Qt, assegurat que tots els quadres de confirmació (''TOC'',''Index'' and ''Search'') estiguin marcats. Llavors, vers a la pestanya ''Full Text Search'' i assegura't que les rutes als executables ''htdig'', ''htmerge'' i ''htsearch'' siguin correctes. Pots tancar llavors el diàleg de configuració.
  
Now it is time to open the project you want to work on by clicking ''Project->Open Project...''. The project files are located in the build directory. For example, if you want to work on Konsole, you need to open {{path|$KDE_BUILD/KDE/kdebase/apps/konsole/konsole.kdevelop}}. You now need to adjust a few project-specific settings in ''Project->Project Options''. You need to do this every time you start to work on a different project.
+
Ara és hora d'obrir el projecte en el que vols treballar clicant a ''Project->Open Project...''. Els fitxers del projecte es troben al directori de compliació. Per exemple, si vols treballar en Konsole,necessites obrir {{path|$KDE_BUILD/KDE/kdebase/apps/konsole/konsole.kdevelop}}. Ara necessites ajustar unes poques opcions especifiques del projecte a ''Project->Project Options''. Necessites fer això cada vegada que comencis a treballar en un projecte diferent.
  
{{note|
+
{{note (ca)|
Sometimes, a KDevelop project file is not present for the folder you want to work on.
+
A vegades, un fitxer de projecte KDevelop no és present per la carpeta on vols treballar.
  
This can have several reasons, it depends on how the CMake files are written. Usually, CMake files which have a <tt>project(projectname)</tt> statement in them should work fine. Once you are familiar enough with CMake, you can try adding the statement.
+
Això pot ser degut a diverses raons, depen de com són escrits els fitxers CMake. Normalment, els fitxers CMake que tenen la crida <tt>project(projectname)</tt> en ells solen funcionar bé. Una vegada estiguis suficientment familiaritzat amb CMake, pots provar d'afegir-hi la crida.
  
 
A workaround for this is to simply use the KDevelop project file of the parent folder, or even higher. In this case, you need to use the <tt>Make Active Directory</tt> entry in the context menu of the <tt>File Selector</tt> sidetab. With this, you can ignore the other unwanted folders when building and installing.
 
A workaround for this is to simply use the KDevelop project file of the parent folder, or even higher. In this case, you need to use the <tt>Make Active Directory</tt> entry in the context menu of the <tt>File Selector</tt> sidetab. With this, you can ignore the other unwanted folders when building and installing.

Latest revision as of 17:13, 15 July 2012

Configurar KDE 4 per al desenvolupament
Sèrie de Tutorials   Començant
Prerequisits   Compilant KDE 4
Què ve després   Altres temes de desenvolupament
Referències   n/a
{{{3}}}
 
noframe
Aquesta plana assumeix que ha compilat kdelibs, kdepimlibs, i kdebase d'acord amb aquestes instructions
Nota


Contents

[edit] Executant aplicacions i sessions de KDE 4

Quan comences el desenvolupament per a KDE 4, hi ha generalment tres opcions a triar:

Totes tres opcions són explicades a les seccions següents.

{{{3}}}
 
noframe

Si obtens errors quan executis qualsevol aplicació kde4, com ara:

 Qt: Session management error: Could not open network socket
 QMutex::lock: Deadlock detected in thread -1241241936 

o quan executis startkde i es quedi penjat, llegeix aquest article per a solventar-ho.

Nota


[edit] Executants aplicacions KDE 4

[edit] Emprant la shell normal amb sux

Per aquest mètode, es requereix l'eina sux (http://fgouget.free.fr/sux/sux-readme.shtml). sux està disponible a la majoria de distribucions. Sinó pots emprar el mètode de sota shell normal sense sux. sux et permet canviar a un altre usuari amb una gestió implicita dels detalls de forward de les X (exportació d'authentificació i DISPLAY) d'una manera neta i simple.

Per a loguejar, escriu
sux - kde-devel
Totes les variables d'entorn i tota la resta hauria d'establir-se correctament al teu .bashrc. Per a iniciar una aplicació, senzillament escriu el seu nom; per exemple
kwrite
{{{3}}}
 
noframe

Si obtens errors sobre mimetypes que manquen o així, prova el següent:

  • executa
    unset XDG_DATA_DIRS ; kbuildsycoca4
Nota


[edit] Emprant la shell normal sense sux

El mètode més simple per a executar apliacions KDE 4 és emprar su per a loguejar com a l'usuari kde-devel i llavors senzillament iniciar qualsevol aplicació KDE 4 des de la línia de ocmandes. Per a loguejar-te, escriu

su - kde-devel

i llavors, després d'entrar la teva clau d'accés

export DISPLAY=:0
{{{3}}}
 
noframe
Exportant la variable DISPLAY és necessari per a que les aplicacions KDE 4 apareguin el teu escriptori KDE 3.
Nota


Totes les variables d'entorn i tota la resta hauria de ser establert correctament per el teu .bashrc. Per iniciar una aplicació, senzillament escriu el seu nom; per exemple
kwrite
{{{3}}}
 
noframe

Si obtens errors sobre mimetypes que manquen o així, prova el següent:

  • executa
    unset XDG_DATA_DIRS ; kbuildsycoca4
Nota


{{{3}}}
 
noframe

Si obtens un error sobre que no es pot connectar al servidor d'X, assegura't d'executar

sudo xhost +local:kde-devel

com al teu usuari regular de KDE 3 per a assecurar que la aplicació pot connectar a la teva sessió d'X actual.

Tot i que el teu servidor d'X hauria d'acceptar les connexions TCP entrants, això és sovint desactivat per defecte a les distribucions (com ara a Kubuntu Feisty). Llavors emprant kdm has d'editar /etc/kde3/kdm/kdmrc com a root i assegurar-te que no conté:

ServerArgsLocal=-nolisten tcp

Una vegada hagis arreglat això, necessitaràs reiniciar el teu servidor d'X. La comanda xhost ja no hauria de retornarun error "unable to open display".

Per conveniència, haurias de posar això a l'Autostart del teu usuari regular. Per fer això, crea un nou fitxer al directori $HOME/.kde/Autostart del teu usuari regular amb el contingut següent:

#! /bin/sh
xhost +local:kde-devel

Assegura't de que el nou fitxer és executable emprant chmod +x en ell.

Si vol saber més dels problemes de segueretat en relació a emprar xhost, mira aquest article

Nota


[edit] Emprant SSH

La manera més simple d'executar una aplicació KDE 4 amb SSH en el teu entorn d'escriptor actual és obtindre una consola de shell conscient de les X com a l'usuari kde-devel d'aquesta manera:

ssh -X kde-devel@localhost

Ara pots executar aplicacions KDE com sempre, per exemple:

kwrite

Les dues línies poden ser combinades convenientment:

ssh -X kde-devel@localhost kwrite
{{{3}}}
 
noframe

Si això et dona qualsevol error, prova els consells per a problemes de la secció de sobre.

Nota


[edit] Identificació sense clau d'accés

Abans que es pugui fer res seriòs amb aquest mètode, es necessita configurar un loguin sense clau d'accés. Per començar, executa la següent comanda com a l'usuari regular de l'escriptori:

ssh-keygen -t rsa

Prem enter tres vegades i accpeta la ruta de ~/.ssh/id_rsa i una clau d'accés buida. Ara, copia la línia a ~/.ssh/id_rsa.pub que ha sortit deprés d'executar aquesta comanda:

cat ~/.ssh/id_rsa.pub

Després de copiar aquesta línia, ssh de nou a l'usuari kde-devel i posa la línia copiada al fitxer $HOME/.ssh/authorized_keys:

ssh -X kde-devel@localhost $HOME/kde/bin/kwrite \
 $HOME/.ssh/authorized_keys

Copia la línia, guarda el fitxer, i tanca KWrite. Ara prova d'executar KWrite de nou amb la mateixa comanda SSH; ja no hauries d'haver d'entrar cap clau d'accés:

ssh -X kde-devel@localhost $HOME/kde/bin/kwrite
{{{3}}}
 
noframe
Emprant un login SSH sense clau d'accés té cert risc de seguretat, així que assegura't de protegir el teu fitxer ~/.ssh/id_rsa restringint-ne l'accés amb
chmod og-xrw ~/.ssh/id_rsa
(tot i que el fitxer hauria de tenir aquests permissos quan és creat)
Avís


[edit] El fitxer d'escriptori SSH

Si vols poder llençar aplicacions més fàcilment que executar-les amb una comanda SSH des de la consola, una manera de fe-rho és crear arxius .desktop que fan ssh a l'atre compta.

{{{3}}}
 
noframe
Això només serà útil si el teu entorn d'escriptori suporta fitxers .desktop, però al menys KDE i GNOME ho fan.
Nota


Pots començar amb un fitxer .desktop existent com a plantilla (com la del teu escriptori) o pots fer-ne un de nou des de zero. La idea principal és prefixar la comanda executada amb aquesta cadena:

ssh -X kde-devel@localhost $HOME/kde/bin/

Un fitxer .desktop senzill que executa KWrite contindria el següent:

[Desktop Entry]
Categories=Qt;KDE;TextEditor;
Comment=
DocPath=kwrite/index.html
Encoding=UTF-8
Exec=ssh -X kde-devel@localhost /home/kde-devel/kde/bin/kwrite %U
GenericName=Text Editor
Icon=kwrite
InitialPreference=8
MimeType=text/plain
Name=KWrite (kde-devel)
Path=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-StartupType=Multi
X-DCOP-ServiceType=non
X-KDE-StartupNotify=true
X-KDE-SubstituteUID=false
X-KDE-Username=


{{{3}}}
 
noframe
Les aplicacions llençades emprat SSH d'aquesta manera no retornen les respostes de llençament correctes, així que provablement voldràs desactivar "launch feedback" als teus fitxers .desktop
Consell


{{{3}}}
 
noframe
Per tal de crear un fitxer .desktop per a una aplicació KDE 4 emprant aquest mètode, el paquet de l'aplicació haurà d'estar instal·lat a ~/kde/bin emprant la comanda cmakekde
Nota


[edit] Arrencant sessions KDE 4

[edit] Sessions KDE 4 anidades

Anidada

En comptes d'emprar una nova X virtual completa per a desenvolupar sofware pots anidar la teva sessió KDE 4 en el teu entorn KDE 3 o qualsevol altre entorn X11.

Pots també fer això amb xnest, però com que xnest no pot fer anar extensions com ara Render molta gent prefereix Xephyr.

Si vols una sessió KDE mínim engegada i funcionant, només llença Xephyr (disponible a Kubuntu com a xserver-xephyr; Els usuaris de Gentoo compilen x11-base/xorg-server amb USE="kdrive"):

Xephyr :1 -extension GLX &

Ara pots arrencar KDE:

export DISPLAY=:1
/path/to/kde4/bin/startkde-modified &

startkde-modified és una còpia de startkde-script que inclou les següents línies al cap d'amunt:

export KDEDIR=`kde4-config --prefix`
export LD_LIBRARY_PATH=$KDEDIR/lib
export PATH=$KDEDIR/bin/:$PATH
export KDEHOME=~/.kde4

Pots també emprar Xephyr amb KDM mitjançant el protocol Xdmcp i senzillament una nova sessió a KDM.

A Kubuntu, pots activar-ho canviant

[Xdmcp]
# Whether KDM should listen to incoming XDMCP requests.
# Default is true
Enable=false

in /etc/kde3/kdm/kdmrc to

[Xdmcp]
# Whether KDM should listen to incoming XDMCP requests.
# Default is true
Enable=true

I ajustar el teu /etc/kde3/kdm/Xaccess per a permetre a la teva màquina local accedir. Addicionalment hauries d'assegurar-te de configurar una política de bloqueix de ports a totes les interfícies externes per al port Xdmcp si estàs fent aio en un portàtil o en un PC en un entorn no confiable.

Si ja estàs, senzillament executa Xephyr:

Xephyr -query localhost :1 -host-cursor -screen 1024x768&

On -host-cursor prova de reutilitzar el cursor del host i -screen determina les dimensions de la pantalla.

{{{3}}}
 
noframe
Si reps molts errors de connexió refusada, pots voler emprar l'opció -ac a Xephyr. Per exemple:
Xephyr -ac :1&

Una altre opció a provar si reps molt errors de connexió refusada és mirar si necessites donar permissos al teu usuari kde-devel al teu servidor X. Com a root o emprant sudo executa:

xhost +local:kde-devel

Si no tens Xephyr, pots també emprar Xnest:

Xnest -ac :1& export DISPLAY=:1
Nota




{{{3}}}
 
noframe

Aquesta secció necessita millores: Si us plau ajuda'ns a netejar les seccións confuses i a arreglar seccions que contenen coses a fer (todo).


Avís


Sping 00:25, 9 April 2007 (CEST)
Jo utilitzo això per al meu script d'inici nested_kde4.sh:

#! /bin/bash
NESTED_KDE_DISPLAY_BACKUP=$DISPLAY
export DISPLAY=:0
Xephyr :1 -screen 1024x768 &
export DISPLAY=:1
$HOME/kde/bin/startkde-modified &
export DISPLAY=${NESTED_KDE_DISPLAY_BACKUP}

Si et trobes amb

"Call to lnusertemp failed (temporary directories full?).
 Check your installation."

prova això:

mkdir /var/tmp/kde-devel-kde4

El codi de sobre assumeix que treballes amb l'usuari kde-devel.

{{{3}}}
 
noframe
En la majoria de casos has de substituir startkde-modified per startkde
Nota



[edit] Sessió KDE 4 en solitari

Solitari

Per a executar un entorn d'escriptori KDE 4 complet, pots iniciar-lo des de la consola com ho faries normalment, amb una cosa com aquesta:

X :1 & export DISPLAY=:1
startkde
{{{3}}}
 
noframe
Si el servidor X refusa la connexió dient una cosa com: Xlib: connection to ":1.0" refused by server, prova X -ac :1.
Nota


o pots afegir-ho al teu gestor de sessió. Si estàs emprant KDM (o un gestor de sessió compatible) això es fa creant un fitxer .desktop tant a `kde-config --prefix`/share/apps/kdm/sessions/ o a /usr/share/xsessions/. El més fàcil de fer és copiar un fitxer kde.desktop existent i renombrar-lo a kde4.desktop. Obre aquest nou fitxer .desktop en un editor de text i canvia les entrades Exec, TryExec i Name per a que siguin de la següent manera:

Exec=$HOME/kde/bin/startkde
TryExec=$HOME/kde/bin/startkde
Name=KDE4

Substitueix $HOME/kde a l'exemple de sobre amb el prefixe d'on estàs instal·lant KDE4.

Després de reiniciar el gestor de sessió (Alt+e a KDM) aquesta nova entrada hauria d'apareixer al menú de sessions.

Pots haver d'editar els teus scripts startkde, pe: canivar això

kdehome=$HOME/.kde

a això

kdehome=$HOME/.kde4

o enganxar això

export KDEDIR=`kde4-config --prefix`
export LD_LIBRARY_PATH=$KDEDIR/lib
export PATH=$KDEDIR/bin/:$PATH
export KDEHOME=~/.kde4

al cap d'amunt.

{{{3}}}
 
noframe
Hauries de tenir la ruta al programa 'qdbus' (normalment és a $QTDIR/bin) al teu $PATH per a loguejar-te correctament. Si no és allí, rebràs un missatge d'error "Could not start DBus. Check your installation."
Nota


[edit] Tasques de desenvolupament

[edit] KDevelop

Aquesta secció t'explicacarà com emprar KDevelop 3.4 per a desenvolupar aplicacions KDE 4. Si tens cap dubte, correccions o queixes sobre aquesta secció, si us plau posa-les a la plana de discusió.

[edit] Prerequisits

Necessites al menys KDevelop 3.4 per fer això, el qual encara és una aplicació KDE 3. Versions inferiors a la 3.4 no tindràn suport per a Qt 4 entre d'altres coses. La versió de KDE 4 de KDevelop encara no està llesta per al desenvolupament seriòs. Pots obtindre KDevelop de la plana de KDevelop. Assegura't d'instal·lar KDevelop com tota la resta d'aplicacions KDE 3, no com amb el teu usuari kde-devel.

També necessites la darrera versió de GDB , que actualment és la 6.6.0.

{{{3}}}
 
noframe
La versió de GDB que té openSuse 10.3 no funciona, peta continuament quan examina variables (cosa que KDevelop fa automàticament). Empra la versió de GDB d'aquest repositori en el seu lloc.
Nota


Necessitaràs tenir la documentació de l'API de kdelibs localment, que es descriu a instruccions de compliació.

També necessites ctags, htdig, htmerge i htsearch. valgrind i callgrind també poden ser útils.

Assegura't que has seguit els passos de les instructions de compilació de KDE 4 i tens un entorn de treball KDE 4 funcional. Assegura't que aplicacions senzilles de KDE 4 com ara Konsole o KWrite poden ser iniciades des de la linia de ocmandes per l'usuari kde-devel sense problemes.

Els següents passos es fan tots amb l'usuari kde-devel. Necessites loguejar-te com aquest usuari escrivint

su - kde-devel

[edit] Configurant l'entorn

KDevelop no té suport natiu per als projectes CMake. Afortunadament, CMake té l'abilitat de generar fitxers de projecte KDevelop ell mateix. Per tal de fer aio, necessites passar el paràmetre -GKDevelop3 a la comanda cmake. Això li diu a CMake que generi els fitxers de projecte per a KDevelop juntament amb els makefiles normals. La millor manera de fer això és modificar la teva cmakekde al teu fitxer .bashrc. Només canvia

cmake $srcFolder -DCMAKE_INSTALL_PREFIX=$KDEDIR \
-DCMAKE_BUILD_TYPE=debugfull&& \
make && \
make install;

per

cmake $srcFolder -GKDevelop3 -DCMAKE_INSTALL_PREFIX=$KDEDIR \
-DCMAKE_BUILD_TYPE=debugfull&& \
make && \
make install;

Després de que hagis fer això, relogueja per a que els canvis al fitxer .bashrc tinguin efecte. Quan necessitis reexecutar la comanda cmakekde al directori de compilació (arrel) del projecte amb que vulguis treballar amb KDevelop (si no has fet servir -GKDevelop3 al pas de compliació). Per exemple, si vols treballar a Konsola, que vui a kdebase, necessites executar cmakekde al directori $KDE_BUILD/KDE/kdebase. Això desafortunadament recompila completament tot, però només quan canvies el generador.

Com que totes les variables d'entorn de l'usuari kde-devel són específiques per a KDE 4, es necessita posar-les de manera que concordin amb el teu entorn KDE 3 abans d'iniciar KDevelop. Una manera senzilla de fer aio és afegir la següent funció al teu .bashrc:

function start3app {
  mkdir -p /tmp/$USER-kde
  export PATH=/opt/kde3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games 
  export LD_LIBRARY_PATH= 
  export KDETMP=/tmp/$USER-kde 
  export KDEVARTMP=/var/tmp/$USER-kde 
  export KDEHOME=$HOME/.kde 
  export KDEDIR=/usr 
  export KDEDIRS=$KDEDIR 
  export DISPLAY=:0 
  eval "$@"
  source $HOME/.bashrc   #Reset environment variables again
}
Les variables PATH i LD_LIBRARY_PATH són agafades de l'usuari de KDE 3, i poden ser diferents al teu sistema. Escriu
echo $PATH
i
echo $LD_LIBRARY_PATH
com a usuari normal de KDE 3 per a obtindre aquests valors. La funció de sobre assumeix que KDE 3 és instal·lat al prefix /usr, com és el cas en els sistemes basats en Debian. Si el teu KDE 3 està instal·lat en un prefix diferent, necessites canviar la línia KDEDIR d'acord amb això. Aquí hi ha un exemple de com trobes el prefix de la teva isntal·lació de KDE; en aquest exemple és /opt/kde3:
kde-config --prefix
/opt/kde3

Ara hauries de ser capaç d'iniciar KDevelop escrivint start3app kdevelop. Fes-ho ara.


{{{3}}}
 
noframe

Pots inciciar qualsevol aplicació KDE 3 amb la funció start3app. Són cancidats útils Kompare i kdesvn.

Tot i això, no pots iniciar KDbg d'aquesta manera der a depurar aplicacions KDE 4, ja que les variables d'entorns per a l'aplicació depurada són incorrectes.

Consell



[edit] Problemes

Simptoma: kdevelop diu "cannot talk to klauncher". No pots obrir un fitxer.

Solució: afegeix la ruta de la teva llibreria KDE a LD_LIBRARY_PATH, p.e.:

export LD_LIBRARY_PATH=/opt/kde3/lib

[edit] Configurant KDevelop

Ara que KDevelop s'ha iniciat, necessites ajustar unes poques opcions. Ves a Settings->Configure KDevelop...->Documentation per a fer-ho. Esborra totes les entrades que no siguin rellevants per a la programació KDE 4.

{{{3}}}
 
noframe
Tot i que en aquesta secció s'empren variables d'entorn com ara $HOME, hauries de substituir-les per rutes reals perquè KDevelop no resol variables d'entorn.
Nota


Opcionalment, pots afegir la documentació de l'API kdelibs. Has de crear-la abans. Llavors afegeix la documentació prement Add.... En aquest diàleg, empra els següents paràmetres:

  • Type: Doxygen Documentation Collection (necessita posar-se primer)
  • Location: $KDE_SRC/KDE/kdelibs/kdelibs-apidocs/index.html

Ara afegeix la documentació de l'API Qt, que també ha de ser creada abans, emprant els següents paràmetres:

  • Type: Qt Documentation Collection (necessita posar-se primer)
  • Location: $HOME/qt-copy/doc/html/qt.dcf

Després de que hagis afegit kdelibs i la documentació de l'API de Qt, assegurat que tots els quadres de confirmació (TOC,Index and Search) estiguin marcats. Llavors, vers a la pestanya Full Text Search i assegura't que les rutes als executables htdig, htmerge i htsearch siguin correctes. Pots tancar llavors el diàleg de configuració.

Ara és hora d'obrir el projecte en el que vols treballar clicant a Project->Open Project.... Els fitxers del projecte es troben al directori de compliació. Per exemple, si vols treballar en Konsole,necessites obrir $KDE_BUILD/KDE/kdebase/apps/konsole/konsole.kdevelop. Ara necessites ajustar unes poques opcions especifiques del projecte a Project->Project Options. Necessites fer això cada vegada que comencis a treballar en un projecte diferent.

{{{3}}}
 
noframe

A vegades, un fitxer de projecte KDevelop no és present per la carpeta on vols treballar.

Això pot ser degut a diverses raons, depen de com són escrits els fitxers CMake. Normalment, els fitxers CMake que tenen la crida project(projectname) en ells solen funcionar bé. Una vegada estiguis suficientment familiaritzat amb CMake, pots provar d'afegir-hi la crida.

A workaround for this is to simply use the KDevelop project file of the parent folder, or even higher. In this case, you need to use the Make Active Directory entry in the context menu of the File Selector sidetab. With this, you can ignore the other unwanted folders when building and installing.

Nota


  • C++ Support->Code Completion
Here you need to add code completion databases for Qt and kdelibs, and more if you like, for example you might need a database for kdepimlibs when working on kdepim.
For kdelibs, click the Add... button and choose KDevelop Custom Directory PCS Importer, then add your KDE include directory ($HOME/kde/include) to the list and proceed. You can use the file selection dialog and the Add button to add it.
Now, add the database for Qt 4 by selecting KDevelop Qt4 PCS Importer this time. You need to select the Qt 4 include directory, which is $HOME/qt-copy/include.
noframe
 
Note
The Qt4 PCS Importer is only needed if you didn't install Qt4, i.e. you use it directly from the build directory. The drawback of using the Qt4 importer is that it doesn't show progress and the application seems to hang while it imports. The alternative is to use the Custom Directory PCS Importer for this too
  • C++ Support->Qt Options
Check Enable Qt options and choose Qt4 as your version. Set the QMake Binary path to $HOME/qt-copy/bin/qmake. Then choose Qt 4 style as Qt include syntax. Use $HOME/qt-copy/bin/designer as Designer Binary. Make sure to use the Change Plugin Paths dialog to add the plugin directory from KDE so you see the KDE widgets when designer is started. To do this add $HOME/kde/lib/kde4/plugins to the lineedit and then click the Add button.
  • Run Options
Make sure you use the correct binary as Executable. For example, if you want to run Konsole, this is $KDE_BUILD/KDE/kdebase/apps/konsole/src/konsole. You should add --nofork to the Debug Arguments or debugging some applications like KMail will not work at all.
Because the start3app functions changes some environment variables, you need to change them back here so the KDE 4 applications can be run without problems from within KDevelop.
For some applications, like Konsole, this is not strictly necessary, but others like KMail will crash if you do not change this.
Simply click the Add / Copy button to add new environment variables. You will need the following, which are the same as in your .bashrc:
Name Value
KDEHOME $HOME/.kde4
PATH $KDEDIR/bin:$QTDIR/bin:/usr/local/bin:$PATH
LD_LIBRARY_PATH $KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
KDETMP /tmp/$USER-kde4
KDEVARTMP /var/tmp/$USER-kde4
KDEDIR $HOME/kde
KDEDIRS $KDEDIR
LD_BIND_NOW 42


  • Build Options->Build
Make sure the correct build directory is selected. Again, for Konsole, this would be $KDE_BUILD/KDE/kdebase/apps/konsole.
  • Build Options->Make
You might want to check Abort on first error. You also might want to add VERBOSE= or VERBOSE=1 to Additional make options to control the level of verbosity for the build process.
If you have more than one processor or if you have access to an icecream cluster, you might want to check the Run multiple jobs option and set the Number of simultaneous jobs to the number of available processors. This increases the compile speed. It is the same as the -j option for make.
  • Formatting
You should set all options here to match the coding style of the project you are working on.
  • CTags->General
You need to correctly set the Path to ctags binary, which is /usr/bin/ctags on Debian-based systems.
You probably want to enable the When more than one hit, go directly to the first option.

Now you have finished adjusting your project-specific settings. Now you should remove some plugins you do not need, in Settings->Configure Plugins.... I for example disable the following plugins:

Abbreviation Expansion, Code Snippets, Doxygen Support, Embedded Konsole, File Tree, Final Packaging Support, "Open with" Menu Addon, QuickOpen, Regular Expression Tester, Scripting, Security Checker, Shell Filtering and Insertion, Text Structure and Tools Menu Addition.

You should at least disable the bold ones.

Now, open any source file if none is open already. This will enable the Settings->Configure Editor... entry, where you need to set the tab options to match the tab style used by the project you are working on. The important settings are:

  • Appearance->Borders->Show line numbers: Should be checked.
  • Appearance->Borders->Show icon border: Should be checked.
  • Editing->Tabulators
  • Editing->Static Word Wrap->Show marker: Should be checked
  • Indentation->Automatic Indentation->Indentation mode: Should be C Style
  • Indentation in general

In the mainwindow, click the CTags tab on the bottom tabbar, then click the Regenerate button to create a CTags database for easier source code navigation.

Now you have completed all essential configuration, congratulations!

[edit] Using KDevelop

Refer to the KDevelop manual for general help using KDevelop. The following section will only deal with special cases for KDE 4.

[edit] Debugging

KDE apps have many symbols, which means that you need a lot of memory to get a decent loading times for debugging. To quote a GDB developer: "I would be reluctant to debug KDE on something with <1GB RAM." If the stepping function of the debugger is slow for you, try the following tips:

  • Hide local variables. The Locals part of the variable tab on the left causes a big slowdown when stepping if you have many local variables. Simple collapse the Locals part of the tree, the local variables are then not updated every step. You can still examine variables by using the Evaluate expression function.
  • Use the patch at http://bugs.kde.org/show_bug.cgi?id=143977. It prevents the update of the framestack widget at each step, speeding up stepping considerably. The patch introduces some minor glitches, which is why it is not yet commited.
noframe
 
Note
KDevelop does not yet support modifing the CMake build system. This means you can not use KDevelop to add or remove files from the project or to change any other aspect of your project's build process. You need to modify the CMake files by hand and then rerun cmakekde instead. Read the CMake tutorial to learn how to do this.
Ktip.png
 
Tip
When you work on libraries, you first need to install them before you can test or debug your changes.

Since this is cumbersome and time consuming, you should create symlinks (ln -s) pointing from the build directory to the installation directory for all affected libraries.

Often, even simple programs use libraries internally, for example the settings dialog of Konsole is really a library.

This page was last modified on 15 July 2012, at 17:13. This page has been accessed 4,696 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal