Clipper On Line • Ver Tópico - Harbour Linux & Putty

Harbour Linux & Putty

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Harbour Linux & Putty

Mensagempor JoséQuintas » 05 Nov 2018 00:07

Alguém usando Harbour no Linux através de Putty?
Fica limitado mesmo?

É que no terminal server do Windows, abro multithread e janelas à vontade, mas tentei no Linux e não foi.
Mas só usando através de putty.
Não testei isso no Microsoft Linux ainda... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Harbour Linux & Putty

Mensagempor Vlademiro » 05 Nov 2018 12:20

Quando eu uso no windows eu uso o https://www.bitvise.com/ssh-client (quem usa windows vai se sentir a vontade com a telinha que ele gera).

Com relação ao multithread eu uso sem problemas um servidor web feito em harbour que usa esse recurso. Mas não tem relação com o cliente de ssh.
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Harbour Linux & Putty

Mensagempor Itamar M. Lins Jr. » 05 Nov 2018 13:41

Ola!
abro multithread e janelas à vontade,

Isso ai é o forte do Linux. Tarefas múltiplas. Por isso é o OS mais utilizado do mundo.
Depende do que vc está se referindo. NetIO roda MT, LetoDbf só roda com MT ligado(do Harbour), e tantos outros programas do Harbour.
Alias quase tudo do LINUX é compilado em MT. Sem MT nada funciona, Apache/KDE/Gnome...
Se não tiver MT, teríamos uma sessão do Apache para cada requisição. Esse forum aqui mesmo em PHP, está usando MT etc...
Multi tarefa, é quando o programa uma única vez chamado, responde por várias solicitações de dentro dele mesmo, sem chamar outra estância dele.
Não é o caso do command.com/CMD.EXE do Windows, que chamamos um dentro do outro.
Essas janelas, são do seu sistema ou janelas do windows ?

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Harbour Linux & Putty

Mensagempor JoséQuintas » 05 Nov 2018 15:23

A grande vantagem que vejo em GTWVG, ou LIB multithread é justamente a opção de abrir uma janela pra cada thread.

hb_ThreadStart( { || teste() } )
hb_ThreadStart( { || teste() } )
hb_ThreadStart( { || teste() } )
hb_ThreadStart( { || teste() } )
Inkey(0)


Isso poderia abrir 4 janelas no Windows, ou no terminal server do Windows.
Já no Linux, mantém janela única.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Harbour Linux & Putty

Mensagempor Itamar M. Lins Jr. » 05 Nov 2018 15:30

Ola!
GTWVG no Linux ?
De qual gerenciador ele esta pegando os comandos do Windows ? Wine ?

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Harbour Linux & Putty

Mensagempor JoséQuintas » 05 Nov 2018 15:30

#include "inkey.ch"
#include "hbgtinfo.ch"

PROCEDURE Main

   hb_ThreadStart( { || teste() } )
   hb_ThreadStart( { || teste() } )
   hb_ThreadStart( { || teste() } )
   hb_ThreadStart( { || teste() } )
   hb_ThreadStart( { || teste() } )

   Inkey(1000)
   RETURN

STATIC FUNCTION Teste()

   hb_gtReload( "WVG" )
   SetMode( 20, 30 )
   SetColor( "W/B,N/W,,,W/B" )
   CLS
   @ 1, 0 SAY "X:" + iif( hb_GtInfo( HB_GTI_ISMULTIWIN ), "Sim", "Nao" )
   @ 2, 0 SAY "X:" + hb_GtInfo( HB_GTI_VERSION )
   Inkey(0)

   RETURN NIL



wvg1.png


Em aplicativo remoto o resultado é o mesmo, várias janelas remotas.
Isso em Windows.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Harbour Linux & Putty

Mensagempor JoséQuintas » 05 Nov 2018 16:06

Tive que trocar o servidor pra W7 Ultimate pra fazer o teste:

wvg2.png


Essa é a tela normal do computador com W10.
Abri o aplicativo remoto teste.
O aplicativo abriu as janelas em multithread.
É como se fossem 5 aplicativos remotos, mas na prática é um só usando multithread.
No servidor, W7 Ultimate, e aplicativo configurado pra remoto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Harbour Linux & Putty

Mensagempor JoséQuintas » 05 Nov 2018 16:08

Então... queria fazer o mesmo no Linux.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Harbour Linux & Putty

Mensagempor Itamar M. Lins Jr. » 05 Nov 2018 16:10

Ola!
O Linux, não tem os comandos da GTWVG.
Precisa abrir o WINE para rodar esse seu programa em GTWVG.
No Linux tem GTWVT, GTQT. Inclusive essa GTQT foi o Przmek que fez. Tem que instalar o QT enorme...
WVG vai chamar as funções da API do windows... WAPI_...Parte gráfica do windows. No linux isso é o calcanhar de Aquiles! Tem Gnome em GTK, KDE, etc...
Ai vc precisa usar o Wine.
>wine seuprograma.exe


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Harbour Linux & Putty

Mensagempor JoséQuintas » 05 Nov 2018 16:31

Ok, a intenção no Linux NÃO é usar GTWVG, é apenas multithread.
Mas aí vai depender de alguma coisa adicional, é isso que não sei.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Harbour Linux & Putty

Mensagempor Itamar M. Lins Jr. » 05 Nov 2018 17:20

Ola!
No Harbour, exemplo é que não falta para usar MT.
Não tem nada adicional.
Se usar MT sempre será do Harbour neste caso.
Agora vc vai testar isso usando uma das GT's do Harbour para Linux. PushButtons, Radio Group, Buttons, etc... Isso é o desenho das suas telas com WVG.
Ou usar a Hwgui se quer gráfico nativo VIA, GTK.
A GTWVG é para Windows.
Basta olha o NetIO ai que vc já usa e não usa GT nenhuma
#include "error.ch"

FUNCTION netio_MTServer( nPort, cIfAddr, cRootDir, xRPC, ;
                         cPasswd, nCompressLevel, nStrategy, ;
                         sSrvFunc )

   LOCAL pListenSocket, lRPC
   LOCAL oError

   IF sSrvFunc == NIL
      sSrvFunc := @netio_Server()
   ENDIF

   IF hb_mtvm()

      SWITCH ValType( xRPC )
      CASE "S"
      CASE "H"
         lRPC := .T.
         EXIT
      CASE "L"
         lRPC := xRPC
         EXIT
      OTHERWISE
         xRPC := NIL
      ENDSWITCH

      pListenSocket := netio_Listen( nPort, cIfAddr, cRootDir, lRPC )
      IF ! Empty( pListenSocket )
         hb_threadDetach( hb_threadStart( @netio_srvloop(), pListenSocket, ;
                                          xRPC, sSrvFunc, ;
                                          cPasswd, nCompressLevel, nStrategy ) )
      ENDIF
   ELSE
      oError := ErrorNew()

      oError:severity    := ES_ERROR
      oError:genCode     := EG_UNSUPPORTED
      oError:subSystem   := "HBNETIO"
      oError:subCode     := 0
      oError:description := hb_langErrMsg( EG_UNSUPPORTED )
      oError:canRetry    := .F.
      oError:canDefault  := .F.
      oError:fileName    := ""
      oError:osCode      := 0

     Eval( ErrorBlock(), oError )
   ENDIF

   RETURN pListenSocket



Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Harbour Linux & Putty

Mensagempor Itamar M. Lins Jr. » 05 Nov 2018 17:53

Ola!
Da uma olhada ai na pasta tests.
Acredito que tem o que vc está procurando.
Fiz testes aqui no ubuntu 18
sudo -s
apt install xorg-devel
hbmk2 wvtwin.prg -gtxwc
//e tem mais esse;
hbmk2 wvtext.prg


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Harbour Linux & Putty

Mensagempor Itamar M. Lins Jr. » 05 Nov 2018 18:06

Ola!
Compilei seu exemplo com o X11 -> gtxwc do harbour.
hbmk2 exemploquintas.prg -gtxwc
Captura de tela de 2018-11-05 17-58-54.png
Captura de tela de 2018-11-05 17-58-54.png


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Harbour Linux & Putty

Mensagempor JoséQuintas » 05 Nov 2018 18:54

Quase deu... não tem o x11

Só deu pra instalar a LIB:

sudo apt-get install libx11-dev


compilou, mas deu erro na execução

Unrecoverable error 10001: Could not connect to X server.
Called from SCROLL(0)
Called from TESTE(20)
Called from (b)MAIN(6)


O Ubuntu do Microsoft Linux não aceitou o comando de instalar xorg-devel

root@josejpa:/mnt/d/temp# apt install xorg-devel
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package xorg-devel


só a título de curiosidade:

root@josejpa:/mnt/d/temp# apt-get update
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
Reading package lists... Done


Os pacotes vém do site do Ubuntu, mas xorg-devel não veio.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18008
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Harbour Linux & Putty

Mensagempor Itamar M. Lins Jr. » 05 Nov 2018 19:14

Ola!
Unrecoverable error 10001: Could not connect to X server.

O X11 é o servidor (daemon) gráfico do Ubuntu 18
>ps -aux
itamar    1130  0.0  0.0 212380  1824 tty1     Ssl+ 13:12   0:00 /usr/lib/gdm3/gdm-x-session --run-script env GNOME_SHELL_SESSION_MODE=ubuntu
itamar    1134  5.9  2.7 414788 50888 tty1     Rl+  13:12  21:14 /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -back
itamar    1149  0.0  0.1  54336  2796 ?        Ss   13:12   0:02 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --syst


Ele tem que está rodando senão não abre tela gráfica nenhuma.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro