Windows XP에서 기본 콘솔 에뮬레이터 교체


11

Windows XP에서 콘솔 창을 제공하는 기본 프로그램을 바꾸려면 어떻게해야합니까?

대체 프로그램을 알고 cmd.exe있으며 Console2 에서 바로 가기를 시작 했습니다 . 그러나 이제 콘솔 응용 프로그램을 시작하는 프로그램을 제어 할 수없는 경우에도 콘솔 응용 프로그램을 기본 콘솔 프로그램이 아닌 Console2에서 시작하려고합니다. (콘솔 이외의 프로그램이 consoleapp.exe시작되고 대신 Console2를 시작하도록 변경할 수는 없지만 여전히 새로운 Console2 인스턴스 내에서 응용 프로그램을 시작하려고합니다.)

( 콘솔 자체, 즉 콘솔 (예 : 텍스트 모드) 응용 프로그램이 실행되는 창 을 바꾸고 싶습니다 . 그리고 임의의 수정되지 않은 콘솔 응용 프로그램을 실행할 수 있어야합니다. Cmd와 같은 특정 콘솔 프로그램 대신 사용 가능 나를 잘하지 않습니다.)

편집 : 그래서 난 후 것은입니다 CSRSS 교체 , 에 리드

OT : Microsoft가 적절한 CSRSS 교체시기를 알고 싶습니다. 창 크기를 조정하여 "터미널"의 너비를 조정할 수없는 것은 완전한 농담입니다.

이미 ISE를 다운로드하십시오. (Win7 / 2008R2에 포함되어 있습니다.)

그러나 내가 이해하는 한이 ISE는 일반적인 콘솔 에뮬레이터가 아닌 Powershell환경입니다 .


새 견적에 언급 된 결함은 IIRC 콘솔 2에서 실행될 때 CMD에 적용되지 않습니다.
paradroid

@ jason404 : 예. 그러나 배치 파일을 두 번 클릭하면 Console2에서 열리지 않습니다. 이와 같은 인스턴스는 실제로 명령 행 쉘을 교체해야 할 수있는 곳입니다. 좋은 질문이라고 생각합니다, +1
Sasha Chedygov

새 콘솔 에뮬레이터 탭에 표준 콘솔의 "연결"이 적합합니까? 수동 연결입니다.
Maximus

@Maximus 나는 당신이 무엇을 말하는지 이해하지 못합니다. "std 콘솔"은 CSRSS를 의미합니까? 그 "첨부"는 어디에 있습니까?
Gilles 'SO- 악한 중지'

ConEmu는 기존 "실제 콘솔"(CSRSS, 예) 또는 간단한 GUI 응용 프로그램을 해당 탭에 연결할 수 있습니다. 연결은 ConEmu 인터페이스에서 수동으로 수행하거나 콘솔에서 특수 명령을 실행하여 수행 할 수 있습니다 (해당되는 경우).
Maximus

답변:


9

ConEmu -Windows 콘솔 에뮬레이터 의 저자입니다 . 그 기능 중 하나는 탭의 기존 콘솔 또는 간단한 GUI 응용 프로그램으로 캡처하는 것입니다. 따라서 표준 콘솔 (CSRSS / ConHost)에서 콘솔 프로그램을 시작한 후 다음을 수행 할 수 있습니다.

  • ConEmu 시스템 메뉴에서 "첨부 ..."항목 ( 기본적으로 Win+ G)을 선택하고 연결 창을 선택하십시오. ConEmu가 시작되지 않은 경우 시작시 콘솔 / 탭을 작성하지 않고 선택적으로 시작할 수 있습니다.

    C:\Tools\ConEmu.exe /detached
    
  • 또는 해당되는 경우 콘솔 쪽에서 연결을 시작하는 다음 명령 (ConEmu \ Attach.cmd)을 시작된 콘솔에서 실행하십시오. 이 경우 ConEmu.exe (GUI)가 아직 없으면 자동으로 시작됩니다.

    ConEmuC.exe /ATTACH /NOCMD
    
  • 한 가지 더 방법이 있습니다. 귀하의 요구 사항과 맞지 않는 것으로 생각되지만 공개하겠습니다. 레지스트리에 키가 있으며 콘솔 시작 후 cmd / tcc가 실행합니다. 당신이 시작하는 동안 consoleapp.exe, 아니 cmd.exe,이 미스. Cmd_Autorun.cmdConEmu distrib 에는 이 명령을 설치 / 제거하기위한 파일이 있습니다.

    [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
    "AutoRun"="\"<Command to be executed>\"" 
    

태그는 Superuser.com에, 여기

UPD . 콘솔 창을위한 대체 비침 입형 연결 모드.

ConEmu 첨부 외부 콘솔 대화 상자

UPD2 . 빌드 121128. 예를 들어, 지정된 (사용자 별) 응용 프로그램에서 "콘솔 창 생성"을 가로 챌 수 있습니다 explorer.exe,vcexpress.exe. 이 관입적인 실험 기능 에 대해 자세히 알아보십시오 .


유망 해 보이지만 나에게는 효과가 없습니다 (다른 사람들에게는 효과가 있다고 생각합니다). 첨부하려고 consoleapp.exe하면 메시지가 나타납니다 ConEmuC.X, PID=5656 Injecting remote into PID=5432 FAILED, code=-111:0x00000057. consoleapp.exe디버깅중인 프로그램 이므로 "원격 주입"을 보면 ConEmu에서 사용하는 기술이 결코 효과가없는 것으로 의심됩니다. "외국"프로그램이 디버깅중인 프로그램을 혼란스럽게 할 수 없습니다.
Gilles 'SO- 악한 중지'

120704 빌드를 시도하십시오. 대체 모드가 적합 할 수 있습니다.
Maximus

대체 모드 작동으로 120704를 빌드하십시오. 기본 콘솔 에뮬레이터를 바꿀 수 없다면 응용 프로그램이 시작된 후 더 나은 것을 연결하는 것이 아무것도 아닌 것보다 낫습니다. 그래도 한 번의 키 누름으로 어떻게하는지 알 수 없습니다 .
Gilles 'SO- 악한 중지'

@ 맥시 무스 : 나는 당신의 위대한 작품을 칭찬하지 않을 수 없습니다. Windows를 거의 사용하지 않지만 때때로 Cygwin 또는 Msys 통합이 필요합니다. Console2는 지금까지 내가 본 가장 멋진 솔루션을 가지고 있었지만 다소 어색했습니다. ConEmu는 매우 훌륭하지만 다음 두 가지를 원합니다. 1. 프로파일을 더 잘 지원해야합니다. 즉, 사용자 정의 콘솔 프로파일을 저장 / 삭제하는 관리자가 있어야합니다 (예 : sh직접 호출 ; 2. 창 분할 가능) 여러 개의 수직 / 수평 탭과 재시작
시이

@ axel22 : ConEmu Issues에 희망 사항을 게시 할 수 있습니다 . 1. 이미 프로파일이 있습니다. 2. 로드맵에서.
Maximus

1

당신은 할 수 없습니다. Win32 콘솔은 항상 CSRSS에서 제공하는 내장 콘솔 창을 사용합니다.


고마워, 이제 내가 무엇을하고 있는지 CSRSS 대체품이라는 것을 알고있다.
Gilles 'SO- 악마 중지'

@Gilles : 행운을 빕니다. (실제로 Windows 7에서는 그 기능 중 많은 부분이 커널로 옮겨졌지만 여전히 "중요한 프로세스"를 유지하면서 Win32 하위 시스템의 핵심 요소입니다.)
user1686

@ Giles : 그런 다음 내가 말했듯이 다른 쉘을 사용하십시오. Win32 콘솔은 표준 Windows 터미널 에뮬레이터 일뿐입니다.
paradroid

1
@ Jason404 : 그리고 Gilles가 말했듯이, (cmd.exe)이 아니라 그가 바꾸려고 하는 콘솔 (터미널 에뮬레이터)이므로 콘솔 창을 사용 하는 모든 프로그램 이 교체를 사용합니다.
user1686

2
윈도우 7의 콘솔 창 구현은 밖으로 이동되었습니다 csrssconhost.exe. 안타깝게도 여전히 이전 UI와 동일하며 API는 문서화되어 있지 않습니다. blogs.technet.com/b/askperf/archive/2009/10/05/…
ak2
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.