Avvio del programma GUI di Windows in Windows tramite Cygwin sshd dal client ssh


10

Vorrei ssh nella mia casella di Windows che esegue Cygwin sshd ed eseguire l'applicazione GUI di Windows in quella casella di Windows. Non voglio l'inoltro X.

ad es. dal terminale ubuntu-server, eseguo SSH in Windows eseguendo SSHD e quindi lancio un notepad.exe. Notepad.exe verrà visualizzato in Windows, non in Ubuntu-Server senza X Windows.

Risposte:


12

Il metodo corretto sembra avere qualche problema:

http://cygwin.1069669.n5.nabble.com/Windows-GUI-programs-eg-notepad-start-but-are-invisible-after-ssh-login-td56256.html

http://cygwin.com/ml/cygwin/2007-10/msg00334.html

Reinstallare 'sshd' specificando il flag '-i' su 'cygrunsrv' o modificare il servizio corrente in "Strumenti di amministrazione" -> "Servizi" e selezionare "Consenti al servizio di interagire con il desktop" nella scheda "Accesso" del servizio "Proprietà".

Quindi provo qualche hack. Creo un cygwin_screen.cmd e lo inserisco nella cartella Startup di Windows.

@echo off 
C:
chdir C:\cygwin\bin
bash --login -i "/home/username/bin/start_screen.sh"

start_screen.sh è semplice e farà in modo che abbiamo lo schermo a cui collegarci.

#!/bin/bash
screen -dmS "my_screen"

Ora posso accedere in remoto a Windows dal client SSH e collegarlo a quella schermata quando voglio eseguire l'applicazione GUI di Windows.

$screen -d -r my_screen

$notepad.exe
$cygstart my_doc.doc

Questa soluzione funziona per me, ma quando mi stacco di nuovo, il processo dello schermo del client si blocca. Devo premere Ctrl-Z e terminare il processo. La creazione del demone in un contesto (nella finestra di Windows) e il collegamento da un altro (login ssh) sembra creare questo problema. La creazione e quindi il collegamento dalla mia connessione SSH non causa il conflitto.
Tim Rupe,

1

Utilizzare PSTools ed eseguire il comando come di seguito dal client ssl. ./PsExec.exe -i -d -s \\\\127.0.0.1 notepad


0

La mia soluzione è simile a quella di Win Myo Htet, tranne per il fatto che utilizza tmux, che ha maggiore flessibilità.

  1. Avviare tmux su un terminale Cygwin locale.

    cygwin-host$ tmux

  2. Utilizzare ssh per eseguire il comando in remoto, ospitato nella sessione tmux.

    other-host$ ssh cygwin-host tmux new-window notepad

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.