Changing MinGW HOME Directory in Windows

2017-01-09 00:00:00
cmd mingw customize
Deprecated: Git Bash 인코딩 및 홈 디렉터리 변경를 참고하시는 것이 좋습니다.

Windows에서 MinGW를 설치도 했고 환경변수도 설정했지만 항상 홈 디렉터리는 /home/USER입니다. 매번 C:\MinGW\1.0\msys.bat을 실행하여 cd /c를 입력하는 것도 지쳤습니다.

Windows에서 cmd를 바로가기로 하나 더 만들어 MinGW를 바로 연결 할 수 있도록 하는 방법을 소개해드리겠습니다.

batch 파일을 바로가기로 만드는 것은 쉽습니다. 하지만 스크립트 파일을 작업 표시줄로 고정시키는 것은 불가능합니다. 스크립트 실행 된 것을 작업 표시줄로 고정 시켜봐야 cmd가 고정될 뿐입니다. 심지어 msys.bat을 통해 실행된 쉘은 msys/bin 내부의 sh.exe입니다.(ls, dir 둘다 안되는...)

자꾸 작업표시줄에 집착하는 이유는 단순히 단축키 win키 + 숫자를 이용해서 작업표시줄 바로가기를 하기 위해서 입니다.

이 방법은 cmd를 영구적으로 변환시키는 것이 아니라 바로가기 속성을 변경하는 것이므로 안심하셔도 좋습니다.

Create Shortcut

먼저 cmd를 실행하여 작업표시줄에 고정시킵니다.

속성으로 들어가 바로가기 대상을 다음과 같이 변경합니다.

%windir%\system32\cmd.exe /C C:\MinGW\msys\1.0\msys.bat

이는 현재 cmd가 해당하는 스크립트를 실행하고 현재 창을 닫는(/C) 옵션을 준 것입니다.

Modify PATH

이제 홈 디렉터리를 변경하는 작업입니다.

레지스트리에 AutoRun을 추가하여 영구적으로 cmd를 실행할 때마다 스크립트를 실행하는 방법이 있습니다. 참고

여기서 홈 디렉터리를 바꾸는 부분만 쏙 빼와서 msys.bat에 추가하였습니다.

MinGWC:\MinGW에 설치되어 있을 경우의 경로입니다. 설치된 경로로 바꾸어야 합니다.

다음 내용을 msys.bat 가장 앞 쪽 에 추가합니다.(@echo off 바로 다음)

@echo off

set MINGWDIR=C:\MinGW       # 설치된 경로로 변경
set MSYSDIR=%MINGWDIR%\msys\1.0

rem set HOME=%USERPROFILE%
set HOME=/c                 # 원하는 경로로 변경
set PATH=%PATH%;%MINGWDIR%\bin;%MSYSDIR%\bin

...

이제 작업표시줄의 바로가기를 실행하면 cmd가 아니라 /c를 기본 경로로 하는 MinGW가 실행됩니다!!

Modify Profile

아직 작업이 남았습니다. .profile을 통해 커스터마이징 할 부분을 추가합니다.

여기서는 홈 디렉터리에 .bash_profile 이 아닌 .profile이 있어야 합니다. 참고

vim ~/.profile

alias ls='ls --color=auto'  # ls 색 변경
alias ll='ls -l'            # ll = ls -l
alias vi='vim -N $*'        # vi = vim

이제 단축키 win+숫자로도 리눅스처럼 실행할 수 있고 cmd에 없는 색칠도 해줍니다.(제목표시줄 > 속성에서 덤으로 투명도 까지...)

git이 설치되어 있다면 여기서도 바로 사용할 수 있습니다.