Você deve IMO não iniciar o selecionador de data e hora do sistema, a menos que seus clientes insistam em sua aparência.
Se você realmente precisa fazer isso, você precisa do http-server (apache, ngnix ou whaterver que estiver usando) para iniciar um programa que é exibido na superfície do X. Para isso, você precisa:
- acionar algo em seu software de back-end que iniciará o programa Y, que é o datetimepicker. Você pode fazer isso com base no acesso a uma URL específica, mas precisará alterar o software de back-end em execução no servidor.
- forneça os direitos apropriados para programar Y para conectar-se a X (
xhost +
e iniciar o programa com a exibição apropriada, por exemplo, definindo as variáveis de ambiente DISPLAY. - conceda os direitos apropriados ao programa Y para alterar a data na máquina (isso pode envolver permissões de root por meio dos direitos da SUID
Uma solução muito mais limpa seria IMO para solicitar a data / hora em algum campo de entrada (ou usar algum selecionador baseado em JavaScript) e enviar o tempo selecionado para o http-server que ainda precisa chamar um programa com direitos suficientes para realmente definir a data e hora no servidor, mas seria um programa muito mais simples, ou mesmo ser /bin/date
com o conjunto de bits SUID. Dessa forma, você não precisa se conectar à exibição do host e pode verificar com mais facilidade se a entrada de data e hora pelo usuário faz sentido.
O AJAX por si só não o ajudará, pois ele precisa conversar com algum back-end (http-server). Faz pouca diferença para o backend para obter uma chamada AJAX iniciada ou algum acesso normal URL através de algum link de formulário baseado botão.