잘못된 형식의 이미지 링크입니다.
macOS 및 기타 환경은 오늘자 최신 버전을 기준으로 합니다.
1. 도커 설치
설치 방법은 여러 가지가 있으니 검색해 보시고, 개인적으로 homebrew를 사용하는 방법을 선호합니다:
brew cask install docker
도커 설치하는 것부터 뭔 소린지 모르겠을 수 있는데, 리눅스 잘 모르는 사람에게는 어려운 것 맞습니다. 누구나 따라할 수 있게 설명하려면 배보다 배꼽이 커질 수 있으므로 대략 생략.
2. XQuartz 설치
리눅스의 GUI 환경인 X11을 맥OS에서 구현할 수 있게 해주는 앱입니다. 역시 homebrew 사용하시면 편합니다:
brew cask install xquartz
3. socat 설치 및 실행
리눅스용 GUI 앱을 실행하면서 화면을 맥으로 쏴주는 커맨드라인 프로그램입니다.
역시 homebrew를 사용하면:
brew install socat
4. 리눅스용 아래아한글 도커 이미지 생성
아래 링크를 보고 따라합니다:
https://hamonikr.org/Free_Board/83229
본문 중 사소한 오류가 있는 듯한데,
sudo docker build --tag test .
요렇게 하지 마시고,
sudo docker build --tag hwp .
요렇게 하세요.
주의1: 본문에도 나오지만, hwp옆에 스페이스바와 점이 있는 것을 잊지 마세요.
주의2: 도커 이미지만 생성하고 실행 스크립트는 다른 걸 쓰셔야 합니다.
5. socat 실행
터미널을 열어서 아래 명령을 실행합니다:
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
터미널이 계속 실행중인 상태이므로 앞으로 터미널 명령어를 쓰려면 CMD+N으로 새 창을 열어야 합니다. 이거 백그라운드로 실행할 방법이 있지 싶은데 제가 배움이 짧아서 모르겠습니다. 저는 그냥 부팅할 때 시작 프로그램으로 하나 만들어서 등록했습니다.
6. 아래아 한글 실행 스크립트
docker와 xquartz가 실행 중인지 먼저 확인하세요. xquartz는 필요하면 자동으로 실행되는데, 처음에는 그게 안 됐던 것 같기도 하고... 암튼 확실하게 하려면 먼저 실행 중이면 좋아요.
docker run \
--rm -it -d --name hwp \
-v $HOME:/home/hwp \
-e DISPLAY=host.docker.internal:0 \
-e "GTK_IM_MODULE=nimf" \
-e "XMODIFIERS=@im=nimf" \
-e "QT_IM_MODULE=nimf" \
-e "LANG=ko_KR.UTF-8" \
-e "LANGUAGE=ko_KR.UTF-8" \
hwp /opt/hnc/hoffice11/Bin/hwp
이건 스크립트를 보기 편하게 만든 건데, 뭔 소린지 모르겠으면 그냥 터미널 열어서 아래의 한 줄짜리 명령을 실행합니다:
docker run --rm -it -d --name hwp -v $HOME:/home/hwp -e DISPLAY=host.docker.internal:0 -e "GTK_IM_MODULE=nimf" -e "XMODIFIERS=@im=nimf" -e "QT_IM_MODULE=nimf" -e "LANG=ko_KR.UTF-8" -e "LANGUAGE=ko_KR.UTF-8" hwp /opt/hnc/hoffice11/Bin/hwp
여기까지 했으면 아래아한글이 실행되어야 정상입니다.
7. 문제점
1)
한글 입력이 안 됩니다. 한영 전환은 Ctrl+Space 입니다. 그런데 레이아웃이 이상하고 초중종성 조합이 제대로 안 되는 등 실사용 가능하지 않습니다. 나는 세벌식 자판 쓰고 싶은데 어떻게 하는 건지;
메모장에 한글을 입력해서 복붙하는 건 가능합니다. CMD+V가 아닌 Ctrl+V 하셔야 복붙이 되는 점 유의하세요.
2) docker와 socat을 먼저 실행하는 걸 스크립트에 통합하면 좋을 텐데, 제가 배움이 짧아서 잘 모르겠습니다.
3) 실행 스크립트를 앱으로 만들어서 hwp 확장자를 연결하면 좋을 텐데, 역시 방법을 모르겠습니다. 스크립트 마지막 줄 뒤에 '$1'을 넣어 봤는데 안 되더라고요. 걍 실행한 다음 불러오기 눌러야 합니다;
※ 업데이트:
1. 아래아한글 단축키 사용
: XQuartz 환경설정에서 "Option keys send Alt_L and Alt_R" 옵션을 체크하시면 아래아한글 단축키를 사용할 수 있습니다.
2. 아래아한글+nimf 환경설정 파일과 맥 환경 파일 분리
: 이것저것 만져보다 보니까 두 가지가 부딛히는 것 같더라고요. 아래아한글 실행 스크립트에서 옵션을 이런 식으로 해주시면 해결됩니다:
docker run \
--rm -it -d --name hwp \
-v $HOME/Applications/hnc:/home/hwp \
이렇게 옵션을 주면 아래아한글 관련 각종 환경설정 파일이 로컬 맥의 $HOME/Applications/hnc 디렉토리에 저장됩니다. (폴더를 미리 만들어 주셔야 합니다.)
그리고 아래아한글 문서를 저장하거나 불러올 때 이 디렉토리가 기본값이 됩니다.
3. nimf 환경설정 안 되는 문제 해결
: 아래아한글 도커 이미지를 생성할 때 dbus-x11 패키지를 설정해야 합니다.
Dockerfile 해당 부분 예시:
echo "님프 설치" && \
apt install dbus-x11 && \
apt install -y curl && \
그리고 아래아한글 실행 상태에서 터미널 명령을 이렇게 해주시면 설정창이 뜹니다.
docker exec -it hwp nimf-settings
dbus-x11 패키지가 설치되지 않으면 설정을 바꾸자마자 원래대로 돌아가 버리니 애초에 도커 이미지 만들 때 이걸 챙겨야 합니다.
4. 한글 키보드 레이아웃 꼬인 문제
: 해결 못했습니다...
우분투 리눅스 데스크탑을 새로 만들어서 거기에 아래아한글 깔아 보니 멀쩡하게 잘만 됩니다. 그런데 맥에서 그 리눅스에 SSH 접속하면 마찬가지로 한글 레이아웃이 꼬입니다.
도커 이미지에 nimf가 포함되어 있습니다. 그런데 한글 입력이 안 되는 듯해서 실행 스크립트에서 해당 부분을 빼버렸습니다. 삭제한 해당 부분:
-e "GTK_IM_MODULE=nimf" \
-e "XMODIFIERS=@im=nimf" \
-e "QT_IM_MODULE=nimf" \
저의 경우 쿠분투 20.04에 nimf를 설치했는데도 작동하지 않더군요.
@꼬마신풍님
@
@NeverEnd님
제가 한영 전환 단축키를 몰랐었네요. Ctrl+Space 하니까 한글로 바뀝니다. 그런데 레이아웃이 이상하고 초중종성 조합이 제대로 안 되는 등 실사용 가능하지 않습니다. 나는 세벌식 자판 쓰고 싶은데 어떻게 하는 건지;