1 puan yazan qetqet910 5 시간 전 | Henüz yorum yok. | WhatsApp'ta paylaş

Birden fazla VM açıp durmadan pencere değiştirmekten yorulunca yaptım.

Şirketteki işe alışırken bir anda aklıma şu geldi.

Bir bakım talebi geldiğinde ilgili müşteri sunucusuna uzak masaüstü (MST),
istemci sürümüne uygun geliştirme ortamı (Hyper-V), özel ortam gerektiren müşteriler (VDI/Omnissa) derken
ekran fazlasıyla dağınık oluyor.. Bunun daha iyi bir yolu yok mu?

Bu yüzden ekibe az da olsa yardımcı olabilir mi diye düşünüp kendim yapmayı denedim.

  • Çalışma şekli

HyperDesk, Hyper-V (VMConnect) ve RDP oturumlarını Win32 Window Swallowing ile uygulamanın içine gömüyor.
Bu bir önizleme ya da sekme değil; gerçek oturum penceresini SetParent ile içine alan bir yaklaşım.

  1. Tek etkin görünüm + anında geçiş: Tek bir etkin oturumu tam ekranda gösterir ve Alt+1~4 (veya üst sekmeler) ile en fazla 4 oturum arasında anında geçiş yapar. Diğer oturumlar arka planda canlı kalır, bu yüzden geçişte bağlantı kopmaz.
  2. Klavye yönlendirme: Etkin oturum odaktaysa Win tuşu, Alt+Tab gibi sistem kısayolları VM içine iletilir.
  3. UI donmasını önleme: Harici istemcinin kimlik doğrulama modalı açılsa bile ana UI donmasın diye AttachThreadInput yerine bağımsız bir mesaj kuyruğu kurarak deadlock'tan kaçındım.
  4. Pencere takibi: Uygulama penceresi yeniden boyutlandırıldığında gibi yerleşim değişikliklerinde, gömülü harici pencerenin konumunu requestAnimationFrame + arka uç delta filtreleme ile takip ettirdim.

Bunun dışında snapshot, uzak varlık başına takma ad/not, komut paleti, RDP, Hyper-V aç/kapat gibi kullanım kolaylığı sağlayan özellikler de ekledim.

  • Yığın / ortam

Tauri v2 + Rust + React 19
Yalnızca Windows
Açılış sayfası : https://landinghyperdesk.netlify.app/ (Y2K)

  • Henüz çalışmayanlar

VMware/Omnissa Horizon için istemci çalıştırma kodunun bir kısmı var ama gerçek kullanım doğrulaması yapılmadı. Özellikle Omnissa, VM'in kendisi değil bir dashboard yapısında olduğu için pencereyi yakalayıp gömmek zor; bu yüzden gömme özelliği devre dışı durumda.

Bunu bir yan proje olarak yaptığım için eksikleri çok. Özellikle Window Swallowing yaklaşımının kendi sınırları ya da bu yaklaşımın gerçek iş ortamında istikrarlı şekilde kullanılıp kullanılamayacağı konusunda görüşleri merak ediyorum. Benzer dertleri yaşamış olanlar geri bildirim verirse memnuniyetle dikkate alırım!

Henüz yorum yok.

Henüz yorum yok.