เป้าหมายของฉันคือการเปิดตัวสคริปต์ AutoHotKey ง่ายๆในเครื่อง Windows 10 จากโฮสต์ Ubuntu ภายในเครือข่ายส่วนตัวเดียวกัน ฉันพบแล้ว winexe ซึ่งฟังดูเหมือนว่าจะทำสิ่งที่ฉันต้องการ แต่หลังจากการทดลองหลายครั้งฉันไม่สามารถเชื่อมต่อกับ Windows 10 ได้ ("ไม่สามารถเปิดการเชื่อมต่อ - NT_STATUS_CONNECTION_RESET" googling ต่อไปไม่ได้ช่วยอะไร) ในฐานะที่เป็นโซลูชั่นที่สองฉันได้ติดตั้งเซิร์ฟเวอร์ SSH บนเครื่อง Windows (Bitvise SSH Server) ตอนนี้ฉันสามารถเข้าสู่ระบบจาก Ubuntu ผ่าน ssh ไปยัง Windows หรือเพียงแค่เรียกใช้คำสั่งบนเครื่อง Windows:
$ ssh user@windowsmachine command
ใช้งานได้กับคำสั่งปกติเช่น DIR, MKDIR, ... แต่ไม่สามารถใช้งานกับสคริปต์ AutoHotKey ได้ เช่นกับ
$ ssh user@windowsmachine 'C:\path\to\script.ahk'
ไม่มีอะไรเกิดขึ้นในเครื่อง Windows (เปิดใช้งานในเครื่องสคริปต์ทดสอบนี้เพิ่งแสดงกล่องข้อความทักทาย) ความพยายามต่อไปนี้ยังไม่ทำงาน:
$ ssh user@windowsmachine '"C:\Program Files\AutoHotkey\AutoHotkey.exe" C:\path\to\script.ahk'
$ ssh user@windowsmachine 'cmd.exe /c C:\path\to\script.ahk'
ปรับปรุง: เคล็ดลับการทำงานเกือบ เช่นจะเปิดใช้งาน calc.exe:
$ ssh user@windowsmachine calc.exe
แต่ถ้าฉันเปิดตัว notepad.exe หรือแอปพลิเคชั่นอื่นฉันเห็นมันใน taskmanager ที่ทำงานเป็นกระบวนการพื้นหลังโดยไม่มี GUI (ฉันไม่ทราบ wjat ดังนั้นเป็นพิเศษเกี่ยวกับ Calc. exe ที่ทำงานตามปกติ) ฉันจัดการเพื่อแก้ไขปัญหาของ winexe เช่นกัน แต่สถานการณ์นั้นเหมือนกับ ssh - ยกเว้น calc.exe แอป GUI ทั้งหมดจะเปิดตัวเป็นกระบวนการพื้นหลัง ปัญหาที่กล่าวถึงนี้ ที่นี่ . ดังนั้นสิ่งที่สำคัญที่สุดคือต้องใช้ความพยายามอย่างมากในการรันแอพ GUI ใน Windows 10 จากโฮสต์ Linux ดังนั้นฉันเพิ่งเขียนแอปไคลเอนต์เซิร์ฟเวอร์ของตัวเองใน Qt 5 ซึ่งฟังพอร์ตที่แน่นอนและรันแอพ / สคริปต์ที่เกี่ยวข้องเมื่อได้รับคำสั่งที่ผู้ใช้กำหนดจากโฮสต์อื่น