Como se pode executar um programa instalado em uma máquina de outra máquina?

6

É possível ter, digamos, uma máquina com software instalado e chamar esse software de outra máquina? Eu pensei que isso seria chamado de "servidor de aplicativos", mas googling eu acho que as coisas não são exatamente o que eu quero. Meu cenário é basicamente o seguinte:

Eu tenho um computador em casa com o Ubuntu e um monte de programas, em que uma distribuição de látex. Isto é configurado como um servidor, com acesso ssh, apache e afins. Do meu computador de trabalho, executando o Windows, eu gostaria de usar meu Latex em casa, em vez de instalá-lo localmente. Mas eu gostaria que ele armazenasse os arquivos, em particular o PDF gerado, no computador Work (na verdade, isso não é extremamente importante: sempre posso copiar os arquivos mais tarde, mas economizaria algum tempo se funcionasse).

Quais são as possíveis maneiras de fazer isso?

    
por Andyc 09.12.2014 / 10:34

6 respostas

4

Sim, é possível, mas há vários passos envolvidos:

  1. Você deve conseguir acessar seu computador doméstico que executa o Linux pela Internet. Isso significa abrir a porta 22 (ssh) ou o roteador em casa ou uma porta superior se o provedor bloquear o acesso de entrada nas portas abaixo de 1024. Em seguida, instale o openssh-server (e faça-o ouvir em qualquer porta não padrão). Você também precisa saber o endereço IP do roteador em casa. Alguns roteadores têm alguma funcionalidade para atualizar um serviço de nomes dinâmico. Se isso não estiver disponível, seu computador doméstico poderá fazer isso ou, na pior das hipóteses, enviar um e-mail regularmente ao seu endereço de trabalho (você deve conseguir extrair o endereço IP do roteador dos cabeçalhos de um e-mail). / p>

  2. Seu computador de trabalho precisa ser configurado com PuTTY e uma extensão X. PuTTY faz a conexão segura, o entension X é necessário para visualizar os programas remotos que não são baseados em linha de comando. Você pode usar Xming para isso. Pode ser que você possa simplesmente executar os comandos do LaTeX sem o X, dependendo de qual editor / ambiente você normalmente usa.

  3. O PuTTY também permite que você copie arquivos da sua máquina em casa para a sua máquina local.

por 09.12.2014 / 10:51
9

Se você puder instalar o software em seu computador de trabalho, poderá instalar win-sshfs e uma ssh client como PuTTY na sua máquina Windows.

Você pode então ssh no servidor Ubuntu remoto para executar LaTex e criar seus arquivos, após o qual você pode usar win-sshfs para acessar esses arquivos da máquina Windows.

Dessa forma, você só precisaria da porta ssh aberta em seu servidor Ubuntu remoto e de uma porta em seu roteador.

    
por 09.12.2014 / 10:48
6

Você pode executar um programa em seu computador doméstico via SSH. O aplicativo ainda será executado no computador em casa, mas será transmitido pela Internet. Isso pode ser feito via X forwarding.

Um tutorial de encaminhamento do X pode ser encontrado nos seguintes 2 URLs:

link

link

    
por 09.12.2014 / 10:42
4

Uma solução simples seria usar o dropbox, ou qualquer tipo de software que permita a sincronização entre linux e windows (veja também Uníssono e Sincronização de BitTorrent . Se você tiver o dropbox em execução nos dois computadores, sua pasta de trabalho será sincronizada quase instantaneamente. Desta forma, você pode ter o pdf atualizado em poucos segundos após a compilação.

    
por 09.12.2014 / 18:43
1

Use software como o teamviewer para acessar remotamente sua máquina Ubuntu. link

    
por 09.12.2014 / 10:45
-1

Tradicionalmente, isso é feito com rexec . Por exemplo:

rexec mymachine.batcave.ucsd.edu export DEBIAN_FRONTEND=noninteractive
rexec mymachine.batcave.ucsd.edu apt-get update -q
rexec mymachine.batcave.ucsd.edu apt-get install -q -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" ssh

instalaria o ssh na máquina remota (mymachines.batcave.ucsd.edu) sem interação, assumindo que é baseado no Debian e você tem credenciais configuradas corretamente.

Você pode inserir credenciais na linha de comando. Se eles estiverem ausentes, rexec usará aqueles do arquivo $ HOME / .netrc. Você também pode usar a opção -n e rexec solicitará um nome de usuário / senha.

Observe que as informações transmitidas pela conexão não são criptografadas, por isso, são inseguras. Por esta razão, tornou-se prática padrão iniciar um shell seguro com o ssh e, em seguida, dar comandos através desse shell. Muitos sistemas desabilitam o rexec por padrão, então para ativá-lo você precisa modificar as configurações de segurança em /etc/pam.d/rexec. O rexec é a maneira mais fácil de executar remotamente um processo, mas só deve ser usado quando sua rede é privada ou de outra forma segura (ou se você não se importa com segurança).

    
por 09.12.2014 / 21:54