LoginSignup
4

emacs 30.05 on Ubuntu 22.04.03 LTS with WSL2 in Windows 11 Pro

Last updated at Posted at 2022-08-27

環境

  • Windows 11 Pro: 21H2 19045.3996
  • VcXsrv: 21.1.10
  • Ubuntu: 22.04.3 LTS
  • emacs: 30.05

手順

  1. VcXsrv のインストール

  2. WSL2の準備(手動インストール)

    1. 管理者権限でPowerShellを起動

    2. [Linux用Windowsサブシステム]有効化のため、以下を実行

      dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
      
    3. Virtual Machine Platform の有効化のため、以下を実行

      dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
      
    4. 再起動

    5. Linux カーネル更新プログラム パッケージのインストール

    6. WSL 2 を既定のバージョンとして設定

      wsl --set-default-version 2
      
  3. Ubuntu のインストール

    1. Microsoft Store から、Ubuntu 22.04 を入手
    2. Ubuntu の画面で、[開く]を選択
    3. ユーザー名とパスワードの設定
  4. Ubuntuのアップデートと設定

    1. 最新化

      sudo -E apt update
      sudo -E apt upgrade
      
    2. localeや日本語まわり

      sudo -E apt install language-pack-ja language-pack-gnome-ja
      sudo update-locale LANG=ja_JP.UTF-8
      sudo -E apt install manpages-ja manpages-ja-dev
      sudo dpkg-reconfigure tzdata
      
  5. emacsのインストール

    sudo -E apt remove --autoremove emacs emacs-common
    sudo -E sudo apt-add-repository ppa:ubuntu-elisp/ppa
    sudo -E apt update
    sudo -E apt install emacs-snapshot emacs-snapshot-el
    sudo -E apt install cmigemo
    
  6. x11-xserver-utils パッケージをインストール

    sudo -E apt install x11-xserver-utils
    
  7. おまじない

    sudo -E apt install gconf2
    sudo dbus-uuidgen --ensure
    
  8. ssh ポートフォワード接続無効化

    1. コマンドプロンプトから wf.msc を起動
    2. [受信の規則]をクリック
    3. [VcXsrv windows xserver]の行がないことを確認
    4. VcXsrv を起動
      1. 基本的に[Next]で完了まで進む
    5. [ファイアウォールの通信許可設定ダイアログ画面] にて [パブリックネットワーク] のチェックを確認
    6. 通信を許可
  9. ~/.bash_profile の設定

    if which tasklist.exe > /dev/null && ! tasklist.exe | grep -F -q 'vcxsrv.exe'; then
        (
            cd '/mnt/c/Program Files/VcXsrv'
            ./vcxsrv.exe :0 -multiwindow -clipboard -noprimary -ac -wgl > /dev/null 2>&1 &
        )
    fi
    if [ "$INSIDE_EMACS" ]; then
        TERM=eterm-color
    fi
    
    umask 022
    
    if [ -z "$DISPLAY" ]; then
        if uname -v | grep -q 'Microsoft'; then
            export DISPLAY=:0
        else
            if ss -lt4 | grep -q '127.0.0.1:6020'; then
                export DISPLAY=:20
            else
                # export DISPLAY=$(awk '/^nameserver/ {print $2; exit}' /etc/resolv.conf):0.0
                export DISPLAY=$(ip route | awk '/^default/ {print $3; exit}'):0.0
            fi
        fi
    fi
    
    # Emacs の起動時に「WARNING **: Couldn't connect to accessibility bus: ...」というワーニングが出力される場合に設定
    # export NO_AT_BRIDGE=1
    
    # Emacs の起動時に「libGL error: No matching fbConfigs or visuals found / libGL error: failed to load driver: swrast」というエラーが出力される場合に設定
    export LIBGL_ALWAYS_INDIRECT=1
    
    # Emacs の起動時に gigacage に関するエラーが発生する場合に設定
    # export GIGACAGE_ENABLED=no
    
  10. マシンの再起動

  11. Ubuntuを起動

  12. emacs を起動

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4