O not-send-send pode ser usado para enviar notificações pop-up para um servidor X Windows através do ssh?

0

Eu gostaria que meu script de backup emitisse uma notificação assim que estivesse pronto. Eu corro o Ubuntu como um servidor headless e faço login nele usando o PuTTY no Windows. Eu já instalei o x11-apps e verifiquei o xclock e o xcalc para rodar com sucesso no servidor Windows X (Xming).

Se isso não for possível, qual sistema de notificação eu posso usar?

    
por silvernightstar 06.10.2013 / 22:05

2 respostas

0

Se o seu servidor é 'verdadeiramente' sem cabeça - como será quando você instalou uma edição de servidor do Ubuntu - então ele não terá as bibliotecas X instaladas e, portanto, não poderá atuar como um cliente X, portanto, nenhuma maneira de controlar o servidor X no Windows. (Observe que nem mesmo xterm será instalado.)

Se a sua sessão do PuTTY ainda estiver aberta, o servidor poderá usar wall para fazer uma notificação aparecer em todos os terminais.

Caso contrário, a maneira habitual (e resiliente) de notificar o administrador é enviar um e-mail. Se você usar cron para acionar o trabalho de backup, você nem precisa fazer nada para isso. Estou um pouco sem contato com o Windows, mas acho que você pode fazer com que o Windows o notifique quando um e-mail específico chegar.

    
por zwets 06.10.2013 / 22:55
0

Eu consegui fazer isso com o growl for windows . Aqui está algo que deve começar bem rápido:

  • Instalar o growl para janelas
  • Na guia 'segurança' da configuração do grunhido, desative a opção 'exigir senha para aplicativos de rede local' (YMMV, gerencie a segurança usando o firewall do Windows) e ative 'Permitir notificações de rede'

As opções acima ativarão um servidor de notificação no Windows (adicione o growl para janelas aos aplicativos de inicialização para que você sempre o execute)

Existem muitas maneiras de enviar notificações do seu servidor Ubuntu, aqui está uma maneira simples com python: - Instalar o python / virtualenv - Instalar o pacote gntp: $ pip install gntp

Agora, abra um editor de texto e cole o seguinte:

#!/usr/bin/env python
import gntp.notifier


def send(description, applicationName='Sample Application', noteType="Message",
    title="Msg", applicationIcon=None, hostname='127.0.0.1',
    password=None, port=23053, sticky=False, priority=None,
    callback=None, notificationIcon=None, identifier=None):

    growl = gntp.notifier.GrowlNotifier(
        applicationName=applicationName,
        notifications=[noteType],
        defaultNotifications=[noteType],
        applicationIcon=applicationIcon,
        hostname=hostname,
        password=password,
        port=port,
        )

    result = growl.register()

    return growl.notify(
        noteType=noteType,
        title=title,
        description=description,
        icon=notificationIcon,
        sticky=sticky,
        priority=priority,
        callback=callback,
        identifier=identifier,
        )


if __name__ == '__main__':
    send('Testing sample application')

Isto assume que o seu cliente ssh está encaminhando a porta 23053 para sua máquina Windows.

    
por Thiago de Arruda 21.10.2013 / 21:22