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

Jump to: navigation, search
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Getting_Started/Set_up_KDE_4_for_development}}
+
 
 
{{TutorialBrowser|
 
{{TutorialBrowser|
  
Line 35: Line 35:
 
Para este método, é necessária a ferramenta '''sux''' (http://fgouget.free.fr/sux/sux-readme.shtml). '''sux''' está disponível na maioria das distribuições. De outro modo você pode contar com o método abaixo ''shell normal sem sux''. '''sux''' permite que você mude para outro usuário com um gerenciamento implícito dos detalhes de encaminhamento de X (autenticação e exportação de DISPLAY) de uma forma clara e simples.
 
Para este método, é necessária a ferramenta '''sux''' (http://fgouget.free.fr/sux/sux-readme.shtml). '''sux''' está disponível na maioria das distribuições. De outro modo você pode contar com o método abaixo ''shell normal sem sux''. '''sux''' permite que você mude para outro usuário com um gerenciamento implícito dos detalhes de encaminhamento de X (autenticação e exportação de DISPLAY) de uma forma clara e simples.
  
Para fazer o login, digite <code bash>sux - kde-devel</code>
+
Para fazer o login, digite <syntaxhighlight lang="bash">sux - kde-devel</syntaxhighlight>
  
Todas as variáveis de ambiente e todo o resto devem ser configurados corretamente pelo seu{{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Para iniciar um aplicativo, basta digitar seu nome; por exemplo <code bash>kwrite</code>
+
Todas as variáveis de ambiente e todo o resto devem ser configurados corretamente pelo seu{{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Para iniciar um aplicativo, basta digitar seu nome; por exemplo <syntaxhighlight lang="bash">kwrite</syntaxhighlight>
 
{{Nota|
 
{{Nota|
 
Se você receber erros sobre mimetypes ausentes ou algo parecido, tente o seguinte:
 
Se você receber erros sobre mimetypes ausentes ou algo parecido, tente o seguinte:
* execute <code bash>unset XDG_DATA_DIRS ; kbuildsycoca4</code>
+
* execute <syntaxhighlight lang="bash">unset XDG_DATA_DIRS ; kbuildsycoca4</syntaxhighlight>
 
}}
 
}}
  
Line 46: Line 46:
 
O método mais simples para iniciar aplicativos do KDE 4 é usando <tt>su</tt> para logar como usuário <tt>kde-devel</tt> e, em seguida, iniciar qualquer aplicativo do KDE 4 a partir da linha de comando. Para fazer o login, digite
 
O método mais simples para iniciar aplicativos do KDE 4 é usando <tt>su</tt> para logar como usuário <tt>kde-devel</tt> e, em seguida, iniciar qualquer aplicativo do KDE 4 a partir da linha de comando. Para fazer o login, digite
  
<code bash>su - kde-devel</code>
+
<syntaxhighlight lang="bash">su - kde-devel</syntaxhighlight>
  
 
e, em seguida, depois de digitar sua senha  
 
e, em seguida, depois de digitar sua senha  
<code bash>export DISPLAY=:0</code>
+
<syntaxhighlight lang="bash">export DISPLAY=:0</syntaxhighlight>
 
{{Nota|A exportação da variável  <tt>DISPLAY</tt> é necessária para que os aplicativos do KDE 4 apareçam normalmente no seu KDE 3 desktop.}}
 
{{Nota|A exportação da variável  <tt>DISPLAY</tt> é necessária para que os aplicativos do KDE 4 apareçam normalmente no seu KDE 3 desktop.}}
Todas as variáveis de ambiente e todo o resto devem ser configurados corretamente pelo seu {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Para iniciar um aplicativo, basta digitar seu nome; por exemplo <code bash>kwrite</code>
+
Todas as variáveis de ambiente e todo o resto devem ser configurados corretamente pelo seu {{path|[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|.bashrc]]}}. Para iniciar um aplicativo, basta digitar seu nome; por exemplo <syntaxhighlight lang="bash">kwrite</syntaxhighlight>
 
{{Nota|
 
{{Nota|
 
Se você receber erros sobre mimetypes ausentes ou algo parecido, tente o seguinte:
 
Se você receber erros sobre mimetypes ausentes ou algo parecido, tente o seguinte:
* execute <code bash>unset XDG_DATA_DIRS ; kbuildsycoca4</code>
+
* execute <syntaxhighlight lang="bash">unset XDG_DATA_DIRS ; kbuildsycoca4</syntaxhighlight>
 
}}
 
}}
 
{{Nota|
 
{{Nota|
 
Se você receber um erro sobre não ser possível se conectar a um servidor X, certifique-se disso emitindo:
 
Se você receber um erro sobre não ser possível se conectar a um servidor X, certifique-se disso emitindo:
<code bash>sudo xhost +local:kde-devel</code>
+
<syntaxhighlight lang="bash">sudo xhost +local:kde-devel</syntaxhighlight>
 
como usuário normal do seu KDE 3 para garantir que o aplicativo possa se conectar a sua sessão do X atual.
 
como usuário normal do seu KDE 3 para garantir que o aplicativo possa se conectar a sua sessão do X atual.
  
 
Apesar de seu servidor X aceitar conexões TCP, isto é frequentemente desligado como um padrão de distribuição (como no Kubuntu Feisty). Ao usar o <tt>kdm</tt> você deve editar <tt>/etc/kde3/kdm/kdmrc</tt> como root e se certificar de que não contêm:
 
Apesar de seu servidor X aceitar conexões TCP, isto é frequentemente desligado como um padrão de distribuição (como no Kubuntu Feisty). Ao usar o <tt>kdm</tt> você deve editar <tt>/etc/kde3/kdm/kdmrc</tt> como root e se certificar de que não contêm:
<code>ServerArgsLocal=-nolisten tcp</code>
+
<syntaxhighlight lang="text">ServerArgsLocal=-nolisten tcp</syntaxhighlight>
 
Depois de ter corrigido isso, você precisará reiniciar o servidor X. O comando <tt>xhost</tt> não deve mais retornar um erro "Unable to open display".
 
Depois de ter corrigido isso, você precisará reiniciar o servidor X. O comando <tt>xhost</tt> não deve mais retornar um erro "Unable to open display".
  
 
Para maior comodidade, você deve colocar isso no Autostart do seu usuário normal. Para fazer isso, crie um novo arquivo no diretório <tt>$HOME/.kde/Autostart</tt> de seu usuário normal com o seguinte conteúdo:
 
Para maior comodidade, você deve colocar isso no Autostart do seu usuário normal. Para fazer isso, crie um novo arquivo no diretório <tt>$HOME/.kde/Autostart</tt> de seu usuário normal com o seguinte conteúdo:
<code bash>
+
<syntaxhighlight lang="bash">
 
#! /bin/sh
 
#! /bin/sh
 
xhost +local:kde-devel
 
xhost +local:kde-devel
</code>
+
</syntaxhighlight>
 
Certifique-se que o novo arquivo é executável usando <tt>chmod +x</tt> nele.
 
Certifique-se que o novo arquivo é executável usando <tt>chmod +x</tt> nele.
  
Line 78: Line 78:
  
 
A maneira mais simples de executar um aplicativo do KDE 4 com SSH em seu ambiente de trabalho é obter um shell capaz de perceber que roda dentro do X  como um usuário <tt>kde-devel</tt> como este:
 
A maneira mais simples de executar um aplicativo do KDE 4 com SSH em seu ambiente de trabalho é obter um shell capaz de perceber que roda dentro do X  como um usuário <tt>kde-devel</tt> como este:
<code bash>ssh -X kde-devel@localhost</code>
+
<syntaxhighlight lang="bash">ssh -X kde-devel@localhost</syntaxhighlight>
 
Agora você pode executar aplicativos do KDE apps como de costume, por exemplo:
 
Agora você pode executar aplicativos do KDE apps como de costume, por exemplo:
<code bash>kwrite</code>
+
<syntaxhighlight lang="bash">kwrite</syntaxhighlight>
 
As duas linhas podem ser convenientemente combinadas:
 
As duas linhas podem ser convenientemente combinadas:
<code bash>ssh -X kde-devel@localhost kwrite</code>
+
<syntaxhighlight lang="bash">ssh -X kde-devel@localhost kwrite</syntaxhighlight>
  
 
{{Nota|
 
{{Nota|
Line 90: Line 90:
 
===== Login sem senha =====
 
===== Login sem senha =====
 
Antes de fazer qualquer coisa importante usando este método, um login sem senha precisa ser configurado. Para começar, execute o seguinte comando como usuário normal do desktop:
 
Antes de fazer qualquer coisa importante usando este método, um login sem senha precisa ser configurado. Para começar, execute o seguinte comando como usuário normal do desktop:
<code bash>ssh-keygen -t rsa</code>
+
<syntaxhighlight lang="bash">ssh-keygen -t rsa</syntaxhighlight>
 
Aperte enter três vezes para aceitar o caminho de {{path|~/.ssh/id_rsa}} e uma senha vazia. Agora, copie a única linha no {{path|~/.ssh/id_rsa.pub}} que é exibida depois da execução deste comando:
 
Aperte enter três vezes para aceitar o caminho de {{path|~/.ssh/id_rsa}} e uma senha vazia. Agora, copie a única linha no {{path|~/.ssh/id_rsa.pub}} que é exibida depois da execução deste comando:
<code bash>cat ~/.ssh/id_rsa.pub</code>
+
<syntaxhighlight lang="bash">cat ~/.ssh/id_rsa.pub</syntaxhighlight>
 
Depois que a linha for copiada, volte ao <tt>ssh</tt> no usuário <tt>kde-devel</tt> e coloque-a no arquivo {{path|$HOME/.ssh/authorized_keys}}:
 
Depois que a linha for copiada, volte ao <tt>ssh</tt> no usuário <tt>kde-devel</tt> e coloque-a no arquivo {{path|$HOME/.ssh/authorized_keys}}:
<code bash>ssh -X kde-devel@localhost $HOME/kde/bin/kwrite \
+
<syntaxhighlight lang="bash">ssh -X kde-devel@localhost $HOME/kde/bin/kwrite \
   $HOME/.ssh/authorized_keys</code>
+
   $HOME/.ssh/authorized_keys</syntaxhighlight>
 
Cole na linha, salve o arquivo, e saia do KWrite.
 
Cole na linha, salve o arquivo, e saia do KWrite.
  
 
Em seguida certifique-se de que {{path|$HOME/.ssh/authorized_keys}} tem as permissões corretas:
 
Em seguida certifique-se de que {{path|$HOME/.ssh/authorized_keys}} tem as permissões corretas:
<code bash>ssh kde-devel@localhost chmod og-xrw ~kde-devel/.ssh/authorized_keys</code>
+
<syntaxhighlight lang="bash">ssh kde-devel@localhost chmod og-xrw ~kde-devel/.ssh/authorized_keys</syntaxhighlight>
 
Agora tente executar KWrite novamente com o mesmo comando SSH, você não deve mais ter que digitar uma senha:
 
Agora tente executar KWrite novamente com o mesmo comando SSH, você não deve mais ter que digitar uma senha:
<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 (pt BR)|Ao usar um login SSH sem senha existem certos '''riscos de segurança''', então assegure a proteção de seu arquivo <tt>~/.ssh/id_rsa</tt> restringindo o acesso a ele com  
 
{{warning (pt BR)|Ao usar um login SSH sem senha existem certos '''riscos de segurança''', então assegure a proteção de seu arquivo <tt>~/.ssh/id_rsa</tt> restringindo o acesso a ele com  
<code bash>chmod og-xrw ~/.ssh/id_rsa</code>(embora o arquivo deva ter essas permissões quando é criado)}}
+
<syntaxhighlight lang="bash">chmod og-xrw ~/.ssh/id_rsa</syntaxhighlight>(embora o arquivo deva ter essas permissões quando é criado)}}
  
 
===== O arquivo SSH desktop =====
 
===== O arquivo SSH desktop =====
Line 111: Line 111:
  
 
Você pode começar com um arquivo .desktop existente como modelo (como um de seu desktop) ou você pode criar um novo. A ideia principal é prefixar o comando a ser executado com esta string:
 
Você pode começar com um arquivo .desktop existente como modelo (como um de seu desktop) ou você pode criar um novo. A ideia principal é prefixar o comando a ser executado com esta string:
<code bash>
+
<syntaxhighlight lang="bash">
 
ssh -X kde-devel@localhost $HOME/kde/bin/
 
ssh -X kde-devel@localhost $HOME/kde/bin/
</code>
+
</syntaxhighlight>
  
 
Um simples arquivo .desktop que roda KWrite teria o seguinte conteúdo:
 
Um simples arquivo .desktop que roda KWrite teria o seguinte conteúdo:
  
<code ini>
+
<syntaxhighlight lang="ini">
 
[Desktop Entry]
 
[Desktop Entry]
 
Categories=Qt;KDE;TextEditor;
 
Categories=Qt;KDE;TextEditor;
Line 139: Line 139:
 
X-KDE-SubstituteUID=false
 
X-KDE-SubstituteUID=false
 
X-KDE-Username=
 
X-KDE-Username=
</code>
+
</syntaxhighlight>
  
 
{{Tip (pt BR)|Aplicativos iniciados usando o SSH como esse não provocam o correto lançamento de respostas, então você provavelmente vai querer desativar "feedback de lançamento" para o seu arquivo .desktop}}
 
{{Tip (pt BR)|Aplicativos iniciados usando o SSH como esse não provocam o correto lançamento de respostas, então você provavelmente vai querer desativar "feedback de lançamento" para o seu arquivo .desktop}}
Line 160: Line 160:
 
Agora você já pode iniciar o KDE:
 
Agora você já pode iniciar o KDE:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
su - $USER
 
su - $USER
 
export DISPLAY=:1
 
export DISPLAY=:1
 
/path/to/kde4/bin/startkde-modified &
 
/path/to/kde4/bin/startkde-modified &
</code>
+
</syntaxhighlight>
  
 
startkde-modified é uma cópia de startkde-script que incluem as seguintes linhas no topo:
 
startkde-modified é uma cópia de startkde-script que incluem as seguintes linhas no topo:
  
<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>
  
 
Você também pode usar Xephyr com KDM através do protocolo Xdmcp e simplesmente uma nova sessão do KDE 4 para KDM.
 
Você também pode usar Xephyr com KDM através do protocolo Xdmcp e simplesmente uma nova sessão do KDE 4 para KDM.
Line 179: Line 179:
 
No Kubuntu, você pode habilitá-lo alterando
 
No Kubuntu, você pode habilitá-lo alterando
  
<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>
  
 
em {{path|/etc/kde3/kdm/kdmrc}} para
 
em {{path|/etc/kde3/kdm/kdmrc}} para
  
<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>
  
 
e ajustar seu {{path|/etc/kde3/kdm/Xaccess}} para permitir seu acesso à máquina local. Além disso, você deve certificar-se de criar uma política de bloqueio de porta em todas as interfaces externas para a porta Xdmcp, se você está fazendo isto em um laptop ou um PC em um ambiente não confiável.
 
e ajustar seu {{path|/etc/kde3/kdm/Xaccess}} para permitir seu acesso à máquina local. Além disso, você deve certificar-se de criar uma política de bloqueio de porta em todas as interfaces externas para a porta Xdmcp, se você está fazendo isto em um laptop ou um PC em um ambiente não confiável.
Line 255: Line 255:
 
ou você pode adicioná-lo ao seu gerenciador de login. Se você estiver usando o KDM (ou um gerenciador de login compatível) isso é feito criando um arquivo .desktop em {{path|`kde-config --prefix`/share/apps/kdm/sessions/}} ou em {{path|/usr/share/xsessions/}}. A melhor coisa a fazer é copiar um arquivo existente {{path|kde.desktop}} e nomeá-lo {{path|kde4.desktop}}. Abra esse novo arquivo .desktop em um editor de texto e mude o <tt>Exec</tt>, <tt>TryExec</tt> e <tt>Name</tt> entradas para algo parecido com isso:
 
ou você pode adicioná-lo ao seu gerenciador de login. Se você estiver usando o KDM (ou um gerenciador de login compatível) isso é feito criando um arquivo .desktop em {{path|`kde-config --prefix`/share/apps/kdm/sessions/}} ou em {{path|/usr/share/xsessions/}}. A melhor coisa a fazer é copiar um arquivo existente {{path|kde.desktop}} e nomeá-lo {{path|kde4.desktop}}. Abra esse novo arquivo .desktop em um editor de texto e mude o <tt>Exec</tt>, <tt>TryExec</tt> e <tt>Name</tt> entradas para algo parecido com isso:
  
<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>
  
 
Substitua {{path|$HOME/kde}} no exemplo acima pelo prefixo no qual você está instalando o KDE4.
 
Substitua {{path|$HOME/kde}} no exemplo acima pelo prefixo no qual você está instalando o KDE4.
Line 269: Line 269:
  
 
esse
 
esse
<code ini>kdehome=$HOME/.kde</code>
+
<syntaxhighlight lang="ini">kdehome=$HOME/.kde</syntaxhighlight>
 
para esse
 
para esse
<code ini>kdehome=$HOME/.kde4</code>
+
<syntaxhighlight lang="ini">kdehome=$HOME/.kde4</syntaxhighlight>
 
ou colar esse  
 
ou colar esse  
<code ini>
+
<syntaxhighlight lang="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>
 
no topo.
 
no topo.
  
Line 307: Line 307:
  
 
KDevelop não tem suporte nativo para projetos CMake. Felizmente, o CMake tem a capacidade de gerar arquivos próprios de projeto do KDevelop. Se quiser fazer isso, você precisa passar a bandeira ''-GKDevelop3'' para o comando ''cmake''. Isto diz ao CMake para gerar arquivos de projeto para o KDevelop ao lado do makefiles normal. A melhor maneira de fazer isto é alterar a sua função ''cmakekde'' no seu [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]]. Basta alterar
 
KDevelop não tem suporte nativo para projetos CMake. Felizmente, o CMake tem a capacidade de gerar arquivos próprios de projeto do KDevelop. Se quiser fazer isso, você precisa passar a bandeira ''-GKDevelop3'' para o comando ''cmake''. Isto diz ao CMake para gerar arquivos de projeto para o KDevelop ao lado do makefiles normal. A melhor maneira de fazer isto é alterar a sua função ''cmakekde'' no seu [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|{{path|.bashrc}}]]. Basta alterar
<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>
 
para
 
para
<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>
  
 
Depois de ter feito isso, faça o login novamente para que as alterações no arquivo {{path|.bashrc}} tenham efeito. Então você precisa executar novamente o ''cmakekde'' no (root) diretório de compilação do projeto se você quer trabalhar com KDevelop (se você não usa ''-GKDevelop3'' na [[Getting_Started/Build/KDE4#Setting_up_the_environment|etapa de compilação]]). Por exemplo, se você quiser trabalhar com o Konsole, que existe no ''kdebase'', você precisa executar cmakekde no diretório {{path|$KDE_BUILD/KDE/kdebase}}. Este, infelizmente, reconstrói tudo completamente, mas apenas uma vez quando você alterar o gerador.
 
Depois de ter feito isso, faça o login novamente para que as alterações no arquivo {{path|.bashrc}} tenham efeito. Então você precisa executar novamente o ''cmakekde'' no (root) diretório de compilação do projeto se você quer trabalhar com KDevelop (se você não usa ''-GKDevelop3'' na [[Getting_Started/Build/KDE4#Setting_up_the_environment|etapa de compilação]]). Por exemplo, se você quiser trabalhar com o Konsole, que existe no ''kdebase'', você precisa executar cmakekde no diretório {{path|$KDE_BUILD/KDE/kdebase}}. Este, infelizmente, reconstrói tudo completamente, mas apenas uma vez quando você alterar o gerador.
Line 326: Line 326:
 
Uma maneira simples de fazer isso é adicionar a seguinte função para o seu {{path|.bashrc}}:
 
Uma maneira simples de fazer isso é adicionar a seguinte função para o seu {{path|.bashrc}}:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
function start3app {
 
function start3app {
 
   mkdir -p /tmp/$USER-kde
 
   mkdir -p /tmp/$USER-kde
Line 340: Line 340:
 
   source $HOME/.bashrc  #Reset environment variables again
 
   source $HOME/.bashrc  #Reset environment variables again
 
}
 
}
</code>
+
</syntaxhighlight>
  
As variáveis ''PATH'' e ''LD_LIBRARY_PATH'' são tomadas do usuário do KDE 3, e elas podem ser diferentes em seu sistema. Digite <code bash>echo $PATH</code> e <code bash>echo $LD_LIBRARY_PATH</code> como usuário KDE 3 normal para obter esses valores. A função acima assume que o KDE 3 está instalado no prefixo {{path|/usr}}, como é o caso em sistemas baseados em Debian. Se o seu KDE 3 está instalado em um prefixo diferente,você precisa alterar a configuração da linha ''KDEDIR''. Aqui está um exemplo de como descobrir o seu prefixo de instalação KDE; neste exemplo ele é /opt/kde3:
+
As variáveis ''PATH'' e ''LD_LIBRARY_PATH'' são tomadas do usuário do KDE 3, e elas podem ser diferentes em seu sistema. Digite <syntaxhighlight lang="bash">echo $PATH</syntaxhighlight> e <syntaxhighlight lang="bash">echo $LD_LIBRARY_PATH</syntaxhighlight> como usuário KDE 3 normal para obter esses valores. A função acima assume que o KDE 3 está instalado no prefixo {{path|/usr}}, como é o caso em sistemas baseados em Debian. Se o seu KDE 3 está instalado em um prefixo diferente,você precisa alterar a configuração da linha ''KDEDIR''. Aqui está um exemplo de como descobrir o seu prefixo de instalação KDE; neste exemplo ele é /opt/kde3:
  
<code bash>
+
<syntaxhighlight lang="bash">
 
kde-config --prefix
 
kde-config --prefix
 
/opt/kde3
 
/opt/kde3
</code>
+
</syntaxhighlight>
  
 
Agora você deve ser capaz de iniciar o KDevelop digitando <tt>start3app kdevelop</tt>. Faça isso agora.
 
Agora você deve ser capaz de iniciar o KDevelop digitando <tt>start3app kdevelop</tt>. Faça isso agora.
Line 559: Line 559:
 
==== Know-How ====
 
==== Know-How ====
  
===== Custom builders =====
+
===== Compiladores personalizados =====
  
If you want to integrate the cmake build step into your build toolchain, you will need to
+
Se você quiser integrar a etapa de compilação do cmake ao seu conjunto de ferramentas de compilação, você precisará
* create a custom ''builder'' like this:
+
* criar um ''compilador'' personalizado como esse:
 
  cat >/bin/eclipsebuild<<EOF
 
  cat >/bin/eclipsebuild<<EOF
 
  cmake . && make -j4 && make install
 
  cmake . && make -j4 && make install
Line 568: Line 568:
 
  chmod 777 /bin/eclipsebuild
 
  chmod 777 /bin/eclipsebuild
  
* Add your builder
+
* Adicionar seu compilador
: Choose Project -> Properties -> Builders. Un-tag all existing builders. Click "new" -> Program -> (name it "Builder for KDE"). -> Location: /bin/eclipsebuild -> Working directory /home/user/workspace/myproject1/kdepim.
+
: Escolha o Projeto -> Propriedades -> Compiladores. Desmarque todos os compiladores existentes. Clique "new" -> Programa -> (nomeie-o "Builder for KDE"). -> Localização: /bin/eclipsebuild -> Diretório de trabalho /home/user/workspace/myproject1/kdepim.
  
* Build
+
* Compilação
: Now you can build your project. Every time after you restarted eclipse, choose myproject1 -> Project -> Properties -> C/C++ Build -> Ok -> Project -> Build.
+
: Agora você pode compilar seu projeto. Toda vez depois de reiniciar o eclipse, escolha myproject1 -> Projeto -> Propriedades -> C/C++ Compilador -> Ok -> Projeto -> Compilação.
  
===== Revert what eclipse did =====
+
===== Revertendo o que o eclipse fez =====
  
To revert what eclipse did to your project simply run
+
Para reverter o que o eclipse fez no seu projeto basta executar
 
  rm -rf .externalToolBuilders/ .project .cproject
 
  rm -rf .externalToolBuilders/ .project .cproject
  
===== Why Subversion does not work =====
+
===== Por que o Subversion não funciona =====
  
When using eclipse's svn plugin and building a KDE program, you will get error messages complaining that your svn binary is too old. If you want to try and change this, here's how you get to that error:
+
Ao usar o plugin do eclipse para o svn e compilar um programa do KDE, você receberá mensagens de erro reclamando que seu binário svn é muito antigo.Se você quiser tentar mudar isso, aqui está o modo como você pode chegar a esse erro:
  
* Install the subversion plug-ins
+
* Instale os plugins do subversion
: Help -> Software Updates -> Available Software -> Add Site -> http://download.eclipse.org/technology/subversive/0.7/update-site/ -> Add Site -> http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
+
: Ajuda -> Atualizações do Software -> Software Disponível -> Adicionar Site -> http://download.eclipse.org/technology/subversive/0.7/update-site/ -> Adicionar Site -> http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
  
: Now add it: Subversive Site -> Subversive SVN Team Provider Plugin  
+
: Agora adicioná-lo: Subversive Site -> Subversive SVN Team Provider Plugin  
  
 
: Subversive SVN Connectors Site -> Subversive SVN Connectors -> SVNKit 1.3.0 Implementation (Optional)  
 
: Subversive SVN Connectors Site -> Subversive SVN Connectors -> SVNKit 1.3.0 Implementation (Optional)  
  
* Click on Install
+
* Cliquem em Instalar
  
* Restart eclipse
+
* Reinicie o eclipse
  
* Import your KDE module
+
* Importe seu KDE module
: Choose File -> New -> Other -> SVN -> Project from SVN -> https://svn.kde.org/home/kde/trunk/KDE/kdepim -> Check out as project configured using the New Project Wizard -> C++ Project -> Makefile Project -> Empty Project. As name, we choose kdepim5 -> Finish
+
: Escolha File -> New -> Other -> SVN -> Project from SVN -> https://svn.kde.org/home/kde/trunk/KDE/kdepim -> Confira como o projeto foi configurado usando o New Project Wizard -> C++ Project -> Makefile Project -> Empty Project. Como nome, nós escolhemos kdepim5 -> Finalize
  
* Set cmake as build environment
+
* Definir cmake como meio de compilação
: Choose Project -> Properties -> C/C++ Build -> Builder Settings. Un-tag "use default build command", set "cmake" instead. Choose Project -> Properties -> C/C++ Build -> Behavior. Replace "all" by ".".
+
: Escolha Project -> Properties -> C/C++ Build -> Builder Settings. Desmarque "use default build command", então defina "cmake". Escolha Project -> Properties -> C/C++ Build -> Behavior. Substitua "all" por ".".
  
==== See also ====
+
==== Veja também ====
  
 
* http://javathreads.de/2008/07/subversion-unter-eclipse-ganymede-konfigurieren/
 
* http://javathreads.de/2008/07/subversion-unter-eclipse-ganymede-konfigurieren/
Line 606: Line 606:
  
 
=== QtCreator ===
 
=== QtCreator ===
This describes how to use QtCreator to develop KDE 4 applications. It has been tested with QtCreator 1.2.80 and SUSE Linux 11.1 but should work same or similar with every combination. As an example KDE application we use [http://userbase.kde.org/ktimetracker ktimetracker] from the kdepim module, other applications should work same or similar.
+
Este artigo descreve como usar QtCreator para desenvolver aplicativos do KDE 4. Ele foi testado com QtCreator 1.2.80 e SUSE Linux 11.1 mas deve funcionar da mesma forma ou parecido com toda combinação. Como um exemplo de aplicativo do KDE nós usamos [http://userbase.kde.org/ktimetracker ktimetracker] do kdepim module, outros aplicativos devem funcionar da mesma forma ou parecido.
  
==== Load an existing project ====
+
==== Carregando um projeto existente ====
As discussed here we use ktimetracker as example project.
+
Como foi dito aqui usamos ktimetracker como exemplo de projeto.
* Import the CMakeLists.txt file
+
* Importe o arquivo CMakeLists.txt  
 
File -> Open -> kdepim/CMakeLists.txt.
 
File -> Open -> kdepim/CMakeLists.txt.
* Configure qtcreator to build only ktimetracker
+
* Configure o qtcreator para compilar somente o ktimetracker
 
Projects -> ktimetracker -> build settings -> Add a configuration ktimetracker.
 
Projects -> ktimetracker -> build settings -> Add a configuration ktimetracker.
  
As build directory choose kdepim. As arguments for cmake use e.g.
+
Como diretório de compilação escolha kdepim. Como argumentos para o cmake use, por exemplo
 
  . -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_SUFFIX=64 -DCMAKE_BUILD_TYPE=debugfull
 
  . -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_SUFFIX=64 -DCMAKE_BUILD_TYPE=debugfull
  
==== Start a KDE project ====  
+
==== Iniciar um projeto KDE ====  
To start a new project you need to tell qtcreator to use the KDE libraries when building. So, choose File -> New... and create your project. We will call it ''yourproject'' here. To be able to use KDE's libraries, go to your home directory, cd into ''yourproject'' and modify ''yourproject.pro''. Add a line
+
Para iniciar um novo projeto você precisa dizer ao qtcreator para usar as bibliotecas do KDE na compilação. Então, escolha File -> New... e crie seu projeto. Nós iremos chamá-lo aqui de ''yourproject''. Para ser capaz de usar as bibliotecas do KDE, vá para seu diretório home, cd em ''yourproject'' e modifique ''yourproject.pro''. Adicione uma line
 
  LIBS += -lkdeui
 
  LIBS += -lkdeui
  
 
[[Category:KDE4]]
 
[[Category:KDE4]]

Latest revision as of 15:15, 18 July 2012

Configurando o KDE 4 para desenvolvimento
Tutorial Series   Começando
Previous   Compilando o KDE 4
What's Next   Outros tópicos de desenvolvimento
Further Reading   n/a
{{{3}}}
 
noframe
Esta página presume que você tenha compilado kdelibs, kdepimlibs, e kdebase de acordo com estas instruções
Nota


Contents

[edit] Iniciando aplicativos de KDE 4 & sessões

Quando você começa o desenvolvimento para o KDE 4, geralmente há três opções disponíveis para você:

As três opções são descritas nas seções seguintes.

{{{3}}}
 
noframe

Se você obtiver erros ao executar qualquer aplicativo kde4, tais como:

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

ou quando você executar startkde e ficar emperrado, leia este artigo para a solução.

Nota


[edit] Iniciando aplicativos do KDE 4

[edit] Usando o shell normal com sux

Para este método, é necessária a ferramenta sux (http://fgouget.free.fr/sux/sux-readme.shtml). sux está disponível na maioria das distribuições. De outro modo você pode contar com o método abaixo shell normal sem sux. sux permite que você mude para outro usuário com um gerenciamento implícito dos detalhes de encaminhamento de X (autenticação e exportação de DISPLAY) de uma forma clara e simples.

Para fazer o login, digite
sux - kde-devel
Todas as variáveis de ambiente e todo o resto devem ser configurados corretamente pelo seu.bashrc. Para iniciar um aplicativo, basta digitar seu nome; por exemplo
kwrite
{{{3}}}
 
noframe

Se você receber erros sobre mimetypes ausentes ou algo parecido, tente o seguinte:

  • execute
    unset XDG_DATA_DIRS ; kbuildsycoca4
Nota


[edit] Usando o shell normal sem sux

O método mais simples para iniciar aplicativos do KDE 4 é usando su para logar como usuário kde-devel e, em seguida, iniciar qualquer aplicativo do KDE 4 a partir da linha de comando. Para fazer o login, digite

su - kde-devel

e, em seguida, depois de digitar sua senha

export DISPLAY=:0
{{{3}}}
 
noframe
A exportação da variável DISPLAY é necessária para que os aplicativos do KDE 4 apareçam normalmente no seu KDE 3 desktop.
Nota


Todas as variáveis de ambiente e todo o resto devem ser configurados corretamente pelo seu .bashrc. Para iniciar um aplicativo, basta digitar seu nome; por exemplo
kwrite
{{{3}}}
 
noframe

Se você receber erros sobre mimetypes ausentes ou algo parecido, tente o seguinte:

  • execute
    unset XDG_DATA_DIRS ; kbuildsycoca4
Nota


{{{3}}}
 
noframe

Se você receber um erro sobre não ser possível se conectar a um servidor X, certifique-se disso emitindo:

sudo xhost +local:kde-devel

como usuário normal do seu KDE 3 para garantir que o aplicativo possa se conectar a sua sessão do X atual.

Apesar de seu servidor X aceitar conexões TCP, isto é frequentemente desligado como um padrão de distribuição (como no Kubuntu Feisty). Ao usar o kdm você deve editar /etc/kde3/kdm/kdmrc como root e se certificar de que não contêm:

ServerArgsLocal=-nolisten tcp

Depois de ter corrigido isso, você precisará reiniciar o servidor X. O comando xhost não deve mais retornar um erro "Unable to open display".

Para maior comodidade, você deve colocar isso no Autostart do seu usuário normal. Para fazer isso, crie um novo arquivo no diretório $HOME/.kde/Autostart de seu usuário normal com o seguinte conteúdo:

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

Certifique-se que o novo arquivo é executável usando chmod +x nele.

Se você quiser saber mais informações sobre as questões de segurança que envolvem o uso do xhost, consulte esse artigo

Nota


[edit] Usando SSH

A maneira mais simples de executar um aplicativo do KDE 4 com SSH em seu ambiente de trabalho é obter um shell capaz de perceber que roda dentro do X como um usuário kde-devel como este:

ssh -X kde-devel@localhost

Agora você pode executar aplicativos do KDE apps como de costume, por exemplo:

kwrite

As duas linhas podem ser convenientemente combinadas:

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

Se isso lhe der alguns erros, tente as dicas para solução de problemas da seção acima.

Nota


[edit] Login sem senha

Antes de fazer qualquer coisa importante usando este método, um login sem senha precisa ser configurado. Para começar, execute o seguinte comando como usuário normal do desktop:

ssh-keygen -t rsa

Aperte enter três vezes para aceitar o caminho de ~/.ssh/id_rsa e uma senha vazia. Agora, copie a única linha no ~/.ssh/id_rsa.pub que é exibida depois da execução deste comando:

cat ~/.ssh/id_rsa.pub

Depois que a linha for copiada, volte ao ssh no usuário kde-devel e coloque-a no arquivo $HOME/.ssh/authorized_keys:

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

Cole na linha, salve o arquivo, e saia do KWrite.

Em seguida certifique-se de que $HOME/.ssh/authorized_keys tem as permissões corretas:

ssh kde-devel@localhost chmod og-xrw ~kde-devel/.ssh/authorized_keys

Agora tente executar KWrite novamente com o mesmo comando SSH, você não deve mais ter que digitar uma senha:

ssh -X kde-devel@localhost $HOME/kde/bin/kwrite
{{{3}}}
 
noframe
Ao usar um login SSH sem senha existem certos riscos de segurança, então assegure a proteção de seu arquivo ~/.ssh/id_rsa restringindo o acesso a ele com
chmod og-xrw ~/.ssh/id_rsa
(embora o arquivo deva ter essas permissões quando é criado)
Aviso


[edit] O arquivo SSH desktop

Se você quiser iniciar os aplicativos de um modo mais fácil que executando-os com um comando SSH a partir da linha de comando, crie um arquivo .desktop para o ssh em outra conta.

{{{3}}}
 
noframe
Isso só será útil se o seu ambiente de trabalho suportar arquivos .desktop, mas pelo menos o KDE e o GNOME suportam.
Nota


Você pode começar com um arquivo .desktop existente como modelo (como um de seu desktop) ou você pode criar um novo. A ideia principal é prefixar o comando a ser executado com esta string:

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

Um simples arquivo .desktop que roda KWrite teria o seguinte conteúdo:

[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
Aplicativos iniciados usando o SSH como esse não provocam o correto lançamento de respostas, então você provavelmente vai querer desativar "feedback de lançamento" para o seu arquivo .desktop
Dica


{{{3}}}
 
noframe
Para criar um arquivo .desktop de um aplicativo do KDE 4 usando esse padrão, o pacote do aplicativo terá que ter sido instalado em ~/kde/bin usando o comando cmakekde
Nota


[edit] Iniciando sessões do KDE 4

[edit] Sessão aninhada do KDE 4

Aninhada

Em vez de usar um novo X virtual já desenvolvido para o desenvolvimento de software você pode utilizar o Xephyr para incorporar sua sessão do KDE 4 em sua sessão de trabalho do KDE 3 ou outro ambiente X11.

Você também pode fazer isso com o xnest, mas como xnest não consegue lidar com extensões como Render muitas pessoas preferem Xephyr.

Se você quiser ter uma sessão mínima do KDE instalada e funcionando, apenas inicie Xephyr (disponível no Kubuntu como xserver-xephyr; Usuários do Gentoo compilem x11-base/xorg-server com USE="kdrive"):

Xephyr :1 -extension GLX &

Agora você já pode iniciar o KDE:

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

startkde-modified é uma cópia de startkde-script que incluem as seguintes linhas no topo:

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

Você também pode usar Xephyr com KDM através do protocolo Xdmcp e simplesmente uma nova sessão do KDE 4 para KDM.

No Kubuntu, você pode habilitá-lo alterando

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

em /etc/kde3/kdm/kdmrc para

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

e ajustar seu /etc/kde3/kdm/Xaccess para permitir seu acesso à máquina local. Além disso, você deve certificar-se de criar uma política de bloqueio de porta em todas as interfaces externas para a porta Xdmcp, se você está fazendo isto em um laptop ou um PC em um ambiente não confiável.

Se você estiver pronto, basta iniciar Xephyr:

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

onde -host-cursor tenta reutilizar o cursor do host e -screen define as dimensões da tela.

Nota: Se você tiver muitos erros de conexão recusada, você pode usar a opção -ac do Xephyr. Por exemplo:

Xephyr -ac :1&

Uma outra opção para tentar caso receba muitos erros de conexão recusada é garantir o acesso do seu usuário kde-devel ao seu servidor X. Como root ou usando sudo:

xhost +local:kde-devel

Se você não tem Xephyr, você pode também usar Xnest:

Xnest -ac :1& export DISPLAY=:1



noframe
 
Esta seção precisa de melhorias: Por favor, ajude-nos a

limpar seções confusas e consertar seções que contenham um todo


Sping 00:25, 9 April 2007 (CEST)

Eu uso isso para meu script de inicialização 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}

Se você se deparar com

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

tente isto:

mkdir /var/tmp/kde-devel-kde4

O código acima assume que você trabalha com o usuário kde-devel.

{{{3}}}
 
noframe
Na maioria dos casos você tem que substituir startkde-modified por startkde
Nota



[edit] Sessão solitária do KDE 4

Solitária

Para executar uma sessão completa do ambiente de trabalho KDE 4, você pode começar a partir da linha de comando como normalmente faria, com algo parecido com isso:

X :1 & export DISPLAY=:1
startkde
{{{3}}}
 
noframe
Se o servidor X recusar a conexão dizendo algo como: Xlib: connection to ":1.0" refused by server, tente X -ac :1 como alternativa.
Nota


ou você pode adicioná-lo ao seu gerenciador de login. Se você estiver usando o KDM (ou um gerenciador de login compatível) isso é feito criando um arquivo .desktop em `kde-config --prefix`/share/apps/kdm/sessions/ ou em /usr/share/xsessions/. A melhor coisa a fazer é copiar um arquivo existente kde.desktop e nomeá-lo kde4.desktop. Abra esse novo arquivo .desktop em um editor de texto e mude o Exec, TryExec e Name entradas para algo parecido com isso:

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

Substitua $HOME/kde no exemplo acima pelo prefixo no qual você está instalando o KDE4.

Depois de reiniciar o gerenciador de login (Alt+e in KDM) essa nova entrada aparecerá no menu de sessões.

Você pode ter que editar seus scripts startkde,ou seja, mudar


esse

kdehome=$HOME/.kde

para esse

kdehome=$HOME/.kde4

ou colar esse

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

no topo.

{{{3}}}
 
noframe
Você deve ter um caminho para o programa 'qdbus' (geralmente ele é $QTDIR/bin) em seu $PATH para logar com êxito. Se ele não estiver lá, você vai receber uma mensagem de erro "Não foi possível iniciar DBus. Verifique sua instalação."
Nota


[edit] Tarefas do Desenvolvimento

[edit] KDevelop

Esta seção irá explicar como usar o KDevelop 3.4 para desenvolver aplicativos do KDE 4. Se você tiver dúvidas, correções ou reclamações sobre esta seção, por favor poste-as na página de discussão.

[edit] Pré-requisitos

Você precisa de pelo menos KDevelop 3.4 para isto, que ainda é um aplicativo do KDE 3. Versões inferiores a 3.4 não têm suporte ao Qt 4, entre outras coisas. A versão KDE 4 do KDevelop ainda não está pronta para o desenvolvimento sério. Você pode obter o KDevelop em KDevelop homepage. Certifique-se de instalar o KDevelop como todos os aplicativos do KDE 3, não com seu usuário kde-devel.

Você também precisa da versão mais recente do GDB, que atualmente é a 6.6.0. Note que a versão do GDB que é fornecida com o openSuse 10.3 está quebrada, ela constantemente quebra ao analisar as variáveis (que o KDevelop faz automaticamente). Use ao invés disso a versão do GDB deste repositório.

Você precisa ter a documentação da API kdelibs localmente, que está descrita em instruções de compilação.

Você também precisa de ctags, htdig, htmerge e htsearch. valgrind e callgrind também podem ser úteis.

Certifique-se de que você seguiu os passos das instruções de compilação do KDE 4 e tem um ambiente de trabalho KDE 4. Verifique se aplicativos simples do KDE 4 como Konsole ou KWrite podem ser iniciados pela linha de comando do usuário kde-devel sem problemas.

Os passos seguintes são todos feitos com usuário kde-devel. Você precisa logar como esse usuário digitando

su - kde-devel

[edit] Configurando o ambiente

KDevelop não tem suporte nativo para projetos CMake. Felizmente, o CMake tem a capacidade de gerar arquivos próprios de projeto do KDevelop. Se quiser fazer isso, você precisa passar a bandeira -GKDevelop3 para o comando cmake. Isto diz ao CMake para gerar arquivos de projeto para o KDevelop ao lado do makefiles normal. A melhor maneira de fazer isto é alterar a sua função cmakekde no seu .bashrc. Basta alterar

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

para

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

Depois de ter feito isso, faça o login novamente para que as alterações no arquivo .bashrc tenham efeito. Então você precisa executar novamente o cmakekde no (root) diretório de compilação do projeto se você quer trabalhar com KDevelop (se você não usa -GKDevelop3 na etapa de compilação). Por exemplo, se você quiser trabalhar com o Konsole, que existe no kdebase, você precisa executar cmakekde no diretório $KDE_BUILD/KDE/kdebase. Este, infelizmente, reconstrói tudo completamente, mas apenas uma vez quando você alterar o gerador.

Como todas as variáveis de ambiente do usuário kde-devel são específicas do KDE 4, estas precisam ser retrocedidas para corresponder ao seu ambiente KDE 3 antes de iniciar o KDevelop. Uma maneira simples de fazer isso é adicionar a seguinte função para o seu .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
}
As variáveis PATH e LD_LIBRARY_PATH são tomadas do usuário do KDE 3, e elas podem ser diferentes em seu sistema. Digite
echo $PATH
e
echo $LD_LIBRARY_PATH
como usuário KDE 3 normal para obter esses valores. A função acima assume que o KDE 3 está instalado no prefixo /usr, como é o caso em sistemas baseados em Debian. Se o seu KDE 3 está instalado em um prefixo diferente,você precisa alterar a configuração da linha KDEDIR. Aqui está um exemplo de como descobrir o seu prefixo de instalação KDE; neste exemplo ele é /opt/kde3:
kde-config --prefix
/opt/kde3

Agora você deve ser capaz de iniciar o KDevelop digitando start3app kdevelop. Faça isso agora.


{{{3}}}
 
noframe

Você pode iniciar qualquer aplicativo do KDE 3 com a função start3app. Candidatos úteis incluem Kompare e kdesvn.

No entanto, você não pode iniciar KDbg desta forma para depurar aplicativos do KDE 4, já que as variáveis de ambiente para depurar aplicativos estão erradas.

Dica


[edit] Resolução de Problemas

Sintoma: kdevelop diz "cannot talk to klauncher". Você não pode abrir um arquivo.

Solução: adicione seu caminho da biblioteca do KDE library a LD_LIBRARY_PATH, por exemplo:

export LD_LIBRARY_PATH=/opt/kde3/lib

[edit] Configurando o KDevelop

Agora que o KDevelop foi iniciado, você precisa ajustar algumas configurações. Vá até Settings->Configure KDevelop...->Documentationpara fazer isso.Remova todas as entradas que não são relevantes para a codificação no KDE 4.

{{{3}}}
 
noframe
Embora as variáveis de ambiente como $ HOME sejam usados nesta seção, você deve substituí-las por caminhos reais, porque o KDevelop não resolve variáveis de ambiente.
Nota


Opcionalmente, você pode adicionar a documentação da API kdelibs. Você deve criá-la previamente. Então adicione a documentação clicando em Add.... Neste diálogo, use as seguintes configurações:

  • Type: Doxygen Documentation Collection (precisa ser configurada primeiro)
  • Location: $KDE_SRC/KDE/kdelibs/kdelibs-apidocs/index.html

Agora adicione a documentação da API Qt, que também deve ser criada previamente , usando as seguintes configurações:

  • Type: Qt Documentation Collection (precisa ser configurada primeiro)
  • Location: $HOME/qt-copy/doc/html/qt.dcf

Depois de ter adicionado a documentação da API kdelibs e Qt, certifique-se de que todas as caixas (TOC,Index and Search) estão habilitadas. Então, vá para a aba Full Text Search e certifique-se de que os caminhos para os executáveishtdig, htmerge e htsearch estão corretos. Você pode então fechar a janela de configuração.

Agora é hora de abrir o projeto que você quer trabalhar clicando em Project->Open Project.... Os arquivos do projeto estão localizados no diretório de compilação. Por exemplo, se você quer trabalhar com o Konsole,você precisa abrir $KDE_BUILD/KDE/kdebase/apps/konsole/konsole.kdevelop. Você agora precisa ajustar algumas configurações específicas do projeto em Project->Project Options. Você precisa fazer isso toda vez que começa a trabalhar em um projeto diferente.

{{{3}}}
 
noframe

Às vezes, um arquivo de projeto KDevelop não está presente na pasta que você deseja trabalhar.

Isto pode ter vários motivos, depende de como os arquivos CMake são escritos. Normalmente, arquivos do CMake que tenham uma declaração project(projectname) funcionam bem. Se você estiver bastante familiarizado com o CMake, você pode tentar adicionar essa declaração.

Uma solução para isso é simplesmente usar o arquivo de projeto KDevelop da pasta pai, ou até mais. Nesse caso, você precisa usar a entrada Make Active Directory no menu de contexto da aba lateral File Selector. Com isso, você pode ignorar as outras pastas indesejadas quando for compilar e instalar.

Nota


  • Suporte C++->Código pronto
Aqui você precisa adicionar banco de dados de código pronto para Qt e kdelibs, e mais se você quiser, por exemplo você pode precisar de um banco de dados para kdepimlibs quando estiver trabalhando com kdepim.
Para kdelibs, clique no botão Add... e escolha KDevelop Custom Directory PCS Importer, então adicione o diretório de inclusão do KDE ($HOME/kde/include) à lista e continue. Você pode usar a caixa de diálogo de seleção de arquivos e o botão Add para adicioná-lo.
Agora, adicione o banco de dados para Qt 4 selecionando KDevelop Qt4 PCS Importer neste momento. Você precisa selecionar o diretório de inclusão do Qt 4, que é $HOME/qt-copy/include.
{{{3}}}
 
noframe
O Qt4 PCS Importer só é necessário se você não instalar Qt4, ou seja, usá-lo directamente a partir do diretório de compilação. A desvantagem de usar o Qt4 importer é que ele não mostra o progresso e a aplicação parece travar ao mesmo tempo que as importações. A alternativa é usar o Custom Directory PCS Importer para isso também
Nota


  • Suporte C++->Opções do Qt
Verifique Enable Qt options e escolha Qt4 como sua versão. Defina o caminho QMake Binary para $HOME/qt-copy/bin/qmake. Então escolha Qt 4 style como Qt include syntax. Use $HOME/qt-copy/bin/designer como Designer Binary. Certifique-se de usar o diálogo Change Plugin Paths para adicionar o diretório do plugin do KDE para que você veja os widgets do KDE quando o designer for iniciado. Para fazer isso adicione $HOME/kde/lib/kde4/plugins ao campo de edição e então clique no botão Add.
  • Opções de Execução
Certifique-se de usar o binário correto como Executable. Por exemplo, se você quer executar o Konsole, este é $KDE_BUILD/KDE/kdebase/apps/konsole/src/konsole. Você deve adicionar --nofork ao Debug Arguments ou depurar alguns aplicativos como KMail não vai funcionar em tudo.
Porque as funções do start3app mudam algumas variáveis de ambiente, você precisa mudá-las de volta aqui para que os aplicativos do KDE 4 possam ser executados sem problemas a partir do KDevelop.
Para alguns aplicativos, como Konsole, isso não é estritamente necessário, mas outros como KMail irão quebrar se você não mudar isto.
Basta clicar no botão Add / Copy para adicionar novas variáveis de ambiente. Você vai precisar do seguinte, que são os mesmos do seu .bashrc:
Nome Valor
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


  • Opções de Compilação->Compilação
Certifique-se de que o diretório de compilação correto está selecionado. Mais uma vez, para o Konsole, este pode ser $KDE_BUILD/KDE/kdebase/apps/konsole.
  • Opções de Compilação->Make
Você pode querer verificar Abort on first error. Você também pode querer adicionar VERBOSE= ou VERBOSE=1 à Additional make options para controlar o nível de detalhamento do processo de compilação.
Se voce tem mais de um processador ou se você tem acesso a um icecream cluster, você pode querer checar a opção Run multiple jobs e configurar o Number of simultaneous jobs para o número de processadores disponíveis. Isso aumenta a velocidade de compilação. É o mesmo que a opção -j para make.
  • Formatação
Você deve definir todas as opções aqui para combinar com o estilo de codificação do projeto que você está trabalhando.
  • CTags->Geral
Você precisa definir corretamente o caminho para Path to ctags binary, que é /usr/bin/ctags nos sistemas baseados em Debian.
Você provavelmente desejará habilitar o Quando mais de um hit, vá diretamente para a primeira opção.

Agora você terminou de ajustar as configurações específicas do projeto. Agora você deve remover alguns plugins que você nao precisa, em Settings->Configure Plugins.... Eu, por exemplo, disabilitei os seguintes 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.

Você deve pelo menos desabilitar os que estão em negrito.

Agora, abra algum arquivo de fonte, se nenhum já estiver aberto. Isso permitirá que o Settings->Configure Editor... acesse, onde você precisa definir as opções de aba para combinar com o estilo de aba usado pelo projeto que você está trabalhando. As definições importantes são:

  • Appearance->Borders->Show line numbers: Devem ser verificados.
  • Appearance->Borders->Show icon border: Devem ser verificadas.
  • Editing->Tabulators
  • Editing->Static Word Wrap->Show marker: Deve ser verificado
  • Indentation->Automatic Indentation->Indentation mode: Deve ser C Style
  • Indentation em geral

Na janela principal, clique na aba CTags na parte inferior da barra de páginas, então clique no botão Regenerate para criar um banco de dados CTags para facilitar a navegação no código fonte.

Agora você terminou todas as configurações essenciais, parabéns!

[edit] Usando o KDevelop

Consulte o manual do KDevelop para ajuda geral usando o KDevelop. A sessão seguinte tratará apenas de casos especiais para o KDE 4.

[edit] Depuração

Aplicativos do KDE têm muitos símbolos, o que significa que você precisa de muita memória para conseguir um tempo de carregamento decente para depuração. Para citar um desenvolvedor GDB: "Eu relutaria se tivesse que depurar o KDE com um <1GB de RAM." Se a função de ação do depurador é lenta para você, tente as seguintes dicas:

  • Oculte as variáveis locais. A parte Locals da aba variável à esquerda provoca uma grande desaceleração quando age se você tem muitas variáveis locais. Simples colapso a parte Locals da árvore, as variáveis locais que não são atualizadas a cada passo. Você pode ainda examinar as variáveis usando a função Evaluate expression.
  • Use o patch em http://bugs.kde.org/show_bug.cgi?id=143977. Ele impede a atualização do widget framestack em cada etapa, acelerando a ação consideravelmente. O patch apresenta algumas falhas pequenas,razão pela qual ainda não foi commitado.
{{{3}}}
 
noframe

O KDevelop ainda não tem suporte modificando o sistema de compilação do CMake. Isto significa que você não pode usar o KDevelop para adicionar ou remover arquivos do projeto ou alterar qualquer outro aspecto do processo de compilação do seu projeto.

Você precisa modificar os arquivos CMake na mão e então executá-los novamente cmakekde. Leia o tutorial do CMake para aprender a fazer isso.

Nota



{{{3}}}
 
noframe
Quando você trabalha a partir de bibliotecas, primeiro você precisa instalá-las antes que você possa testar ou depurar as suas alterações.

Como isso é complexo e demorado, você deve criar links simbólicos (ln -s) apontando do diretório de compilação para o diretório de instalação para todas as bibliotecas afetadas.

Muitas vezes, mesmo programas simples usam bibliotecas internamente, por exemplo a janela de configurações do Konsole é na verdade uma biblioteca.
Dica


[edit] Eclipse

ktimetracker do KDE4 carregado como um projeto eclipse

Este artigo descreve como usar o Eclipse para desenvolver aplicativos do KDE 4. Foi testado com Eclipse Ganymed e SUSE Linux 11,1, mas deve funcionar da mesma forma ou de modo similar, com toda combinação. Como um exemplo de aplicativo KDE nós usamos ktimetracker do kdepim module, outros aplicativos de trabalho de curta duração análogos.

Usando esta descrição você será capaz de

  • atualizar sua cópia de trabalho do código-fonte do KDE usando o comando svn
  • compilar seu KDE module usando cmake
  • compilar seu aplicativo KDE pelo eclipse usando make
  • compilar e executar seu aplicativo com um clique a partir do eclipse
  • obter auto-complementação durante a edição do código-fonte do KDE
  • ter uma visão geral e de navegação sobre suas classes a partir do eclipse
  • have call trees for your functions

[edit] Configurando o Eclipse com KDE

  • Verifique seus requisitos
Tentando com uma máquina virtual Eu tive problemas para iniciar o Eclipse com menos de 1 GB de RAM. Depois de atribuir 3 GB de RAM para minha máquina virtual, o Eclipse finalmente iniciou.
  • Instale o eclipse
Baixe o IDE Eclipse para desenvolvedores C/C++ do http://www.eclipse.org. Nós o desempacotamos para /home/user/eclipse.
  • Instale o CDT
Baixe o IDE Eclipse para desenvolvedores C/C++ Developers (68 MB) do http://www.eclipse.org/cdt/ e desempacote-o na sua pasta eclipse, no nosso caso /home/user/eclipse.
  • Baixe kdepim
Como já foi dito, nós usamos kdepim como exemplo aqui. Então, baixe ("checkout") kdepim usando svn, por exemplo, como anônimo:
svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepim
Supomos que você tenha feito o checkout em /home/user/kdepim.
  • Compile o kdepim
Compile o kdepim de modo que o makefiles habitual esteja presente em todos os aplicativos kdepim. Se você tiver problemas fazendo isso, siga nossas instruções de compilação
  • Importe seu projeto no eclipse
Surpresa: Para importar seu projeto, você não deve usar "File -> Import". Em vez disso use: File -> New -> C++ Project -> Makefile project -> Empty Project -> un-tag "use default location" -> escolha /home/user/kdepim/ktimetracker. Chame-o "ktimetracker".
  • Compile seu projeto
Make sure Project -> Properties -> C/C++ Build -> Builder Settings -> Build location -> Build directory is set correctly.
Choose Project -> Build Project
  • Execute o project
Choose Project -> Properties -> Run/Debug Settings -> New. As project, enter ktimetracker, as C/C++ Application, enter /home/user/kdepim/ktimetracker/ktimetracker. Choose Apply -> Ok -> Ok. Agora você pode clicar no botão "Run" e iniciá-lo.

[edit] Know-How

[edit] Compiladores personalizados

Se você quiser integrar a etapa de compilação do cmake ao seu conjunto de ferramentas de compilação, você precisará

  • criar um compilador personalizado como esse:
cat >/bin/eclipsebuild<<EOF
cmake . && make -j4 && make install
EOF
chmod 777 /bin/eclipsebuild
  • Adicionar seu compilador
Escolha o Projeto -> Propriedades -> Compiladores. Desmarque todos os compiladores existentes. Clique "new" -> Programa -> (nomeie-o "Builder for KDE"). -> Localização: /bin/eclipsebuild -> Diretório de trabalho /home/user/workspace/myproject1/kdepim.
  • Compilação
Agora você pode compilar seu projeto. Toda vez depois de reiniciar o eclipse, escolha myproject1 -> Projeto -> Propriedades -> C/C++ Compilador -> Ok -> Projeto -> Compilação.
[edit] Revertendo o que o eclipse fez

Para reverter o que o eclipse fez no seu projeto basta executar

rm -rf .externalToolBuilders/ .project .cproject
[edit] Por que o Subversion não funciona

Ao usar o plugin do eclipse para o svn e compilar um programa do KDE, você receberá mensagens de erro reclamando que seu binário svn é muito antigo.Se você quiser tentar mudar isso, aqui está o modo como você pode chegar a esse erro:

  • Instale os plugins do subversion
Ajuda -> Atualizações do Software -> Software Disponível -> Adicionar Site -> http://download.eclipse.org/technology/subversive/0.7/update-site/ -> Adicionar Site -> http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
Agora adicioná-lo: Subversive Site -> Subversive SVN Team Provider Plugin
Subversive SVN Connectors Site -> Subversive SVN Connectors -> SVNKit 1.3.0 Implementation (Optional)
  • Cliquem em Instalar
  • Reinicie o eclipse
  • Importe seu KDE module
Escolha File -> New -> Other -> SVN -> Project from SVN -> https://svn.kde.org/home/kde/trunk/KDE/kdepim -> Confira como o projeto foi configurado usando o New Project Wizard -> C++ Project -> Makefile Project -> Empty Project. Como nome, nós escolhemos kdepim5 -> Finalize
  • Definir cmake como meio de compilação
Escolha Project -> Properties -> C/C++ Build -> Builder Settings. Desmarque "use default build command", então defina "cmake". Escolha Project -> Properties -> C/C++ Build -> Behavior. Substitua "all" por ".".

[edit] Veja também

[edit] QtCreator

Este artigo descreve como usar QtCreator para desenvolver aplicativos do KDE 4. Ele foi testado com QtCreator 1.2.80 e SUSE Linux 11.1 mas deve funcionar da mesma forma ou parecido com toda combinação. Como um exemplo de aplicativo do KDE nós usamos ktimetracker do kdepim module, outros aplicativos devem funcionar da mesma forma ou parecido.

[edit] Carregando um projeto existente

Como foi dito aqui usamos ktimetracker como exemplo de projeto.

  • Importe o arquivo CMakeLists.txt

File -> Open -> kdepim/CMakeLists.txt.

  • Configure o qtcreator para compilar somente o ktimetracker

Projects -> ktimetracker -> build settings -> Add a configuration ktimetracker.

Como diretório de compilação escolha kdepim. Como argumentos para o cmake use, por exemplo

. -DCMAKE_INSTALL_PREFIX=/usr/local -DLIB_SUFFIX=64 -DCMAKE_BUILD_TYPE=debugfull

[edit] Iniciar um projeto KDE

Para iniciar um novo projeto você precisa dizer ao qtcreator para usar as bibliotecas do KDE na compilação. Então, escolha File -> New... e crie seu projeto. Nós iremos chamá-lo aqui de yourproject. Para ser capaz de usar as bibliotecas do KDE, vá para seu diretório home, cd em yourproject e modifique yourproject.pro. Adicione uma line

LIBS += -lkdeui

This page was last modified on 18 July 2012, at 15:15. This page has been accessed 7,078 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