RubyとEmacsをinstallする手順



# 目的

Windows上でCUIを使った開発環境の構築をお願いします．

shell, emacs, rubyなんかをinstall.大学のネットワーク環境でこれを実行するとめちゃくちゃ時間がかかるので，自宅での作業をお願いします．そのためのメモです．

GUI(こっち)とCUI(あっち)の世界をうまく繋いでください．


# ubuntu on wsl手順

Terminalを起動，Power Shellが動いているはず．

    wsl --install -d ubuntu

この後，ubuntuでapt-get updateをしたところで変なerror(FILE is not valid yet)と言われて，うまくいかなかったのですが．．．

Power shellで 

    wsl update

するとうまく行きました．時刻がずれていたため．こいつは深いですぜ．

    wsl statusで入ったlinuxが確認できます．

-   sudo apt-get update


# Ruby and Emacs <span class="timestamp-wrapper"><span class="timestamp">&lt;2023-04-06 木&gt;</span></span>

-   sudo apt install ruby (3.0.2が入りました，十分だね)
-   sudo gem install my\_help
-   sudo apt install emacs-nox

です．gitはどっかで入ったのですが，brewかも．

-   sudo apt install git

かな．


# git設定

    ssh-keygen # ただひたすらreturnをおすべし
    cat .ssh/id_rsa.pub

結果をcopyしてGithubでSSH keyをnewする

    git clone git@github.com:TeamNishitani/grad_research_23.git

これで領域実習の同期がとれるようになる．

すこし設定

    git config --global user.email "bob@ubuntu.wsl"
    git config --global user.name "Shigeto R. Nisthiani"
    git config --global core.editor emacs
    git config pull.rebase false

自分から提出するときのコマンド

    git add .
    git commit
    git pull origin main
    git push origin main


# おまけ


## Terminalの設定

Terminalを，見やすいように調整．

-   タブバーにある下向き矢印から設定


## Terminalのタブバーが見えなくなって焦った時

-   起動モードを「フォーカス」にするとタブバーがなくなる
-   Ctrl-Shift-Pでコマンドパレットが開くので，下の方にある「設定を開く」
-   Ctrl-,が「設定を開く」のshort cut


## fish, bobthefish, powerline font

ruby + emacsで最低限の開発環境は実現できるのですが，もう少し使い勝手を良くするための技です．基本は，fish + bat + git なんですが，昔はbrewにしかなかったような気がしますが，今はaptの方が良さそうです．brewはrbenvで苦労したので，今回はpass. <span class="timestamp-wrapper"><span class="timestamp">&lt;2023-04-08 土&gt;</span></span>

    sudo apt install bat
    sudo apt install git
    sudo apt install fish
    fish
    sudo apt install curl
    curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
    fisher install oh-my-fish/theme-bobthefish
    git clone https://github.com/powerline/fonts.git --depth=1
    cd fonts
    explorer.exe .

explorer.exeで開けて，入れたいのを選択して，右クリックからインストール．Terminalの設定で，Ubuntu->外観->フォントフェイスで全てのフォントの表示させて今回は，Roboto Mono for Powerlineを選択


## bat

batというのがcodeの表示がカラー化して便利なんですが，aptではinstallできないようなので，brewでいれます．<span class="timestamp-wrapper"><span class="timestamp">&lt;2023-04-10 月&gt;</span></span>

bashでの作業がおすすめ.

```bash
# apt install bat #失敗
# fish and powerline/fonts
   88  sudo apt install fish
   89  sudo apt install curl
   90  curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
   92  fish
   93  git clone https://github.com/powerline/fonts.git
   94  cd fonts/
   95  open .
# brew
  105  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  106  (echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home/bob/.profile
  109  brew install bat
# bat theme
  116  brew install fzf
  122  bat --list-themes |fzf --preview="bat --theme={} --color=always  compA23/README_outline.org"
  129  export BAT_THEME="OneHalfLight"
  132  bat compA23/README_outline.org
  133  my_help list |bat
```


## Windows11のdefaultを変更

以下は，普通の人は全くやる必要がないんですが，Macな私の手の感覚と一致させるための備忘録です．


### 設定から

-   **デバイス:** タッチパッドで右クリックを右下を外して，二本指のみ
-   **アクセスビリティ:** フォントサイズ，マウスサイズ
-   **IME:** キーとタッチのカスタマイズ->キーの割り当てをon->Shift+spaceでIME-on/off

(Ctrl-spaceはEmacsで使うので注意)

-   **個人用設定:** タスクバー->自動的に隠す


### エクスプローラ

-   **表示:** 詳細，コンパクトビュ，時間順に並べる，拡張子
-   **設定:** -   **全般:** エクスプローラーでPCを開く
    -   **表示:** ナビにこのPC, タイトルバーに完全なパスを表示, フォルダーに適用


## bin

いくつかの便利なCLAを用意しています．

    mkdir ~/bin
    cp linux_bins/*/* ~/bin


## msedge on emacs org-mode

-   [WSL2のEmacsでorg-modeのリンクをWindows側のEdgeで開く](https://crieit.net/posts/WSL2-Emacs-org-mode-Windows-Edge)

のはすこしover-specみたい．

-   (on Stackoverflow) [How can I make Emacs Org-mode open links to sites in Google Chrome?](https://stackoverflow.com/questions/4506249/how-can-i-make-emacs-org-mode-open-links-to-sites-in-google-chrome)

    sudo ln -s /mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge/Application/msedge.exe /usr/local/bin/msedge

しておいて，

```el
(setq browse-url-browser-function 'browse-url-generic
      browse-url-generic-program "msedge")
```

を~/.emacs.d/init.elに入れておくだけでいいようです．

ううん．だめみたい．

```bash
> running /usr/bin/sensible-browser ...
> /usr/bin/sensible-browser 
Couldn't find a suitable web browser!

Set the BROWSER environment variable to your desired browser.
$ export BROWSER='/usr/local/bin/msedge'
```

としたが，urlを受け取ってない．

-   [bug#58464: 28.1; browse-url-emacs doesn't work for local files on Window](https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-10/msg01147.html)

バグかも．

28にversionを上げてみたがダメ．

-   [WSL で Emacs を使うための設定](https://w.atwiki.jp/ntemacs/pages/69.html)
-   [unable-to-install-emacs-26-3-after-removing-emacs-28-stuck-without-an-editor](https://emacs.stackexchange.com/questions/58393/unable-to-install-emacs-26-3-after-removing-emacs-28-stuck-without-an-editor)

c-c, c-eからのhtml表示はあきらめましょう．変換はできているので，openを修正．


## Ctrl-shift-v

>>>>>>> 41f698f57a74ec8b248dc9fa55e8d42817fbf3fcあたらしいTerminalはctrl-s,vがつかえるんですが，これはemacsのkey-bindとかぶります．なんで，元のctrl-shift-s,vにもどします．

設定を開いて下のバーにある"jsonを開く"アイコンを押すと，vscodeをいれてるとそっちで，setting.jsonがひらきます．そこで，

```json
            "command": 
            {
                "action": "copy",
                "singleLine": false
            },
            "keys": "ctrl+shift+c"
        },
        {
            "command": "paste",
            "keys": "ctrl+shift+v"
        },
```

とkeysでshiftを追加修正します．


## ubuntu起動エラー

起動時に

    Error: 0x80080005

が出る．Powershellからwsl &#x2013;installするとUbuntuが再起動してうまくいった．一応，

-   [WslRegisterDistribution failed with error: 0x80080005](https://scrapbox.io/takker/WslRegisterDistribution_failed_with_error:_0x80080005)

に対応策あり．



------
 - **source** ~/git_hub/grad_research_23/README_install_ruby_on_ubuntu.org