WSL2 난민을 위한 Windows 터미널 환경(MSYS2)

tags: windows msys2

개시하다


Windows에서 사용할 수 있는 UNIX 셸 환경을 준비하는 방법 중 하나는 MSYS2입니다.
MSYS2의 자세한 내용은 다음 URL을 참조하십시오. 간단히 말하면 Windows에서 bash를 사용할 수 있습니다.
https://www.msys2.org/
일반적으로 Windows에서 Linux Link 환경을 사용하면 WSL2와 VM을 사용하면 되지만, 최근에는 원격 작업에서 VDI 환경을 사용하는 경우가 늘었다.VDI에서 가상화 지원 기능을 해제하면 이러한 기능을 사용할 수 없습니다.
리눅스 개발 환경은find, bash,grep,awk 등 명령이나 윈도에서 리눅스에 연결하는 터미널로 사용할 수 있다면 MSYS2가 좋은 해결 목표가 될 것입니다.
이번에 우리는 비망록과 함께 MSYS2와 scoop으로 환경을 구축하는 방법을 총결하였다.

구현 내용

  • scoop을 설치하고 MSYS2를 시작할 때도 Windows의 PATH 설정을 계승하여 Windows에 설치된 명령을 케이스에서 호출할 수 있도록 한다
  • Windows Terminal에서 MSYS2
  • 활용
  • MSYS2는 VScode의 터미널로도 사용
  • 컨디션


    Windows11 Pro

    Scoop (Package Manager)


    scoophttps://scoop.sh/은 명령줄에 Windows 패키지를 설치, 마운트 해제, 업데이트, 검색할 수 있는 도구입니다.
    brew, app, dnf와 같은 패키지 관리자에서 Windows에서 사용할 수 있습니다.
    Windows에는 scoop이 이전에 개발한 Chocolateyhttps://chocolatey.org/가 있는데, 여기에 대응하는 포장이 더 많다.
    그러나 기본적으로 사용자 디렉터리 옆에 프로그램을 설치할 수 있으며 UAC의 팝업에서 해방되기 위해 scoop을 사용하기로 결정했습니다.

    Scoop 설치


    Windows Teminal(PowerShell)은 다음 명령을 사용하여 Windows를 설치할 수 있습니다.
    > Set-ExecutionPolicy RemoteSigned -scope CurrentUser  
    > iwr -useb get.scoop.sh | iex
    

    scoop을 이용한 준비.


    scoop을 사용하려면git가 필요하기 때문에git를 먼저 설치합니다.
    또한 extra 창고에 포함된 포장이 필요하기 때문에 버킷을 사용합니다.
    > $ scoop bucket known
    main
    extras
    versions
    nightlies
    nirsoft
    php
    nerd-fonts
    nonportable
    java
    games
    jetbrains
    
    > scoop install git
    > scoop bucket add extras
    > scoop status
    Scoop is up to date.
    Everything is ok!
    

    scoop에 필요한 패키지를 설치합니다


    > scoop install gh 
    > scoop install sudo
    > scoop install msys2
    > scoop install vscode
    

    MSYS2


    MSYS2 설치


    scoop을 설치한 후 "C:\Users<사용자 이름>>scoop\app\ms2\current"에 설치됩니다.
    scoop 설치를 사용하지 않으면 https://www.msys2.org/ 사이트'인스타레이션'에서 설치 프로그램을 다운로드하십시오.
    기본적으로 MSYS2는 C:\ms64에 설치됩니다.

    Windows 환경 변수 PATH의 상속


    상기 scoop과 다른 Windows에 설치된 프로그램을 간단하게 사용하기 위해 Windows의 환경 변수를 계승할 수 있습니다.
    msys2_shell.cmd에 설정된 환경 변수 MSYS2PATH_TYPE를 inherit으로 설정합니다.
    C:\msys64\msys2_shell.cmd
    rem To export full current PATH from environment into MSYS2 use '-use-full-path' parameter
    rem or uncomment next line
    set MSYS2_PATH_TYPE=inherit # 先頭のremを消去
    

    터미널별 설정 방법


    Windows Teminal 설정 사용


    MSYS2를 Windows Terminal로 설정하는 방법은 다음과 같습니다.
    먼저 UUID를 생성합니다.이것은 어떤 방법을 써도 문제없다.

    MSYS2


    $ uuidgen.exe
    4ea22e24-b3c7-4acb-ac66-26d69587eb84
    

    Windows Teminal(PowerShell)


    >  [Guid]::NewGuid()
    
    Guid
    ----
    60309296-d9ca-472e-9325-52e8ffbefa64
    
    Windows Terminal을 시작하고 Ctrl+를 입력합니다.
    설정 화면이 열리면 왼쪽 사이드바 아래에 있는 기어 마커를 클릭합니다.
    setting.json이 텍스트 편집기에서 열리기 때문에 다음 내용을 추가/편집하십시오.
  • 소개 목록에서 MSYS2를 설정합니다.
  • Windows Terminal 시작 시 MSYS2를 기본 설정으로 켜면default Profile에서 UUID를 설정합니다.
  •     ...(略)...
    "defaultProfile": "{<取得したUUID>}",
        ...(略)...
    "profiles": {
      "list":
      [
        ...(略)...
                {
                    "commandline": "C:/Users/%USERNAME%/scoop/apps/msys2/current/msys2_shell.cmd -defterm -here -no-start -msys",
                    "guid": "{<取得したUUID>}",
                    "icon": "C:/msys64/msys2.ico",
                    "name": "MSYS2",
                    "startingDirectory": "C:/Users/%USERNAME%",
                    "font": 
                    {
                        "face": "Lucida Console",
                        "size": 10
                    },
                }
            ]
    

    Visual Stio Code의 설정


    설정(setting.json)을 파일→사용자 설정→설정으로 엽니다.
    "terminal.integrated.env.windows"의 "setting.json 편집"부터 시작
    terminal.integrated.profiles.창에서 MSYS2 설정
    terminal.integrated.defaultProfile.VSODE에서 터미널을 열 때 MSYS2가 기본적으로 시작되도록 윈도우즈를 설정합니다.
    {
        "terminal.integrated.defaultProfile.windows": "Msys2",
        "terminal.integrated.profiles.windows": {
    
    
            "Msys2": {
                "path": [
                    "C:/Users/%USERNAME%/scoop/apps/msys2/current/msys2_shell.cmd"
                ],
                "terminal.integrated.env.windows": {
                    "MSYSTEM": "MSYS2",
                },
                "args": ["-defterm", "-msys2", "-no-start", "-here"],
                "icon": "terminal-cmd"
            },
        }
    }
    


    scoop에 설치된 프로그램 업데이트


    먼저 scoop 업데이트로 scoop 자체를 업데이트합니다.
    $ scoop update
    Updating Scoop...
    Updating 'extras' bucket...
    Updating 'jp' bucket...
    Updating 'main' bucket...
    Scoop was updated successfully!
    
    scoop status에서 업데이트할 수 있는 내용을 표시하고 대상 프로그램을 업데이트합니다.
    $ scoop status 
    $ scoop update <アプリケーション名>
    
    단숨에 모두 업데이트하는 경우는 다음과 같다.
    $ scoop update *
    

    scoop에 오리지널 버킷 추가


    bucket은 scoop 응용 프로그램의 창고이고 실체는 Giit의 창고와 json 형식의 생성 파일입니다.
    $ scoop bucket add jp https://github.com/dooteeen/scoop-for-jp
    

    좋은 웹페이지 즐겨찾기