Execute o script no Linux Mint a partir de uma máquina Windows

1

Basicamente, estou tentando usar o Linux Mint para exibir apresentações em Powerpoint.

As apresentações serão atualizadas em uma máquina Windows, o usuário irá então executar um script que 'refresca' a apresentação nos terminais de apresentação. Temos isso em vigor agora, mas usando o Windows XP, que agora temos que remover por causa do término do suporte.

O problema que estou tendo com o Mint é que não sei como executo um script de uma máquina Windows, que mata o processo de apresentação atual, transfere a última cópia da apresentação e depois a executa.

Eu tentei usar plink para roteirizar isso por meio de uma conexão SSH, mas ela não mostra a apresentação porque é executada na sessão 'SSH' em vez de no console.

Alguma idéia é muito apreciada Eu acertei uma parede mental!

Obrigado

    
por Kyle 19.05.2014 / 15:33

3 respostas

3

Estou fazendo algumas suposições aqui:

  • Na máquina linux, alguma sessão gráfica está sendo executada, provavelmente um xserver.
  • Usando a conexão ssh, você não consegue acessar esse xserver.

Você pode tentar o seguinte:

  1. Você copia a nova apresentação para a máquina linux.
  2. Supondo que seu programa de apresentação é chamado foo (por favor, diga-nos como é chamado), você pode eliminá-lo usando killall foo ou pkill foo . Isso funcionará se você estiver usando o usuário correto (ou root, o que você não deveria).
  3. Você precisará definir a variável DISPLAY em seu script ssh para iniciar um aplicativo gráfico. O mais provável é que o seguinte funcione (se isso não acontecer, consulte Abra uma janela em um display X remoto (por que" Não é possível abrir a tela ")? ).

    export DISPLAY=":0"
    
  4. Agora você deve poder iniciar foo novamente e exibir na tela.

Você pode querer criar um script para isso (tornar executável chmod u+x restart-foo.sh :

#!/usr/bin/env bash
# name this script
#    restart-foo.sh
pkill foo
export DISPLAY=":0"
nohup foo path/to/presentation.xxx &

Você pode executar isso usando ssh (depende do seu windows ssh-client, eu acho) com

my-command-to-copy-the-presentation
ssh user-name@linux-machine ./restart-foo.sh
    
por 19.05.2014 / 15:48
0

Com a ajuda de Fabian, consegui trabalhar com o seguinte script:

    #!/usr/bin/env bash
mount -t cifs //10.50.18.114/Presentation -o 'username=Administrator,password=***,sec=ntlm' /mnt/share
pkill soffice.bin
cp -v /mnt/share/Pres.ppt /home/kyle/Documents
chmod 777 /home/kyle/Documents/Pres.ppt
export DISPLAY=":0"
nohup libreoffice --norestore --nolockcheck --show /home/kyle/Documents/Pres.ppt &
sessionid="$(pidof -s sshd)"
kill $sessionid
exit

Eu usei plink para executar um 'script SSH' que executa automaticamente este script acima como root, a sessão kill no final apenas encerra a sessão plink ssh, uma vez que apenas trava no final e não fecha corretamente.

    
por 28.05.2014 / 11:36
0

Se a sua configuração permitir salvar / exportar apresentações para pdf , você poderá mudar de libreoffice para evince para exibir apresentações em sua máquina linux. Evince é um visualizador pdf e atualizará automaticamente a visualização se o arquivo exibido for alterado.

Na sua configuração, tudo o que você precisa fazer é descobrir como copiar a apresentação atualizada para a máquina Linux. O ideal é que você possa configurá-lo para que o pdf seja salvo em um compartilhamento do Samba. Em seguida, o pdf exibido seria atualizado logo que o usuário do computador com Windows o salvasse.

    
por 19.05.2014 / 16:56