BootShellCredentialProvider- Linux Des를 Windows로 가져옵니다
BSCP를 사용하면 Windows의 기본 로그온 UI와 로그인시 Xming & WSL의 조합을 사용하여 Windows를 Linux 데스크탑 경험으로 직접 부팅 할 수 있습니다.




시작하기
전제 조건 :
- VCXSRV를 설치해야합니다. 이것은 더 안정적이고 특징이되는 무료 Xming 대안입니다. https://sourceforge.net/projects/vcxsrv/ 초콜릿에서 사용할 수 있습니다.
- Visual Studio 2017 용 Microsoft Visual C ++ 재분배 가능한 것을 설치해야합니다. 여기에서 사용할 수 있습니다
- Bash 환경을 포함한 Linux 용 Windows 서브 시스템이 설치 및 작동합니다.
- WSL을 통해 탐색하고 설치하고 싶은 Linux des가 어떤 감각을 가지고 있습니다. 영감/실행 가능한 대본은 여기를 참조하십시오. 참고 : 해당 파일의 모든 작업을 수행 하면 작동하지만 오랜 시간이 걸립니다.
설치 및 구성 :
- 여기에서 설치 프로그램을 다운로드하여 실행하십시오. 기본값을 변경하지 마십시오. 기본값은 작동합니다.
- BSCP 구성기 실행 (시작 메뉴의 바로 가기)
- 원하는대로 설정을 구성하십시오. 기본값은 위에서 언급 한 SCRITPT에 의해 생성 된 환경에서 작동해야합니다.
- 저장을 시도 할 때 BSCP 구성자가 충돌 할 가능성이없는 이벤트에서는 권한 문제가 있습니다. 관리자로 다시 실행해보십시오. 그렇지 않은 경우
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinLogon 에 대한 전체 제어 권한을 제공해야 할 것입니다. - 서명하고보세요!
- 보이지 않으면 Visual C ++ 재분배 가능이 설치되어 있는지 다시 확인하십시오.
사용 메모 :
- Ctrl+Alt+Del은 여전히 Linux Des에서 작동합니다. 이것은 로그 아웃하고 작업 관리자를 시작하는 방법입니다.
- Explorer가 시스템 쉘로 실행되지 않는 동안 Win+R은 작동하지 않습니다. 작업 관리자 (CTRL+Alt+DEL을 통해)를 사용하여 Windows 프로그램을 시작하십시오
- DE가 시작될 때 Windows Explorer (쉘이 아닌 파일 탐색기가 아닌 파일 탐색기)가 전경에서 실행될 가능성이 있습니다. 안전하게 무시하거나 닫을 수 있습니다.
- untaller는 특히 똑똑하지 않습니다. 구성자를 사용하여 기능을 먼저 비활성화 한 다음 Untaller를 실행하려고합니다.
- 일단 설치하면 로그인하는 주요 방법으로 사용하고 싶을 것입니다. 다른 자격 증명 제공 업체 (예 : 핀 로그온 또는 Windows Hello)를 통해 로그인하면 쉘 설정을 업데이트 할 방법이 없습니다.
프로젝트에 대해
이 프로젝트는 여러 구성 요소로 구성됩니다.
- 구성 자 : 구성 수정을위한 친숙한 데스크탑 앱
- Regprovider : 레지스트리와 상호 작용하기위한 도우미 라이브러리 (여기서 특별한 것은 없음)
- ConfigurableShell : 부팅 시간에 Windows 탐색기 쉘을 대체합니다. 레지스트리 설정을 확인하고 지정된 데스크탑 환경 (Windows Explorer, XFCE 또는 작업 할 수있는 기타 무엇이든)를로드합니다.
- BootShellCredentialProvider : CredentialProvider v2 인터페이스를 사용하여 Winlogon 용 플러그인. 이 구성 요소는 사용 가능한 데스크탑 환경을 보여주고 레지스트리에서 선택한 데스크탑 환경을 설정합니다.
위험, 보안 및 전체 공개
여러 가지 이유로 생산/미션 크리티컬 시스템과 유사한 것에 대해 이것을하지 말아야 할 것입니다.
- Winlogon 내에서 관리되지 않은 C ++ 코드를 실행하고 있습니다. 내 코드가 충돌하면 Winlogon이 충돌합니다. 이 경우 PC를 사용할 수 없습니다.
- 관리되지 않는 코드는 Windows 비밀번호를 처리하는 것입니다. 이것은 Microsoft의 샘플/템플릿에서 차용됩니다. 회의론이 권장됩니다.
- 이 시스템의 구성 요소는 다양한 시스템 레지스트리 키의 보안을 약화시키는 데 의존합니다. 이들은 일관된 데스크탑 경험을 제공하는 Windows의 능력에 중요합니다.
- 이것은 나의 두 번째 진지한 C ++ 프로젝트이며, Win32 API와 함께 처음입니다. 행운을 빌어요.
기여 및 피드백
이 프로젝트에 대한 모든 (건설적인) 피드백에 감사 드리며 물론 PR을 받아 들일 것입니다. 공유 할 것이 있으시면이 프로젝트의 문제를 자유롭게 제출하십시오.
라이센스
이 프로젝트의 대부분은 MIT 라이센스에 따라 릴리스됩니다. 자격 증명 제공자 구성 요소는 SampleV2CredentialProvider 프로젝트에서 파생되기 때문에 MS-LPL 라이센스에 따라 릴리스됩니다.