Ssh istemcisinden Cygwin sshd aracılığıyla Windows'ta Windows GUI programını başlatma


10

Cygwin sshd çalıştıran Windows kutumu ssh etmek ve bu Windows kutusunda Windows GUI uygulamasını çalıştırmak istiyorum. X'in yönlendirilmesini istemiyorum.

Örneğin ubuntu-sunucu terminalinden, sshd çalıştıran Windows'a ssh ve sonra bir notepad.exe başlatıyorum. Notepad.exe Windows'ta görüntülenir, X penceresiz ubuntu sunucusunda gösterilmez.

Yanıtlar:


12

Doğru yöntemin bir sorunu var gibi görünüyor:

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

'-İ' bayrağını 'cygrunsrv' olarak belirten 'sshd' dosyasını yeniden yükleyin veya mevcut hizmeti "Yönetimsel Araçlar" -> "Hizmetler" altında düzenleyin ve hizmetin "Oturum Aç" sekmesinde "Hizmetin masaüstü ile etkileşimine izin ver" seçeneğini işaretleyin "Özellikleri".

Ben de hack yapmaya çalışıyorum. Bir cygwin_screen.cmd oluşturup Windows Başlangıç ​​klasörüne koyuyorum.

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

start_screen.sh basittir ve eklenecek ekrana sahip olduğumuzdan emin olur.

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

Artık Windows GUI uygulamasını çalıştırmak istediğimde, Windows'a ssh istemcisinden uzaktan giriş yapabilir ve bu ekrana ekleyebilirim.

$screen -d -r my_screen

$notepad.exe
$cygstart my_doc.doc

Bu çözüm benim için çalışıyor, ancak tekrar ayrıldığımda istemci ekranı işlemi askıda kalıyor. Ben ctrl-z ve süreci öldürmek gerekir. Daemon'u bir bağlamda (pencereler kutusunda) oluşturmak ve başka bir pencereden (ssh oturum açma) eklemek bu sorunu yaratıyor gibi görünüyor. SSH bağlantımı oluşturmak ve daha sonra eklemek çakışmaya neden olmaz.
Tim Rupe

1

PSTools kullanın ve ssl istemcisinden aşağıdaki gibi komutu çalıştırın. ./PsExec.exe -i -d -s \\\\127.0.0.1 notepad


0

Çözümüm daha fazla esnekliğe sahip olan tmux kullanması dışında Win Myo Htet'e benziyor.

  1. Yerel bir Cygwin terminalinde tmux'u başlatın.

    cygwin-host$ tmux

  2. Tmux oturumunda barındırılan komutu uzaktan çalıştırmak için ssh komutunu kullanın.

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.