Esecuzione di un programma GUI sul display di un PC Linux remoto tramite ssh


2

Mi sto collegando a PC Linux remoti tramite ssh, per aggiornare il software e svolgere altre attività. Voglio inviare una notifica alla schermata del PC remoto (ad esempio, "Non eseguire il programma X, è in fase di aggiornamento ora"), in modo che gli utenti sappiano cosa sta succedendo.

C'è un inverso modo per ssh -X host così posso connettermi a una macchina Linux remota ed eseguire notify-send e appare sull'altro display?


notify-send è solo un esempio, giusto? Supponendo che "PC" si riferisca a Windows, immagino notify-send non funzionerà sulla macchina di destinazione. O non capisco la domanda?
Arjan

@ Arjan, no - tutti i PC remoti eseguono linux, quindi userò notify-send :-)
skazhy

Risposte:


1

Se Windows, puoi dare un'occhiata al net msg (sp?) dalla riga di comando. Provare net msg help.

Se Unix, c'è il wall comando, che scrive sul terminale di tutti (deve essere eseguito come root). Non c'è modo di connettersi al server X11 delle persone.


1

Fare

man xhost

Di seguito è riportato un semplice esempio che mostra come eseguire l'applicazione X in remoto.


Inserisci

xhost +local:

nel ~/.xinitrc della macchina remota, quindi riavvia X di

sudo systemctl restart xdm.service

Quindi ssh nella macchina remota, prova ad eseguire xclock.


0

provare: ssh user@hostname:~ "DISPLAY=:0 notify-send 'subject' 'message'"

DISPLAY =: 0 presuppone un singolo utente, una singola sessione X ecc. Se è più coinvolto di questo, la cosa migliore da fare è avere uno script di notifica che viene eseguito, invece di inviare notifiche direttamente, che potrebbe passare attraverso i cerchi di analizzando l'output di "who" per scoprire quale terminale e X display si adattano meglio ai tuoi scopi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.