Виртуальные рабочие столы в Windows появились достаточно давно. Было множество программ, которые пытались реализовать эту функцию, да и сама Microsoft не оставалась в стороне: сначала для Windows XP в состав Windows XP PowerToys был включён Virtual Desktop Manager, а после похожая утилита была добавлена в набор утилит Sysinternals - Sysinternals Desktops. С появлением же Windows 10 и Windows 11 функционал виртуальных рабочих столов был реализован непосредственно в самих этих системах.

Я пробовал работать с виртуальными столами во времена Windows XP (пользовался какими-то программами, сейчас уже и не вспомню, какими, но точно не PowerToys и Sysinternals, скорее всего, это был какой-то альтернативный шелл) и результат меня не очень впечатлил. В конце концов, меня утомили всевозможные глюки и я перестал эксперементировать. И вот, недавно, вновь решил вернуться к этому функционалу.

Во-первых, задуматься об этом меня побудило окружение, в котором мне приходится сейчас работать: два удаленных хоста через VMWare Horizon Client (один под Windows Server 12, другой под Астра Linux) в режиме "на весь экран", рабочий стол домашнего компьютера (через Google Chrome Remote Desktop), различные программы, запущенные на локальном компьютере - браузеры, терминальные окна и так далее. Во-вторых, появилась надежда, что раз функция теперь встроенная, то и ошибок будет меньше.

В общем, образовалось у меня три рабочих стола:

  • для локального компьютера
  • для удалённой машины с Windows Server 12
  • для удалённого хоста с Астра Linux

Как ни удивительно, но всё наладилось довольно быстро и претензий у меня практически не возникало. Кроме одной: для переключения рабочих столов Windows очень удобно использовать комбинации клавиш Win+Ctrl+Left/Right или Win+Tab. Но вот беда: эти комбинации на удалённых хостах и с Windows Server 12 и с Астра Linux перехватываются и приводят к переключению между рабочими столами этих самых хостов (да-да, и на Астра Linux тоже работает комбинация клавиш с участием кнопки Win).

Методом тыка в клавиатуру проблему решить не удалось, но на помощь пришла комбинация клавиш Horizon ClientCtrl+Alt, которая передаёт фокус ввода системе, в которой этот самый клиент запущен. В общем, сейчас, для переключения между удалёнными хостами с Астрой и Windows Server приходится использовать двойную комбинацию клавиш: сначала Ctrl+Alt и только потом Win+Ctrl+Left/Right. Это, конечно, не так удобно, как просто Win+Ctrl+Left/Right, но лучше, чем мышкой минимизировать окно Horizon Client-а, переключаться на другой рабочий стол и восстанавливать ранее свёрнутое по той же причине окно второго Client-а.

Лучшего решения пока найти не удалось, но поиски продолжаются...

P.S. Подумалось, что может помочь PowerToys со своим Keyboard Manager, но, увы... по крайней мере, с наскока решить проблему тоже не удалось.