Windows 10 : 전체 화면 원격 데스크톱에서 가상 데스크톱 전환


28

Windows 10에는 3 개의 가상 데스크톱이 있습니다.
이 데스크톱 중 하나에서 mstsc 전체 화면을 실행합니다.

데스크톱을 전환하려면 windows + ctrl + 왼쪽 또는 오른쪽을 사용할 수 있습니다.
그러나 전체 화면 mstsc에있을 때이 키는 mstsc에 의해 캡처되고 전환이 작동하지 않습니다.
이 행동을 바꿀 수있는 방법이 있습니까?


이것에 대한 답변도 필요합니다!
Antony

1
이것이 좋을 것이기 때문에 공감. RDP 또는 컴퓨터에 적용 할 Windows 키 조합을 선택하는 것이 좋습니다.
MikeMurko 2012 년

답변:


32

나는이 문제에 대한 해결책을 찾고 있었고 단지 하나를 발견했다!

CTRL+ ALT+ HOME는 원격 데스크톱에있을 때 키보드 포커스를 호스트에 다시 제공합니다.
그런 다음 WIN+ CTRL+를 수행 LEFT하거나 RIGHT가상 데스크톱간에 전환 할 수 있습니다 .
이상적이지는 않지만 아마도이 두 가지 단축키를 자동 단축키로 처리 할 것입니다.


1
너무 멋져요! 나는 잠시 동안 이와 같은 것을 찾고 있었고 내가 찾은 최고는 전체 화면 모드를 닫는 Ctrl + alt + break (일시 중지)였습니다. 매우 불편합니다! 이것이이라면 현상금을 줄 stackoverflow것이지만 여기서는 할 수 없습니다. 감사합니다 +1!
Kiril Kirov

Lov ya 너무 많이 내 견해를 잡아 !!
Fedaykin

7

원격 데스크톱 클라이언트에서는 Windows 키 조합을 적용 할 때 "이 컴퓨터 만"을 선택해야합니다.

원격 데스크톱 로컬 리소스


4
작품,하지만 지금은 ALT + TAB 사용할 수 없습니다
R03

1
나도 같은 문제가 있습니다. 승리 + Ctrl + 왼쪽 / 오른쪽을 무시할 수있는 방법이 있었으면 좋겠습니다.
Ege Özcan

1
@ EgeÖzcan이 있습니다. 이 답변보기
Luke

4

먼저 Windows 키가 원격 컴퓨터에서 작동하기를 원했기 Alt-Tab때문에 "Windows 키 조합 적용"설정에 대해 "전체 화면을 사용할 때만"이 있습니다.

그런 다음 전체 화면이 표시 될 때 원격 데스크톱에서 벗어날 수있는 키 조합이 거의 없기 때문에 CTRL-ALT-HOME연결 막대를 가져 와서 로컬 컴퓨터에 대한 제어권을 제공하는 을 사용해야 합니다.

그래서이 자동 핫키 스크립트를 작성했습니다 : switchVirtualDesktopWithRD.ahk . 이 스크립트를 완전히 기반으로 하므로 크레딧을 얻지 않습니다. 난 그냥 내 필요에 맞게 수정했습니다 . 당신은 당신에게 그것을 조정할 수 있습니다 ...

필자의 경우 두 개의 가상 데스크톱 만 있습니다. 첫 번째는 기본 데스크톱이고 두 번째는 전체 화면 원격 데스크톱 클라이언트를 실행하는 곳입니다.

내가 누를 때 스크립트가하는 일 CTRL-ALT-HOME:

  • 전체 화면 원격 데스크톱 클라이언트를 실행하는 두 번째 가상 데스크톱에있는 경우 먼저 연결 표시 줄이 표시됩니다. 나는 다음 누르 HOME(다시 키 CTRLALT여전히 누름) 내가 다시 첫 번째, 주 바탕 화면입니다. 두 번째 데스크톱에서 전체 화면 세션이 진행되지 않으면 첫 번째 조합은 첫 번째 데스크톱으로 즉시 전환됩니다.

  • 첫 번째 데스크톱에있는 경우 두 번째 데스크톱으로 즉시 전환됩니다.

다시 말해, 항상 CTRL-ALT-HOME데스크톱 간을 전환 하는 데 사용 합니다.


나는 이것을 좋아한다. 우리는 원격 컴퓨터 (들)에 AHK 스크립트를 실행 (당신이 로그인 할 때 시작하도록 설정)하면 우리가 번역 할 수 있다면, 궁금 CTRL-WIN-LEFT로를 CTRL-ALT-HOME원격 AHK에서 RDP 연결 표시 줄에 초점 스위치를 트리거합니다. 그런 다음 CTRL-WIN-LEFT두 번 눌러 데스크탑을 전환해야합니다.
Luke

작동하지만 스크립트는 로컬 컴퓨터에서만 실행됩니다. 원격에서 ahk가 필요하지 않습니다. D
Luke

3

떨어져 건물 전기 판의 대답 I 활성화 것 AHK 스크립트가 Ctrl+ Win+ LeftCtrl+ Win+ Right- 즉, 스위치가 RDP 세션 내에서 다른 키를 희생하지 않고, 전체 화면 RDP 세션 내에서 로컬 컴퓨터의 데스크탑에 단축키를 Alt+ Tab모든 여전히와 유사한 RDP 세션 내에서 정상적으로 작동합니다.

원격 컴퓨터에서 일반 바로 가기 키를 사용하려면 RDP 세션을 시작할 때 "Windows 키 조합 적용"설정에 대해 "전체 화면을 사용할 때만"이 있어야합니다.

실제로 스크립트를 AHK 포럼에서 찾은 다른 스크립트를 기반 으로했습니다.

그것이하는 일 :

  • 원격 데스크톱이 아닌 로컬 시스템에서 스크립트를 실행하십시오. 나는 C:\users\<user>\documents\AutoHotkey.ahk논쟁없이 ahk를 시작할 때 실행되도록 내를 붙여 넣었습니다 .
  • RDP 세션 내에 있고 Ctrl+ Win+ ( Left또는 right)를 누르면 스크립트가 먼저 Ctrl+ Alt+ Home를 보내 RDP 제목 표시 줄에 초점을 맞춘 다음 데스크톱 전환 키 조합을 전송하여 실제로 데스크톱을 전환합니다.

참고 : 두 개 이상의 가상 원격 데스크톱 (예 : 로컬 가상 데스크톱 하나, 각각에 전체 화면 RDP 창이있는 두 개의 가상 데스크톱)을 사용하면 약간의 버그가 발생하지만 더 이상 작업 할 시간이 없습니다. . 문제는 하나의 가상 원격 데스크톱에서 다른 가상 원격 데스크톱으로 전환 할 때 핫키 바인딩을 해제하고 리 바인드해야하며이를 감지하는 데 문제가 있습니다 (단, RDP 제목 표시 줄에는 다른 창 클래스가 있지만 항상 이것을 선택하십시오).

Ahk 스크립트 :

;setTimer, windowwatch, 500
#persistent
#usehook
SLEEP_VAL := 500
DEBUG := false
keys_bound := false

while true {
    ;Debug("Waiting")
    sleep, SLEEP_VAL
    keys_bound := WaitBind()
}

WaitBind() {
    WinWaitActive, ahk_class TscShellContainerClass
    Debug("bind")
    hotkey LWin & Left, ctrl_win_left_key, on
    hotkey LWin & Right, ctrl_win_right_key, on
    return true
}

WaitUnbind() {
    WinWaitNotActive, ahk_class TscShellContainerClass
    Debug("unbind")
    hotkey LWin & Left, ctrl_win_left_key, off
    hotkey LWin & Right, ctrl_win_right_key, off
    return false
}

Debug(msg) {
    global DEBUG
    if (DEBUG) {
        tooltip %msg%
        settimer, TooltipClear, 2000
    }
}
return

z_key:
    ; simple script for testing - change the z to 'he'
    send, he
    Debug("done z")
return

j_key:
    ; testing if we can activate the RDP title bar
    send {Ctrl down}{Alt down}{Home}{Alt up}{Ctrl up}
    Debug("done j")
Return

ctrl_win_left_key:
    ; we are intercepting all Win+Left combinations so we have to do Win+Shift+Left and Win+Left manually to preserve them inside the RDP
    GetKeyState, shiftState, Shift
    GetKeyState, ctrlState, Ctrl
    if (shiftState = "D") {
        ; by default in windows Ctrl+Shift+Win+Left will act like Shift+Win+Left - shift takes precedence
        Debug("done shift win left")
        send {Shift down}{LWin down}{Left}{LWin up}{Shift up}
    } else if (ctrlState = "D") {
        Debug("done ctrl win left")
        ; the magic happens here
        send {Ctrl down}{Alt down}{Home}{Alt up}{Ctrl up}
        keys_bound := WaitUnbind()
        ;Sleep, SLEEP_VAL ;give the OS time to focus on the title bar
        send {Ctrl down}{LWin down}{Left}{LWin up}{Ctrl up}
    } else {
        Debug("done win left")
        send {LWin down}{Left}{LWin up}
    }
Return

ctrl_win_right_key:
    ; we are intercepting all Win+Right combinations so we have to do Win+Shift+Right and Win+Right manually to preserve them inside the RDP
    GetKeyState, shiftState, Shift
    GetKeyState, ctrlState, Ctrl
    if (shiftState = "D") {
        ; by default in windows Ctrl+Shift+Win+Left will act like Shift+Win+Left - shift takes precedence
        Debug("done shift win right")
        send {Shift down}{LWin down}{Right}{LWin up}{Shift up}
    } else if (ctrlState = "D") {
        Debug("done ctrl win right")
        ; the magic happens here
        send {Ctrl down}{Alt down}{Home}{Alt up}{Ctrl up}
        keys_bound := WaitUnbind()
        ;Sleep, SLEEP_VAL ;give the OS time to focus on the title bar
        send {Ctrl down}{LWin down}{Right}{LWin up}{Ctrl up}
    } else {
        Debug("done win right")
        send {LWin down}{Right}{LWin up}
    }
Return


TooltipClear:
    ; just a routine to turn off tooltip after x milliseconds
    tooltip
    settimer, TooltipClear, off
Return

windowwatch:
    ifwinactive ahk_class TscShellContainerClass
    {
      Debug("bind")
      hotkey LWin & Left, ctrl_win_left_key, on
      hotkey LWin & Right, ctrl_win_right_key, on
    }
    else
    {
     Debug("unbind")
     hotkey LWin & Left, ctrl_win_left_key, off
     hotkey LWin & Right, ctrl_win_right_key, off
    }
Return

때로는 작동하지 않는 것처럼 느껴집니다 Ctrl+Win. 로컬 데스크톱에서 원격으로 또는 그 반대로 갈 때 때때로 키를 놓았다가 다시 눌러야합니다 . 그것이 작동하지 않는 경우 것을 시도하거나 전송 사이의 지연을 증가시키기 위해 스크립트의 상단에있는 SLEEP_VAL 증가 Ctrl+Alt+Home하고Ctrl+Win+Left
누가 복음

3

터치 패드가 있으면 네 손가락 제스처를 시도 할 수 있습니다.

에서 Microsoft 지원 - 윈도우 10에 터치 패드 제스처

가상 데스크톱 전환 : 터치 패드에 손가락 네 개를 놓고 오른쪽 또는 왼쪽으로 밉니다.

Windows 10에서 두 개의 가상 데스크톱으로 작업하고 있습니다.이 데스크톱 중 하나에서 전체 화면 모드로 원격 데스크톱을 통해 Win 7에 액세스하고 있습니다.

이 단일 제스처로 두 가상 데스크톱간에 전환 할 수 있습니다. 그것은 나를 위해 작동합니다.


-1

스크립트를 변경하여 핫키를 눌렀다 놓아야하는 문제를 해결하여 실행할 때 핫키를 바인딩하고 절대 바인딩을 해제하지 않습니다.


이 답변에 대한 컨텍스트를 명확하게 설명하고 추가하여 정확하게 제안하는 내용을 전달하십시오. 알다시피, 당신이 진술 한 것을 뒷받침하는이 답변에 대한 참조를 추가하는 것을 고려하십시오. 그렇지 않으면 "댓글을 달려면 50 개의 평판이 필요한 이유"를 읽으십시오 .
Pimp Juice IT
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.