Neverendingo (Talk | contribs) m (Text replace - "<code>" to "<syntaxhighlight lang="text">") |
Neverendingo (Talk | contribs) m (Text replace - "</code>" to "</syntaxhighlight>") |
||
| 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 <syntaxhighlight lang="bash">sux - kde-devel</ | + | 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 <syntaxhighlight lang="bash">kwrite</ | + | 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 <syntaxhighlight lang="bash">unset XDG_DATA_DIRS ; kbuildsycoca4</ | + | * 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 | ||
| − | <syntaxhighlight lang="bash">su - kde-devel</ | + | <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 | ||
| − | <syntaxhighlight lang="bash">export DISPLAY=:0</ | + | <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 <syntaxhighlight lang="bash">kwrite</ | + | 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 <syntaxhighlight lang="bash">unset XDG_DATA_DIRS ; kbuildsycoca4</ | + | * 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 | ||
| − | <syntaxhighlight lang="bash">sudo xhost +local:kde-devel</ | + | <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é: | ||
| − | <syntaxhighlight lang="text">ServerArgsLocal=-nolisten tcp</ | + | <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". | ||
| Line 67: | Line 67: | ||
#! /bin/sh | #! /bin/sh | ||
xhost +local:kde-devel | xhost +local:kde-devel | ||
| − | </ | + | </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: | ||
| − | <syntaxhighlight lang="bash">ssh -X kde-devel@localhost</ | + | <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: | ||
| − | <syntaxhighlight lang="bash">kwrite</ | + | <syntaxhighlight lang="bash">kwrite</syntaxhighlight> |
Les dues línies poden ser combinades convenientment: | Les dues línies poden ser combinades convenientment: | ||
| − | <syntaxhighlight lang="bash">ssh -X kde-devel@localhost kwrite</ | + | <syntaxhighlight lang="bash">ssh -X kde-devel@localhost kwrite</syntaxhighlight> |
{{Note (ca)| | {{Note (ca)| | ||
| Line 88: | Line 88: | ||
===== Identificació sense clau d'accés ===== | ===== 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: | 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: | ||
| − | <syntaxhighlight lang="bash">ssh-keygen -t rsa</ | + | <syntaxhighlight lang="bash">ssh-keygen -t rsa</syntaxhighlight> |
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: | 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: | ||
| − | <syntaxhighlight lang="bash">cat ~/.ssh/id_rsa.pub</ | + | <syntaxhighlight lang="bash">cat ~/.ssh/id_rsa.pub</syntaxhighlight> |
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}}: | 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 | ||
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: | 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: | ||
| − | <syntaxhighlight lang="bash">ssh -X kde-devel@localhost $HOME/kde/bin/kwrite</ | + | <syntaxhighlight lang="bash">ssh -X kde-devel@localhost $HOME/kde/bin/kwrite</syntaxhighlight> |
{{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 | {{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 | ||
| − | <syntaxhighlight lang="bash">chmod og-xrw ~/.ssh/id_rsa</ | + | <syntaxhighlight lang="bash">chmod og-xrw ~/.ssh/id_rsa</syntaxhighlight>(tot i que el fitxer hauria de tenir aquests permissos quan és creat)}} |
===== El fitxer d'escriptori SSH ===== | ===== El fitxer d'escriptori SSH ===== | ||
| Line 107: | Line 107: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ssh -X kde-devel@localhost $HOME/kde/bin/ | ssh -X kde-devel@localhost $HOME/kde/bin/ | ||
| − | </ | + | </syntaxhighlight> |
Un fitxer .desktop senzill que executa KWrite contindria el següent: | Un fitxer .desktop senzill que executa KWrite contindria el següent: | ||
| Line 133: | Line 133: | ||
X-KDE-SubstituteUID=false | X-KDE-SubstituteUID=false | ||
X-KDE-Username= | X-KDE-Username= | ||
| − | </ | + | </syntaxhighlight> |
{{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}} | {{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}} | ||
| Line 164: | Line 164: | ||
export PATH=$KDEDIR/bin/:$PATH | export PATH=$KDEDIR/bin/:$PATH | ||
export KDEHOME=~/.kde4 | export KDEHOME=~/.kde4 | ||
| − | </ | + | </syntaxhighlight> |
Pots també emprar Xephyr amb KDM mitjançant el protocol Xdmcp i senzillament una nova sessió a KDM. | Pots també emprar Xephyr amb KDM mitjançant el protocol Xdmcp i senzillament una nova sessió a KDM. | ||
| Line 175: | Line 175: | ||
# Default is true | # Default is true | ||
Enable=false | Enable=false | ||
| − | </ | + | </syntaxhighlight> |
in {{path|/etc/kde3/kdm/kdmrc}} to | in {{path|/etc/kde3/kdm/kdmrc}} to | ||
| Line 184: | Line 184: | ||
# Default is true | # Default is true | ||
Enable=true | Enable=true | ||
| − | </ | + | </syntaxhighlight> |
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. | 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. | ||
| Line 196: | Line 196: | ||
{{Note (ca)|Si reps molts errors de connexió refusada, pots voler emprar l'opció -ac a Xephyr. Per exemple: | {{Note (ca)|Si reps molts errors de connexió refusada, pots voler emprar l'opció -ac a Xephyr. Per exemple: | ||
| − | <syntaxhighlight lang="text">Xephyr -ac :1&</ | + | <syntaxhighlight lang="text">Xephyr -ac :1&</syntaxhighlight> |
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: | 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: | ||
| − | <syntaxhighlight lang="text">xhost +local:kde-devel</ | + | <syntaxhighlight lang="text">xhost +local:kde-devel</syntaxhighlight> |
Si no tens Xephyr, pots també emprar Xnest: | Si no tens Xephyr, pots també emprar Xnest: | ||
| − | <syntaxhighlight lang="text">Xnest -ac :1& export DISPLAY=:1</ | + | <syntaxhighlight lang="text">Xnest -ac :1& export DISPLAY=:1</syntaxhighlight> |
}} | }} | ||
<BR> | <BR> | ||
| Line 250: | Line 250: | ||
TryExec=$HOME/kde/bin/startkde | TryExec=$HOME/kde/bin/startkde | ||
Name=KDE4 | Name=KDE4 | ||
| − | </ | + | </syntaxhighlight> |
Substitueix {{path|$HOME/kde}} a l'exemple de sobre amb el prefixe d'on estàs instal·lant KDE4. | Substitueix {{path|$HOME/kde}} a l'exemple de sobre amb el prefixe d'on estàs instal·lant KDE4. | ||
| Line 258: | Line 258: | ||
Pots haver d'editar els teus scripts startkde, | Pots haver d'editar els teus scripts startkde, | ||
pe: canivar això | pe: canivar això | ||
| − | <syntaxhighlight lang="ini">kdehome=$HOME/.kde</ | + | <syntaxhighlight lang="ini">kdehome=$HOME/.kde</syntaxhighlight> |
a això | a això | ||
| − | <syntaxhighlight lang="ini">kdehome=$HOME/.kde4</ | + | <syntaxhighlight lang="ini">kdehome=$HOME/.kde4</syntaxhighlight> |
o enganxar això | o enganxar això | ||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
| Line 267: | Line 267: | ||
export PATH=$KDEDIR/bin/:$PATH | export PATH=$KDEDIR/bin/:$PATH | ||
export KDEHOME=~/.kde4 | export KDEHOME=~/.kde4 | ||
| − | </ | + | </syntaxhighlight> |
al cap d'amunt. | al cap d'amunt. | ||
| Line 301: | Line 301: | ||
make && \ | make && \ | ||
make install; | make install; | ||
| − | </ | + | </syntaxhighlight> |
per | per | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Line 308: | Line 308: | ||
make && \ | make && \ | ||
make install; | make install; | ||
| − | </ | + | </syntaxhighlight> |
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. | 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. | ||
| Line 329: | Line 329: | ||
source $HOME/.bashrc #Reset environment variables again | source $HOME/.bashrc #Reset environment variables again | ||
} | } | ||
| − | </ | + | </syntaxhighlight> |
| − | 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</ | + | 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: |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
kde-config --prefix | kde-config --prefix | ||
/opt/kde3 | /opt/kde3 | ||
| − | </ | + | </syntaxhighlight> |
Ara hauries de ser capaç d'iniciar KDevelop escrivint <tt>start3app kdevelop</tt>. Fes-ho ara. | Ara hauries de ser capaç d'iniciar KDevelop escrivint <tt>start3app kdevelop</tt>. Fes-ho ara. | ||
Contents |
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
| Sèrie de Tutorials | Començant |
| Prerequisits | Compilant KDE 4 |
| Què ve després | Altres temes de desenvolupament |
| Referències | n/a |
| Aquesta plana assumeix que ha compilat kdelibs, kdepimlibs, i kdebase d'acord amb aquestes instructions |
|---|
| Nota |
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.
|
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 |
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, escriusux - kde-devel
kwrite
|
Si obtens errors sobre mimetypes que manquen o així, prova el següent:
|
|---|
| Nota |
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-develi llavors, després d'entrar la teva clau d'accés
export DISPLAY=:0
| Exportant la variable DISPLAY és necessari per a que les aplicacions KDE 4 apareguin el teu escriptori KDE 3. |
|---|
| Nota |
kwrite
|
Si obtens errors sobre mimetypes que manquen o així, prova el següent:
|
|---|
| Nota |
|
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 |
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
|
Si això et dona qualsevol error, prova els consells per a problemes de la secció de sobre. |
|---|
| Nota |
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
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 |
|---|
| Avís |
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.
| 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=
| 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 |
| 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 |
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.
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 |
|
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.
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
| 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.
| 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 |
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ó.
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.
| 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
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 }
echo $PATH
echo $LD_LIBRARY_PATH
kde-config --prefix /opt/kde3
Ara hauries de ser capaç d'iniciar KDevelop escrivint start3app kdevelop. Fes-ho ara.
|
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 |
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
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.
| 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:
Ara afegeix la documentació de l'API Qt, que també ha de ser creada abans, emprant els següents paràmetres:
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.
|
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 |
| 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 |
| 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 |
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:
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!
Refer to the KDevelop manual for general help using KDevelop. The following section will only deal with special cases for KDE 4.
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:
| 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. |
| 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. |