MS 윈도우: 이맥스 설치 및 활용 WSL 리눅스
2023-09-21 Note emacs installation notes windows- MS 윈도우 : WSL 리눅스 활용 팁
히스토리
- 2023-09-22 테스트 겸 설치
- 2024-06-06 테스트톱에 설치하려고 문서 확인 –> 수정 필요! 완전 쉽고 개선된 방법
- [2024-09-10]
EWS 이맥스 윈도우즈 활용 방법 - 핵심은 스쿱
아래 문서에 더 상세히 다룬바 있다.
EWS 거듭 완벽하게 심플하게 윈도우즈에서 동작한다. 더 간단하게 구성하고. 스쿱을 이용해서 패키지를 설치하면 된다. 더할 나위 없이 깔끔해졌다. 거의 둠 이맥스와 외향은 똑같다. 사용성도 다를게 거의 없다. 오랜 경험을 통해 얻은 노하우의 결실이 아닌가 싶다. 확실히 바닐라로 가볍게 가져가면 크로스플랫폼으로 지원할 수 있다.
폰트는 모노플랙스와 더불어 Noto Emoji 를 설치해야 한다. 이걸로 충분하다.
윈도우즈 환경에서 필요한 패키지들을 scoop를 이용하여 설치한다. 이맥스도 이렇게 설치한다. 이게 가장 편하고 확실하다.
scoop bucket add main scoop install git scoop install ripgrep scoop install tar scoop install main/aspell scoop install main/findutils scoop install grep scoop bucket add extras scoop install extras/emacs scoop install extras/miniconda3 scoop install main/coq # scoop install main/haskell-language-server # scoop install main/haskell # scoop install main/stack # scoop install main/ghcup ag ack fd aspell pandoc ripgrep vim cheat neovim neovim-qt sqlite gcc direnv vscode nodejs alacritty delta difftastic scoop install main/syncthing scoop bucket add nerd-fonts scoop install nerd-fonts/SarasaGothic-K scoop bucket add extras scoop install extras/activitywatch
- 윈도우즈용 타일링 윈도우 매니저를 설치한다. 괜찮더라.
scoop bucket add extras scoop install workspacer
CANCELLED WSL Linux Configs
url:: create-at:: week-at:: #2022-W25 person::
- WSL 리눅스 환경 내의 /etc/wsl.conf 파일. 두 가지 옵션다 매우 중요함.
[network] generateResolvConf=false [interop] appendWindowsPath=false
TODO “Properly installing Emacs on Windows” 2023 Emacs Elements
(Emacs Elements 2023) Properly installing Emacs on Windows - YouTube
CANCELLED Msys2
터미널을 열어야 한다. 이건 나중에 해보자. 나한테는 이게 더 쉬울 것 같긴하지만.
https://github.com/kimim/kimim-emacs
DONE Install and Setup Guide
mouse-1, C-c RET follow URL
- 2024-06-06
- 이것도 복잡하다. 아니다 이건.
이걸 보고 정리해보자. 목표는 Emacs 윈도우즈 내것 완벽히 커버. 스페이스맥스가 동작해야 한다.
OFF ivy dotfile 을 수정해서 미니멀로 가져가면 된다.
ivy 버전으로 싹 정리해서 동작해보면 되겠다. 했다. 로딩 중. 잘되는 것 같은데?! 다녀오자. 괜찮다. 동작한다. 심플하게 가져갈 것.
내 버전으로도 동작한다. 필요 없다.
CANCELLED scoop 패키지 설치
Spacemacs 리포에서 설치 하라는 것들 하면 된다. 아마 여기서 폰트도 설치할 수 있을듯. fd pandoc ag ripgrep 등 다 여기서 찾아보라.
ag ack fd aspell pandoc ripgrep vim cheat neovim neovim-qt sqlite gcc direnv vscode nodejs alacritty delta difftastic
scoop install main/syncthing
scoop bucket add nerd-fonts scoop install nerd-fonts/SarasaGothic-K
scoop bucket add extras scoop install extras/activitywatch
다 있네. Emacs 29 도 있는데. 따로 설치하는게
off – fasd activitywatch
왜 윈도우즈인가? 터미널 없이 마우스로 다 사용 할 수 있어야 한다.
영상, 자료 공유 등은 다 윈도우에서 한다. 그래야 나도 경험하고 배운다. 완전 일반 사용자가 아니라지만 대부분 Mac/Windows:Linux 5:4:1 정도 될 것이다. 아무튼 그렇다. 맥 사용자는 알아서 잘할 것이다. 윈도우를 밀고 가서 사람들을 확보하자.
Create HOME user variable
제어판 -> 시스템 속성 -> 환경 변수 에서 새로 만들기(N) 누른다. 다음과 같이 입력.
변수 이름(N): HOME
변수 값(V): C:\emacs
Download Emacs 29.1
무슨 방법이 가장 효과적일까? 성능 측면
zip 파일 다운로드
zip 파일을 다운받네? 뭐가 다른 것인가? 압축을 풀었다. 풀고 나서 바탕화면서 바로가기를 만든다. 훔 이렇게 하느니 설치를 하는게 좋지 않나? 실행한다음에 하단에 고정하기 하라고 한다. 일단 나도 똑같이 하자.
c:/emacs/emacs-29 로 압축을 풀었다.
bin 폴더에 가보면 runemacs 실행 파일이 있다. 이걸 바탕화면에 바로가기 만들어 주면 된다. 끝?!
Scoop
scoop install extras/emacs
압축파일 받아서 풀고 끝? 바로가기도 만들어주네. 좋네. 관리자 권한으로 실행해본다.
Msys2
kind-icon 을 못가져온다. 즉 외부로 연결이 안된다. 다른 바이너리도 이런 문제가 발생하는가? scoop or zip version?
28 버전 다운?! msys2 를 업데이트하고 다시 설치해보자. 된다. 컴파일을 해서 진행하니 오래 걸린다. 그러나. 기대가 된다.
pdf-tools 도 커버가 될 것 같다.
$ pacman -Suy
$ pacman -Suy
:: Synchronizing package databases...
mingw32 is up to date
mingw64 is up to date
ucrt64 is up to date
clang32 is up to date
clang64 is up to date
msys is up to date
:: Starting core system upgrade...
there is nothing to do
:: Starting full system upgrade...
there is nothing to do
$ pacman -S mingw-w64-x86_64-emacs
warning: dependency cycle detected:
warning: mingw-w64-x86_64-harfbuzz will be installed before its mingw-w64-x86_64-freetype dependency
Packages (54) mingw-w64-x86_64-binutils-2.41-2 mingw-w64-x86_64-brotli-1.1.0-1
mingw-w64-x86_64-bzip2-1.0.8-2 mingw-w64-x86_64-crt-git-11.0.0.r159.g0605217f5-1
mingw-w64-x86_64-expat-2.5.0-1 mingw-w64-x86_64-freetype-2.13.2-1
mingw-w64-x86_64-gcc-13.2.0-2 mingw-w64-x86_64-gcc-libs-13.2.0-2
mingw-w64-x86_64-gettext-0.21.1-2 mingw-w64-x86_64-glib2-2.78.0-1
mingw-w64-x86_64-gmp-6.3.0-2 mingw-w64-x86_64-gnutls-3.8.1-2
mingw-w64-x86_64-graphite2-1.3.14-2 mingw-w64-x86_64-harfbuzz-8.2.1-1
mingw-w64-x86_64-headers-git-11.0.0.r159.g0605217f5-1 mingw-w64-x86_64-isl-0.26-1
mingw-w64-x86_64-jansson-2.14-2 mingw-w64-x86_64-libffi-3.4.4-1
mingw-w64-x86_64-libgccjit-13.2.0-2 mingw-w64-x86_64-libiconv-1.17-3
mingw-w64-x86_64-libidn2-2.3.4-1 mingw-w64-x86_64-libpng-1.6.40-1
mingw-w64-x86_64-libsystre-1.0.1-4 mingw-w64-x86_64-libtasn1-4.19.0-1
mingw-w64-x86_64-libtre-git-r128.6fb7206-2 mingw-w64-x86_64-libunistring-1.1-1
mingw-w64-x86_64-libwinpthread-git-11.0.0.r159.g0605217f5-1
mingw-w64-x86_64-libxml2-2.11.5-1 mingw-w64-x86_64-libyaml-0.2.5-1
mingw-w64-x86_64-mpc-1.3.1-2 mingw-w64-x86_64-mpdecimal-2.5.1-1
mingw-w64-x86_64-mpfr-4.2.1-2 mingw-w64-x86_64-ncurses-6.4.20230708-1
mingw-w64-x86_64-nettle-3.9.1-1 mingw-w64-x86_64-openssl-3.1.3-1
mingw-w64-x86_64-p11-kit-0.25.0-2 mingw-w64-x86_64-pcre2-10.42-1
mingw-w64-x86_64-python-3.11.5-2 mingw-w64-x86_64-readline-8.2.001-6
mingw-w64-x86_64-sqlite3-3.43.1-1 mingw-w64-x86_64-tcl-8.6.12-2
mingw-w64-x86_64-termcap-1.3.1-6 mingw-w64-x86_64-tk-8.6.12-2
mingw-w64-x86_64-tree-sitter-0.20.8-1 mingw-w64-x86_64-tzdata-2023c-1
mingw-w64-x86_64-universal-ctags-6.0.0-1
mingw-w64-x86_64-windows-default-manifest-6.4-4 mingw-w64-x86_64-wineditline-2.206-1
mingw-w64-x86_64-winpthreads-git-11.0.0.r159.g0605217f5-1
mingw-w64-x86_64-xpm-nox-4.2.0-8 mingw-w64-x86_64-xz-5.4.4-1
mingw-w64-x86_64-zlib-1.3-1 mingw-w64-x86_64-zstd-1.5.5-1
mingw-w64-x86_64-emacs-29.1-2
Total Download Size: 159.41 MiB
Total Installed Size: 1107.18 MiB
$ pacman -S autoconf gcc automake git
M-x pdf-tools-install 가능하다. 위에 설치하고 나서.
vterm 은 안된다.
Msys2 커스텀
https://kyh0703.github.io/tip/post-window-zsh/ 여기 보면 윈도우즈 터미널에 추가하는 방법이 있다.
windows script layer : powershell
스페이스맥스에 있다.
추가 프로그램 설치
hunspell 제외하고 다 Scoop 으로 다운 받는다. 훈스펠은 준거 쓰자.
싹 묶어서 한번에 폴더에 넣도록 하는게 좋겠다. 타이핑 하면 안된다.
ag, findutils, hunspell, pandoc 설치하라고 한다. 판독도 그냥 압축 파일 다운. 주는 파일을 그냥 c 드라이브에 복붙해놨네. 이게 편할 것 같다. 그리고 이맥스가 사용핟로고 설정을 잡아준다.
(setq markdown-command "C:/Users/Admin/AppData/Local/Pandoc/pandoc")
# Add exec-paths to Emacs
'exec-path' 리눅스 샘플
("/home/junghan/.asdf/shims" "/home/junghan/.asdf/bin" "/home/junghan/.cargo/bin" "/home/junghan/.local/bin" "/home/junghan/bin" "/usr/local/sbin" "/usr/local/bin" "/usr/sbin" "/usr/bin" "/sbin" "/bin" "/usr/games" "/usr/local/games" "/snap/bin" "/usr/local/libexec/emacs/29.1.50/x86_64-pc-linux-gnu")
c:/findutils-4.2.30-5-w64-bin/bin/
c:/Users/Admin/AppData/Local/Pandoc/
c:/Hunspell/
c:/ag/
(setq find-program "C:/find/bin/find.exe")
- system variable/path
제어판 환경변수에 가서 패스에 넣어주어야 한다. : Path
- Hunspell
(setq ispell-program-name "hunspell")
(setq ispell-hunspell-dict-paths-alist '(("ko" "c:/hunseplll/ko.aff")))
(setq ispell-local-dictionary "ko")
(setq ispell-local-dictionary-alist ...)
Enable Symlinks 심볼링 링크 - 윈도우즈
이게 되는구나?!
- 활성화
단축키 Win+r
을 누르면 실행(run.exe) 창이 뜬다. 여기서 secpol.msc 입력 후 실행한다.
윈도우 10 홈 버전에서는 secpol.msc 가 없다고 한다. 아래 블로그에 방법이 있다.
secpol.msc 를 실행하면 Local Security Policy 라는 설정 프로그램이 뜬다.
- 로컬 정책 (Local Policies)
- 사용자 권한 할당(User Rights Assignment)
가보면 우측에 많은 Policy 중에
심볼 링크 만들기(Create symbolic links) 가 있다. 이걸 더블 클릭하면 설정 창이 뜬다. 기본으로 “Administrators"가 등록되어 있다. “Add User or Group” 버튼 클릭해서 현재 로그인 된 계정을 추가한다.
나의 계정 이름이 admin 이라면 “선택할 개체 이름을 입력하십시오” 아래에 입력란에 admin 을 입력 후 이름 확인(C) 버튼을 누른다. 나의 경우 “SONG_NOTE\admin” 이라고 추가 되었다.
- 심볼링 링크 만들기
사용자 계정 폴더를 쉽게 접근하도록 심볼링 링크를 만든다.
— 윈도우10 홈 버전에 “로컬 보안 정책(Secpol.msc)” 활성화해서 사용하는 방법 : 네이버 블로그 https://portal.perforce.com/s/article/3472
Install Git / Gihub : Ssh-Keygen
git-for-windows : git-2.39.2-64-bit.exe github desktop
- Git for Windows 설치 시
의외로 설정할 게 있다. LF 사용하는 것. 터미널은 내장 Msys2 로 했다. 에디터는 VIM 이 기본.
- Github SSH
- Open PowerShell :
Win+r
실행에서 powershell 입력 - Navigate to preferred directory
- Run the
ssh-keygen
command to create SSH keys - Copy the value of the SSH public key
- Save the public key in your GitHub account settings
키 생성 및 관리는 다음에서 확인. 윈도우즈에서는 그래픽 모드로 해야 쉽다.
Dotfiles for WIndows
디렉토리 표기가 다르다는 점을 알고 있어야 한다. 근데 신경 쓸 것 없다. 환경 변수 하나 등록하면 나머지는 그냥 쓰던 대로 하면 된다.
;; (setq default-directory "c:\emacs/")
폰트 설치
- 사라사 TTC 설치
- 노토 심볼 이모지 설치
- pretendard 등
윈도우 환경 변수 등록
이름 이메일 EPA ORG 디렉토리 적어줄것.
이렇게 적어라
c:/emacs/sync/org/
한글 입력
모든 키가 동작하는지 확인.
Spacemacs Installation Guide
https://github.com/syl20bnr/spacemacs#windows
여기 보면 Scoop 을 이용해서 쉽게 설치하라고 한다. 훔. 참고만. 이런 패키지 매니저는 꼭 문제를 만든다.
프렉티컬리 가이드
윈도우에서 안쓰나?!