Bắt đầu chương trình GUI Windows trong Windows thông qua Cygwin sshd từ ssh client


10

Tôi muốn ssh vào hộp Windows của tôi chạy Cygwin sshd và chạy ứng dụng GUI Windows trong hộp Windows đó. Tôi không muốn chuyển tiếp X.

ví dụ: Từ thiết bị đầu cuối máy chủ Ubuntu, tôi ssh vào Windows chạy sshd và sau đó tôi khởi chạy một notepad.exe. Notepad.exe sẽ hiển thị trong Windows, không phải trong máy chủ ubfox không có cửa sổ X.

Câu trả lời:


12

Phương pháp thích hợp dường như có một số vấn đề:

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

Cài đặt lại 'sshd' chỉ định cờ '-i' thành 'cygrunsrv' hoặc chỉnh sửa dịch vụ hiện tại trong "Công cụ quản trị" -> "Dịch vụ" và kiểm tra "Cho phép dịch vụ tương tác với máy tính để bàn" trong tab "Đăng nhập" của dịch vụ "Tính chất".

Vì vậy, tôi thử một số hack. Tôi tạo một cygwin_screen.cmd và đặt nó vào thư mục Windows Startup.

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

start_screen.sh rất đơn giản và nó sẽ đảm bảo rằng chúng ta có màn hình để đính kèm.

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

Bây giờ tôi có thể đăng nhập từ xa vào Windows từ máy khách ssh và đính kèm vào màn hình đó khi tôi muốn chạy ứng dụng GUI của Windows.

$screen -d -r my_screen

$notepad.exe
$cygstart my_doc.doc

Giải pháp này hiệu quả với tôi, nhưng khi tôi tách ra một lần nữa, quy trình màn hình máy khách bị treo. Tôi phải ctrl-z ra, và giết quá trình. Tạo trình nền trong một ngữ cảnh (trên hộp cửa sổ) và đính kèm từ một (đăng nhập ssh) khác dường như tạo ra vấn đề này. Tạo và sau đó đính kèm từ kết nối ssh của tôi không gây ra xung đột.
Tim Rupe

1

Sử dụng PSTools và chạy lệnh như dưới đây từ ssl client. ./PsExec.exe -i -d -s \\\\127.0.0.1 notepad


0

Giải pháp của tôi tương tự như Win Myo Htet, ngoại trừ việc sử dụng tmux, có tính linh hoạt cao hơn.

  1. Bắt đầu tmux trên thiết bị đầu cuối Cygwin cục bộ.

    cygwin-host$ tmux

  2. Sử dụng ssh để chạy lệnh từ xa, được lưu trữ trong phiên tmux.

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.