Ruby
Windows
Twitter
mikutter
WSL

Windows10(WSL)で最新版のmikutterを使う

はじめに

初投稿です。インストール用のメモを残しときたかったので、書くことにしました。
分かり辛かったら教えてください。適宜修正します。

Linuxを触ったことがない人にも導入できるレベルに落とし込んだつもりです。
なので、慣れてる人はインストール先とか適宜読み替えて実行して下しあ。

「そもそもmikutterって何?」というひとは、このページがオススメです。
プラグイン入れればますとどんとかも使えるらしいよ。

~余談~
今まではヤバい偉大なるもぐのさんが生み出した黒魔術プラグインを利用してWindows7でmikutterを動かしていたのですが、
どうも3.4後半からうまく動かず、諦めていました。
そして先日のmikutter CK/CS凍結騒ぎがあり、私のmikutterにとどめを刺されてしまったのでWSL版に移行しようと思った次第です。
(なぜかCK/CS変えても動かなかったので…。)
動作確認できたので、ちゃんとまとめようかなと。
でもこれで3.6.7(現時点での最新版)が使えるようになったよ!

これ書いてる途中に3.7.0がリリースされた。なんてこった。

回線速度やマシンスペックによりますが、3時間くらいかかります。

1人でも多くの人がておくれられますように。

参考サイト

参考にさせていただきました。本当にありがとうございます。
WSLを使ってWindowsでmikutterを動かす。
X Window on WSL (Ubuntu) on Windows 10 Pro
Windows Subsystem for Linux + X Windowを1.024倍くらい使いこなすための方法
WSLでuim-mozcを使う
Bash on Ubuntu on Windows で日本語入力

0. 必要なもの

TwitterのCK/CS

調べたら用意する方法はたくさん出てくるので、なんとかして入手してください。
気が向いたら書くかもしれません。
Twitterを使わない(mikutterを他のサービス用に使う)のであれば不要です。

準備できたら、れっつておくれ。

1. WSLを使えるようにする

スタートメニューにコントロールパネルと入力してコンパネを起動し、プログラムを選びます。
Windowsの機能の有効化または無効化という項目があるので選びます。

1.png

ここでWindows Subsystem for Linuxがある人はWindows Updateは不要です。
この画像のように、それっぽいものがない人はWindows Updateが必要です。(Betaな人もアップデートが必要です。)

確かWSL(Windows Subsystem for Linux)は、Betaの頃はInsider Previewじゃないとダメだったと記憶しているのですが、
ちょっと前にBetaが取れたらしいので普通にWindows Updateかければ出てくるような気がします。
私は面倒なので「April 2018 Update」とやらを当てることにしました。

2.png

ビルド1511から1803になりました。

3.PNG

再起動後、同じ画面を開くと無事WSLが出てきました。
これにチェックを入れてOKを押しましょう。再起動を求められると思うので、再起動します。

2. VcXsrvをインストールする

調べたら出てきます。普通にインストールするだけです。
https://sourceforge.net/projects/vcxsrv/
WindowsでLinuxのアプリの画面表示するやつです。

3. Ubuntuが動くようにする

スタートメニューからMicrosoft Storeを起動し、Ubuntuと検索してインストールしましょう。

※追記
18.04がリリースされていますが、本記事は16.04を対象にしています。
18.04だと日本語入力をできるようにするあたりで失敗するとのお話を頂きました。
※追記ここまで

インストールが終わったらUbuntuがスタートメニューにいるはずなので、起動させます。
2, 3分待ってね!と言われるので、正座しながらしばらく待ちます。

Enter new UNIX username:

と聞かれたら、好きなユーザー名を入力してください。
入力したら、同じように

Enter new UNIX password:
Retype new UNIX password:

と聞かれるので、好きなパスワードを入力してください。
パスワードは文字列が入力されていないように見えますが、気のせいです。仕様です。

4. Ubuntuに色々必要なものをインストールする

ここからはアプリをインストールする時期によってエラーが出るかもしれません。
ちゃんと出力されたログを見て、成功しているかは確認していきましょう。
大体Success!とか言ってもらえます。Failedとか言われてたらこちらへ。
ここではすべて成功していることを前提に進みますので、エラーが出てしまった場合は別途自力での解決が必要になります。

とりあえず下のコマンドを入力してUbuntuを最新化しましょう。(コマンドは1行ずつ実行します。)
結構時間かかります。

sudo apt-get update
sudo apt-get dist-upgrade

途中で

Do you want to continue? [Y/n]

と聞かれた場合は、Yと入力してEnterキーを押しましょう。

終わったら、次のコマンドを実行してUbuntuたんに日本語を覚えてもらいます。

sudo apt-get install language-pack-ja
sudo update-locale LANG=ja_JP.UTF-8

完了したら、日本語を話してもらうために一度画面を閉じます。
そしてもう一度スタートメニューからUbuntuを開いてください。

下のコマンドでなんか必要なモノを入れておきましょう。
入れておかないとあとでUbuntuたんに怒られます。(怒られました。)
まとめて入れるとめっちゃ汚く見える…

sudo apt-get install gcc git libidn11-dev fonts-noto ttf-ancient-fonts uim uim-xim uim-anthy ruby ruby-dev

※日本語フォントについて[展開]

もしかしたらfonts-notoではなくfonts-noto-cjk fonts-noto-hintedでもいいかもしれません。試せてないですが一応載せておきます。
余談ですが下のコマンドを打つとWindowsのフォントがUbuntuから見えるようになります。
もしかしたらフォント入れなくてもいいかもですね。

sudo ln -s /mnt/c/Windows/Fonts /usr/share/fonts/windows
sudo fc-cache -fv

apt-getが終わったら、今度はこれです。

sudo gem install bundler
sudo gem install rake

本当はRuby2.5とか用意したかったんですが、時間がかかりそうなので今回は見送りました。
降ってくるパッケージが2.3系だったので、多分大丈夫です。
大丈夫だよ!絶対、大丈夫だよっ!

※依存関係がよくわからないのですが、
rakeがないと怒られたのでここで入れておきます。
もしかしたらGemfileが修正されるか何かで不要になるかもしれません。

5. Ubuntuになんか設定的なアレをする

魔法の呪文を唱えます。

cp /etc/skel/.bashrc ~/
echo "export DISPLAY=localhost:0.0" >> ~/.bashrc
source ~/.bashrc

次にリンクをクリックしたときにWindows側のブラウザが開くようなスクリプトを作ります。

mkdir bin; touch bin/mikutter_browser_starter
vi bin/mikutter_browser_starter

黒い画面になると思いますが、落ち着いてください。
vimの世界は深い闇に覆われているの。一歩間違えれば帰ってこれなくなるわ。だから絶対、変なキーを押さないで…。

iを押して挿入モードにします。
そしてこれをペタッと貼り付けます。コピーしたら画面上で右クリックするだけです。

#!/bin/sh
ESCAPED_URI=`echo "$1" | sed s/\&/^\&/g`
cmd.exe /C start "$ESCAPED_URI"

貼り付けられたら、ESCキーを押します。:キーを押して

wq!

と下のバーに打ち込めたら、Enterを押して脱出です。
あとはこのコマンドを実行して、権限を与えれば下準備は終わりです。

chmod 755 ~/bin/mikutter_browser_starter

6. mikutter本体を用意する

何も考えずホームディレクトリ直下に用意します。
気になる人は好きな場所へ。(上のスクリプトとかもですけど…。)

git clone git://toshia.dip.jp/mikutter.git
※もしサーバーが落ちている等で失敗したら、こっちのコマンドで試してください。
git clone https://github.com/mikutter/mikutter.git

7. mikutterを動かすためのライブラリを用意する

魔法の呪文をt(ry

cd ~/mikutter
mkdir -p ~/.mikutter/plugin; touch ~/.mikutter/plugin/display_requirements.rb
sudo bundle install

8. CK/CSを書き換える

あらかじめ用意してもらったキーに差し替えます。
やってるのはここと同じことです。
このコマンドを実行して、もう1度vimの世界へ飛び込みます。

vi core/config.rb

iキーを押して挿入モードにしたあと、頑張ってTWITTER_CONSUMER_KEYTWITTER_CONSUMER_SECRETのそれぞれを差し替えます。
矢印キーとBackSpaceキーと右クリックを駆使して頑張るのじゃ。

書き換えが終わったら、前回と同じようにESCキーを押してから:を押して、
コマンドモードにしてから、wq!で脱出です。お疲れ様でした。

9. mikutterを起動する

Windows側でVcXSrvを起動しましょう。タスクトレイにいればOKです。
もしかしたら何やら聞かれるかもしれませんが、Multipleさえ選んでればたぶん何でも大丈夫です。
あとはこのコマンドを実行して、mikutterを呼び覚ますのです。

ruby ~/mikutter/mikutter.rb

無事起動しましたね。おめでとうございます!!!!!!!!!!
早速認証…と行きたいのですが、ブラウザの設定を先に済ませておきましょう。
右下のネギレンチアイコンを押します。

左メニューから表示を選択し、下にスクロールしていくと次のコマンドを使うというオプションがあるので選択し、

/home/{ユーザー名}/bin/mikutter_browser_starter

と入力しておきましょう。これでWindows側のブラウザが起動するはずです。
もちろん手打ちでも可です。Ubuntu側にFirefoxを入れるのもアリだと思うのですが、
めちゃ重なのでオススメはできません。

あとは画面に見えてるミクちゃんに従って操作し、認証を済ませばTLが流れ込んできます。

10. 日本語入力ができるようにする

とりあえず参考サイトに書いてある通りにしたいと思います。
鵜呑み勢なのでこれいらなくね?とかあったら是非教えてください。

sudo touch /etc/apt/sources.list.d/artful.list
sudo vi /etc/apt/sources.list.d/artful.list

そしたら、下の内容を書き込んでください。
もう3回目なので…vimの使い方は不要ですよね!

deb http://ja.archive.ubuntu.com/ubuntu artful main universe

同じように次のファイルも作成します。

sudo touch /etc/apt/preferences.d/artful
sudo vi /etc/apt/preferences.d/artful

下の内容を書き込みます。

Package: *
Pin: release n=xenial
Pin-Priority: 990

Package: *
Pin: release n=artful
Pin-Priority: 90

2ファイルとも準備できたら、下のコマンドを実行してMozcさんをインストールします。

sudo apt update
sudo apt install -t artful uim-mozc

終わったら、次のコマンドを実行して設定画面を開きましょう。

uim-pref-gtk

「使用可能にする入力方式」というところにある編集ボタンを押して、
Mozcだけが有効になるようにしておきましょう。

終わったら、logoutを実行して再ログインします。
これでmikutterを起動すれば、日本語入力できるようになってるはずです。

11. プラグインを導入する

とりあえず個人的に必須だと思っているプラグインを導入していきます。
基本的にgitから導入しますが、そのまま~/.mikutter/plugin/においてもらっても大丈夫です。

①画像リンクをインライン表示する

git clone https://github.com/moguno/mikutter-subparts-image.git ~/.mikutter/plugin/

②画像を添付するプラグイン

git clone https://github.com/moguno/mikutter-uwm-hommage.git ~/.mikutter/plugin/

③投稿元を表示するプラグイン

git clone https://github.com/toshia/mikutter-sub-parts-client.git ~/.mikutter/plugin/

④鍵垢のTweetの背景色をグレーにする
これはひと手間かかってしまいますが、オススメなので載せておきます。

touch ~/.mikutter/plugin/gray_protected_users.rb
vi ~/.mikutter/plugin/gray_protected_users.rb

これで編集画面になったら、次のリンク先のgray_protected_users.rbとして書かれている15行の内容を張り付けて保存します。
(Rawと書かれたボタンを押して表示される全文ですね。)

https://gist.github.com/penguin2716/3183710

パッと思いつくのはこのあたりでしょうか…。
私は30個くらい入ってるのでもはやよくわかりません。

12. その他

なんかあれば追記でまた色々書きます。
設定画面眺めて色々好みにカスタマイズしましょう!
ショートカットキーの設定とか、抽出タブの設定とかおすすめです。

ちなみに、mikutterがアップデートされたときは下のコマンドで最新版に更新できます。
エラー(競合)が起きないことを祈りながら実行しましょう。

cd ~/mikutter
git stash
git pull
git stash pop

あとがき

昨日人生で初めて画面を割りました
Win10を使ってなかったのもPC新調したかったからなんですが、最近何かと支出しかなくぐぬまってます。
干し芋が送られてくるとテンション上がってQiita書きまくります。多分。
記憶域プール作りたい。