Original em formato texto com marcações para conversão em HTML, processo automatizado com scripts e txt2tags.
Tutoriais e dicas sobre o uso do FreeNX.
Os comandos e dicas podem não atender as suas necessidades, não ser compatível com sua instalação, tente adaptar ao seu ambiente.
Considere que os pacotes do protocolo ssh são os mesmos na maioria das distribuições, as diferenças entre as distros estão nos comandos para instalar e iniciar o servidor sshd, também algumas diferenças entre as próprias versões do SSH.
Acesso remoto, tanto para clientes Linux ou Windows.
Muito simples e fácil de usar, tem cliente para estações Linux e Windows.
Estações windows com Linux completo em uma janela, executando aplicativos Linux ?.
howto freenx client SUSE 10 ~linux
Neste tutorial - Lado servidor, comandos e instalação do servidor FreeNX no SUSE 10.1.
Ambiente; SUSE 10.1 como servidor, instalado com perfil KDE e smart configurado como gerenciador de pacotes para instalar via internet, comandos executados como root em um console remoto via ssh.
Neste ambiente é muito simples, basta copiar e colar os comandos abaixo, precisa alterar o usuário zago para seu usuário, a última linha faz copia para outra maquina da rede com acesso via Samba, serve como exemplo, esta copia pode ser feita via rede, disquete, CD ou copiar para o /tmp ou /home do usuário, local que ele pode copiar depois via ssh ou winscp nas estação windows, ou diretamente no /tmp da estação quando tem ssh server rodando, tem muitos meios....
Comandos que utilizo como root, copiar e colar uma linha por vez;
smart install freenx nxsetup --install nxserver --adduser nx nxserver --passwd nx passwd nx nxserver --adduser zago nxserver --passwd zago chmod 644 /var/lib/nxserver/home/.ssh/authorized_keys2 scp -p /var/lib/nxserver/home/.ssh/client.id_dsa.key zago@192.168.1.3:/tmp
Conferir se está OK, nxserver --status
, resultado;
opensuse101:/home/zago # nxserver --status NX> 100 NXSERVER - Version 1.4.0-44 OS (GPL) NX> 110 NX Server is running NX> 999 Bye
Mais um teste, no servidor, testar conexão com user nx
opensuse101:/home/zago # ssh nx@192.168.1.239 Password: Have a lot of fun... HELLO NXSERVER - Version 1.4.0-44 OS (GPL) NX> 105 quit Quit NX> 999 Bye Connection to 192.168.1.239 closed.
Prontinho, servidor configurado, em ambiente de teste não precisa fazer mais nada no servidor, falta instalar o cliente na estação, configurar a conexão, importar a chave criada no servidor. Neste documento tem tópico especifico sobre cliente NX, configuração da estação Linux ou Windows.
No SUSE 10.1 o ssh já vem por default configurado para exportar o X, pode configurar em "/etc/ssh/sshd_config" quais usuários que podem fazer login via ssh, isto é opcional e questão de segurnaça, recomendado quando tem acesso vindo da internet, no FAQ com mensagens da Linux-br tem muitas dicas sobre segurança.
Arquivos de configuração ficam em; /etc/nxserver/
Ambiente, SUSE 10 x86_64 instalado com perfil KDE, utilizando smart como gerenciador de pacotes.
Acesse http://www.nomachine.com/ faça download deste pacote; nxclient-1.5.0-141.i386.rpm, ou versão mais recente, como root no diretório onde salvou, execute;
rpm -ivh nxclient-1.5.0-141.i386.rpm
De volta ao desktop, como usuário normal, neste exemplo usuário zago, pressione as teclas (ALT+F2) digite na caixa de comando "nxclient", no primeiro login abre a tela configuração, procure pela opção de importar a chave (key), clique em key, navegue até o local onde salvou a chave que copiou do servidor, selecione o arquivo e importar, informe o IP do servidor e conectar, nesta configuração acessa o desktop do servidor, personalize a seu modo.
Também instala ferramentas de configuração que não utilizei, são elas.
/usr/NX/bin/nxclient -admin /usr/NX/bin/nxclient -wizard
No SUSE 10 já tem os pacotes do cliente NX (knx), não consegui configurar este cliente, instalei o cliente knx via smart, não achei a opção "importar chave", pelo que notei o knx é um pacote do KDE, depois de varias tentativas sem conseguir conexão, desiste do knx, segue os passos que tentei com o pacote nativo da distro, fica como aviso e alerta, se quiser tentar, siga os passos;
smart install knx -y nxsetup --install --uid 80 --gid 100
Instalou diversos pacotes, incluindo estes;
knx-0.1-15.x86_64.rpm. FreeNX-0.4.4-4.x86_64.rpm NX-1.5.0-17.i586.rpm
Não deu erro, tudo OK, quando executo knx, não tem opção importar chave, quando executo nxclient abre uma tela muito pequena, sem informação alguma e somente com o botão OK, não é possível confugrar nada, não encontrei meios de configurar o cliente e nem completar a conexão.
Depois de varias tentativas sem exito, resolvi baixar o cliente direto do site nomachine e funcionou de primeira, bastou instalar o cliente e executar nxclient como descrito no inicio deste tópico.
Informações sobre os pacotes instalados.
suse64:/home/zago # smart search knx knx - NX Client suse64:/home/zago # smart info knx Nome: knx Versão: 0.1-15@x86_64 --corta--
Quando trocar o IP do servidor, no primeiro login da estação, exibe mensagens de troca da chave e outros avisos, confirme (yes ou sim) que completa e conexão e funciona sem problemas.
Tutorial em elaboração, quando pronto removo este aviso, a instalação ocorre normalmente mas não consigo login a partir das estações, tem um erro de permisão, devo ter errado algum passo, qualquer dia tento novamente para corrigir este tutorial, segue os passos executados e alguns resultados.
Ambiente; FC5 x86_64 instalado como estação trabalho, ambiente Gnome e gerenciador de pacotes smart, via gerenciador de pacotes (smart e yumex) não encontrei os pacotes cliente nem server do FreeNX.
Hardware; MOBO: MSI modelo MS-6471 ver: 1 - CPU: AMD Athlon 64 - 3000+
Adaptando os comandos do tutorial acima;
# Pacote para FC5 su - cd /tmp useradd nx wget http://fedoranews.org/contributors/rick_stout/freenx/nx-1.5.0-4.FC5.1.i386.rpm wget http://fedoranews.org/contributors/rick_stout/freenx/freenx-0.4.4-2.FC5.0.noarch.rpm smart install expect rpm -Uvh nx-1.5.0-4.FC5.1.i386.rpm rpm -Uvh freenx-0.4.4-2.FC5.0.noarch.rpm nxsetup --install nxserver --adduser nx nxserver --passwd nx nxserver --adduser zago nxserver --passwd zago chmod 644 /var/lib/nxserver/home/.ssh/authorized_keys2 scp -p /var/lib/nxserver/home/.ssh/client.id_dsa.key zago@192.168.1.53:~/tmp
# retornou este erro; root@localhost# rpm -ivh freenx-0.4.4-2.FC5.0.noarch.rpm aviso: freenx-0.4.4-2.FC5.0.noarch.rpm: Header V3 DSA signature: NOKEY, key ID b90aee70 A preparar... ########################################### [100%] 1:freenx ########################################### [100%] Parando o sshd: [ OK ] Iniciando sshd: [ OK ] useradd : não foi possível criar diretório /var/lib/nxserver/home chown: `nx:root': usuário inválido chown: `nx:root': usuário inválido chown: `nx:root': usuário inválido chown: `nx:root': usuário inválido chown: `nx:root': usuário inválido erro: %post(freenx-0.4.4-2.FC5.0.noarch) scriptlet failed, exit status 1
na sequencia executei;
rpm -e freenx useradd nx rpm -ivh freenx-0.4.4-2.FC5.0.noarch.rpm # não deu mais erro, retornou esta mensagem.
root@localhost# rpm -ivh freenx-0.4.4-2.FC5.0.noarch.rpm aviso: freenx-0.4.4-2.FC5.0.noarch.rpm: Header V3 DSA signature: NOKEY, key ID b90aee70 A preparar... ########################################### [100%] 1:freenx ########################################### [100%] Parando o sshd: [ OK ] Iniciando sshd: [ OK ]
Comandos na estação - instalar cliente NX. Na estação cliente NX, rodando SUSE 10 com cliente "nxclient-1.5.0-141.i386.rpm", após importar chave e configurar o cliente, em vararias tentatias de conexão e configuração da estação, alterações também no servidor, sempre retorna erro de conexão, na tela de login, em mais detalhes exibe; ``NX> 204 Authentication failed.``, no servidor registra em /var/log/secure esta mensagem;
Apr 2 19:27:03 localhost sshd[9103]: Accepted publickey for nx from 192.168.1.53 port 49440 ssh2 Apr 2 16:27:03 localhost sshd[9104]: pam_unix(sshd:session): session opened for user nx by (uid=0) Apr 2 19:27:07 localhost sshd[9227]: Failed publickey for zago from 127.0.0.1 port 60413 ssh2 Apr 2 19:27:07 localhost sshd[9227]: Connection closed by 127.0.0.1
Em mais detalhes no tela de login do cliente, termina com esta mensagem
Permission denied (publickey,gssapi-with-mic,password). Killed by signal 15.
No konsole o ssh funciona sem problemas... Segue mais alguns testes;
cp /var/lib/nxserver/home/.ssh/client.id_dsa.key /home/zago/.ssh/id_dsa chmod 666 /home/zago/.ssh/id_dsa
cp /etc/nxserver/client.id_dsa.key /home/zago/.ssh/id_dsa chmod 600 /home/zago/.ssh/id_dsa
/etc/nxserver/client.id_dsa.key /var/lib/nxserver/home/.ssh/client.id_dsa.key
Remover os pacotes nx, desinstalar,
/usr/bin/nxserver --stop rpm -e freenx nx``
Manual, comandos, opções e informações sobre nxserver, execute no servidor; /usr/bin/nxserver
, conferir status, se está rodando, /usr/bin/nxserver --status
smart install nxproxy smart install nxagent smart install expect smart install netcat smart install freenxOu se preferir baixar os pacotes do contrib, acesse: ftp://mirrors.usc.edu/pub/linux/distributions/mandrakelinux/official/2005/i586/media/contrib/ Salve os pacotes no seu repositorio local, ou em um diretório para instalar via rpm, concluída a instalação, execute estes comandos; Testando com os mesmos comandos utilizados no CL10
nxsetup --install nxserver --adduser nx nxserver --passwd nx nxserver --adduser zago nxserver --passwd zago passwd nx chmod 644 /var/lib/nxserver/home/.ssh/authorized_keys2 scp /var/lib/nxserver/home/.ssh/client.id_dsa.key zago@192.168.1.3:/tmp
Deu erro e parei por aqui (qualquer dia continuo...)
[root@rc2asus ~]# nxsetup --install Freenx server configuration is done by the rpm package. You don't need to run this script. If you want to force running it use --force
Este tópico foi elaborado com base no tutorial M. Teixeira indicado acima, o qual deverá ser consultado para solução de problemas ou obter mais detalhes sobre esta configuração, também obtive ajuda de Anderson Marcelo que passou as dicas e ajudou na solução de problemas.
Neste tópico tem as linhas de comando pronta para copiar e colar em instalações no CL10 como servidor NX, tanto instalado com CD da versão de lançamento (3 CD) como instalado com boot pelo CD upd1, ambas com perfil de instalação " Desktop corporativo", é uma adaptação para uso em minhas redes.
Estações - cliente win98 com instalação padrão, configurado somente a rede e video, pacotes adicionais somente o OpenOffice e nada de atualizações ou pacotes adicionais, rodou muito bem e rápido em K6II-500 com 32 MB de RAM e ainda destinando 8MB para video on-board, em resumo, rodando KDE em win98 com 24MB.
Passo a passo para instalar NX - freenx.
Resumo Zago
Ambiente servidor:
CL10 instalado com perfil "Desktop corporativo", sem atualizações ou pacotes adicionais.
Precisa instalar os pacotes "nc" que já vem nos CD do CL10, mais os pacotes freenx e nx, prefiro fazer o download do repositório contrib para disponibilizar na rede interna, em maquinas com acesso à internet, fica mais fácil incluir o contrib no /etc/apt/sources.list para instalar via apt ou synaptic, caso decida pelo download, por exemplo, baixar em outra maquina, então faça download e copie para a maquina que vai rodar o server NX, dos seguintes arquivos.
[root@aula nx]# ls -la -rw-r--r-- 1 zago zago 40779 2005-09-21 22:17 freenx-0.3.1-1cl_pinho.noarch.rpm -rw-r--r-- 1 zago zago 2078086 2005-09-21 22:17 nx-1.4.0-2cl_pinho.i386.rpm
Dentro do diretório onde salvou, execute estas linhas de comando, ou copie e cole uma por uma. caso ainda não fez o download, então pule os comandos abiaxo e siga as instruções partir de "Explicando; que vem logo a seguir"
apt-get install nc rpm -ivh nx-1.4.0-2cl_pinho.i386.rpm rpm -ivh freenx-0.3.1-1cl_pinho.noarch.rpm nxsetup --install nxserver --adduser nx nxserver --passwd nx nxserver --adduser zago nxserver --passwd zago passwd nx chmod 644 /var/lib/nxserver/home/.ssh/authorized_keys2 scp /var/lib/nxserver/home/.ssh/client.id_dsa.key zago@192.168.1.3:/tmp
vi /etc/ssh/sshd_config
altere #X11Forwarding no
para X11Forwarding yes
Inclua no final do arquivo, usuário nx e seus usuários que farão login no NX, copia da parte final sshd_config.
#Banner /some/path #VerifyReverseMapping no Subsystem sftp /usr/libexec/sftp-server AllowUsers nx aula zago carol
Reinicie o sshd com o comando service sshd restart
Explicando;
Os comandos acima configura o servidor, como já tenho os arquivos salvo na rede local, faço copia para a maquina que vou configurar como servidor, se preferir fazer o download, procure pelos arquivos neste endereço:
ftp://mirror.de9.ime.eb.br/pub/conectiva/contrib/10/SRPMS.pinho/
em 22/09/2005 estavam neste local.
ftp://mirror.de9.ime.eb.br/pub/conectiva/contrib/10/SRPMS.pinho/freenx-0.3.1-1cl_pinho.src.rpm ftp://mirror.de9.ime.eb.br/pub/conectiva/contrib/10/SRPMS.pinho/nx-1.4.0-2cl_pinho.src.rpm
Para instalar direto pelo synaptic ou apt, inclua o repositório do contrib no /etc/sources.list, basta estas duas linhas
rpm ftp://mirror.de9.ime.eb.br/pub/conectiva/contrib 10/conectiva pinho mvb mt osvaldo_santana carlinux iga hamacker rpm-src ftp://mirror.de9.ime.eb.br/pub/conectiva/contrib 10/conectiva pinho mvb mt osvaldo_santana carlinux iga hamacker
Cuidado com a quebra de linha, são duas linhas iniciando com rpm, depois da alteração acima, execute o synaptic
, clique em atualizar, depois procure e instale os pacotes nc
e freenx
, ou pelo apt na linha de comando execute as linhas abaixo.
apt-get update apt-get install nc apt-get install freenx
Concluida a instalação sem erros, execute os comandos abaixo, informe a senha quando solicitado, tenho usado a mesma senha para todos, após o comando "nxserver --adduser nx" pressione "enter".
nxsetup --install nxserver --adduser nx nxserver --passwd nx nxserver --adduser zago nxserver --passwd zago passwd nx chmod 644 /var/lib/nxserver/home/.ssh/authorized_keys2 scp /var/lib/nxserver/home/.ssh/client.id_dsa.key zago@192.168.1.3:/tmp
Onde: zago é o nome de login do usuário, altere somente zago pelo seu usuário, mantenha os demais parametros do exemplo acima, nx é um usuário do sistema que também precisa ser criado e definir senha.
A linha que inicia com scp serve para copiar via ssh o arquivo para outra maquina, substitua pelo metodo que deseja fazer a copia em seu sistema.
Alguns comandos solicitam a senha, informe a senha de cada usuário, informei a mesma para o usuário zago e nx e funcionou.
Soobre a instalação do ssh veja ssh.txt neste diretório, depois de instalado precisa configurar para exportar o X, incluir usuários, entre eles o usuário "nx", edit "/etc/ssh/sshd_config", use seu editor preferido, qualquer um que trabalhe em formato texto puro, ou pelo "vi" com.
vi /etc/ssh/sshd_config
altere #X11Forwarding no
para X11Forwarding yes
, observe que remove o sinal de comentário e altera "no" para "yes".
Inclua no final deste arquivo, usuário nx e seus usuários que farão login no NX, copia da parte final do meu /etc/ssh/sshd_config depois da alteração.
#Banner /some/path #VerifyReverseMapping no Subsystem sftp /usr/libexec/sftp-server AllowUsers nx aula zago carol
Reinicie o sshd com o comando service sshd restart
Servidor NX prontinho, vamos para a estação windows.
Arrume uma maneira de copiar a chave para a maquina windows que vai acessar o NX, o arquivo de chave criado na instalação do NX e que deve ser usado para importar na estação, ou seja, a ser copiado para a estação é este:
/var/lib/nxserver/home/.ssh/client.id_dsa.key
pode usar o winscp, samba, disquete, CD ou ...
Em minhas rede prefiro disponibilizar no servidor Samba, o comando para enviar via ssh.
scp /var/lib/nxserver/home/.ssh/client.id_dsa.key zago@192.168.1.1:/tmp
Alguns relatos e soluções.
Falhou ao aplicar o processo acima em uma instalação do CL10, instalado como servidor de arquivos, sem KDE, servidor de e-mail interno.
Estação não conecta, em detalhes, informa algo como "diretório não encontrado", claro que a mensagem está em ingles, minha intuição acha que seja isto.
Solução:
Instalar o KDE, apliquei esta linha de comando:
apt-get install task-kde-standard
Claro que deu algumas mensagens de erro e dependencias, isto é fácil, remova as depencias apontadas e tente novamente que prossegue, KDE instalado problema solucionado, a mesma estação que não conectava passou a efetuar o login e passou a funcionar sem problema algum, como funcionou sem alterações na configuração do servidor NX, cheguei à conclusão que precisa do KDE instalado para completar a conexão do NX, está é minha conclusão, porque aplicando o mesmo procedimento em CL10 instalado com perfil "Desktop Corporativo", funciona de primeira.
Obtenha com o administrador do servidor NX, seu login, senha, arquivo com a chave NX e instalador do cliente NX, para cliente windows é o arquivo "nxclient-1.5.0-106.exe" ou versão mais recente disponivel no site do desenvolvedor.
Faça copia do arquivo da chave cliente para a maquina local, o local de origem do arquivo fica em:
/var/lib/nxserver/home/.ssh/client.id_dsa.key
Usuário comum não tem acesso, faça root ou peça ao administrador do servidor que pode ter disponibilizado em outro local, faça a copia via winscp, samba, disquete, CD ou ...
Em minhas redes ele está disponivel no servidor samba em /tmp/client.id_dsa.key
O instalador "nxclient-1.5.0-106.exe" está no diretório programas do servidor web local, ou baixe diretamente deste site.
Clique em "Import", navegue até o local onde salvou a chave (copia do arquivo "client.id_dsa.key"), selecione e clique em OK, vai exibir o conteúdo da nova chave dentro da janela, clique em "Save" e depois em "OK" pontinho, configuração terminada, não altere as demais opções, clique em login para completar a conexão, vai abrir um aviso sobre a criação da chave, clique em "yes" para completar o login.
Caso falhe, clique em "Detail" e procure identificar o problema,
Observe que foi criado mais um atalho no desktop, tem o nome da conexão, use-o para as proximas conexões, clique e informe a senha para refazer a conexão.
Completado o login, pode minimizar a tela para usar Windows local um abrir o !M para usar o KDE na maquina remota, tem os dois sistemas para uso simultaneo, ajuste a seu modo, ocultar barras, maximizar e minizar, enfim, clique e use.
Acessar outros servidores NX, ou após a reinstalação do servidor, repita o processo acima para importar a chave de cada novo servidor.
Persolize a seu modo.
Por default vem configurado para executar o KDE, caso queira executar somente um aplicativo, algo como somente o Kmail ou konqueror, em momento de login, clique em configure -> aba "General" clique em "settings", na caixa de dialogo (Desktop) ao lado de settings selecione (Unix) e (custom), abre janela para seleção, selecione o item "Rum the following command" e na caixa de dialogo digite o nome do aplicativo, exemplos, evolution, kmail, konqueror.