Linux
で使っている Twitter
クライアント「mikutter
」
今までは Debian のパッケージをインストールしていました。

2017年12月25日、新しい概念の mikutter
が誕生しました。
早く試したいため、ソースからビルドしてインストールしてみます。
[q3-adsense01]
必要なパッケージのインストール
必要なパッケージは
ruby2
系ruby-gtk2
bundler
になります。
ruby2系
パッケージ版をインストールした際に、ruby
も一緒にインストールされています。
入っていない場合は、直接インストールしましょう。
$ sudo apt-get install ruby
ruby-gtk2
こちらも apt-get
でインストールします。
僕の環境ではなぜかもう入っていました。
~$ sudo apt-get install ruby-gtk2
[sudo] naruhiko のパスワード:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
ruby-gtk2 はすでに最新バージョン (3.1.0-1+deb9u1) です。
ruby-gtk2 は手動でインストールしたと設定されました。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
~$
bundler
gem
をインストールするために使います。
~$ sudo apt-get install bundler
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
libgmp-dev libgmpxx4ldbl ruby-bundler ruby-dev ruby-molinillo
ruby-net-http-persistent ruby-thor ruby2.3-dev
提案パッケージ:
gmp-doc libgmp10-doc libmpfr-dev
以下のパッケージが新たにインストールされます:
bundler libgmp-dev libgmpxx4ldbl ruby-bundler ruby-dev ruby-molinillo
ruby-net-http-persistent ruby-thor ruby2.3-dev
アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。
2,167 kB のアーカイブを取得する必要があります。
この操作後に追加で 8,185 kB のディスク容量が消費されます。
続行しますか? [Y/n]
関連するパッケージもインストールされます。
mikutter ソースのダウンロード
ソースは git
からダウンロードすることにしました。
パッケージ版と分けるため、「.mikutter-git
」というディレクトリを作成してその中で作業します。
~$ mkdir .mikutter-git && cd .mikutter-git
~/.mikutter-git$ git clone git://toshia.dip.jp/mikutter.git
Cloning into 'mikutter'...
remote: Counting objects: 22643, done.
remote: Compressing objects: 100% (5838/5838), done.
remote: Total 22643 (delta 16724), reused 21573 (delta 15707)
Receiving objects: 100% (22643/22643), 5.41 MiB | 4.01 MiB/s, done.
Resolving deltas: 100% (16724/16724), done.
~/.mikutter-git$ cd mikutter
~/.mikutter-git/mikutter$
Gemfileのインストール
足りないものがいろいろあって、何度も失敗しています。
僕の環境でエラーなくインストールするには、以下の順番で実行していく必要がありました。
sudo apt-get install libidn11-dev
sudo gem install idn-ruby -v '0.1.0'
sudo gem install rake
sudo gem install atk -v '3.2.0'
bundle install
失敗を少なくしたいのなら、この順番で実行してみてください。
実際に僕が実行したコマンドは以下のとおりです。
bundle install の実行(失敗)
必要な Gemfile
をインストールします。
~/.mikutter-git/mikutter$ bundle install
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
〜長いので非表示〜
An error occurred while installing idn-ruby (0.1.0), and Bundler cannot
continue.
Make sure that `gem install idn-ruby -v '0.1.0'` succeeds before bundling.
~/.mikutter-git/mikutter$
エラー内容を見ると、「idn-ruby
」がないためにエラーになったようです。
idn-ruby のインストール(失敗)
idn-ruby
を gem
でインストールします。
~/.mikutter-git/mikutter$ sudo gem install idn-ruby -v '0.1.0'
Building native extensions. This could take a while...
ERROR: Error installing idn-ruby:
ERROR: Failed to build gem native extension.
〜長いので非表示〜
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.3.0/gems/idn-ruby-0.1.0 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/idn-ruby-0.1.0/gem_make.out
~/.mikutter-git/mikutter$
なぜか、エラーになってしまいます。
調べた結果、「libidn11-dev
」が必要でした。
libidn11-dev のインストール
apt-get
でインストールします。
~/.mikutter-git/mikutter$ sudo apt-get install libidn11-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
libidn11-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
594 kB のアーカイブを取得する必要があります。
この操作後に追加で 894 kB のディスク容量が消費されます。
再度 idn-ruby のインストール(成功)
再度 iden-ruby
のインストールを試みます。
~/.mikutter-git/mikutter$ sudo gem install idn-ruby -v '0.1.0'
Building native extensions. This could take a while...
Successfully installed idn-ruby-0.1.0
Parsing documentation for idn-ruby-0.1.0
Installing ri documentation for idn-ruby-0.1.0
Done installing documentation for idn-ruby after 0 seconds
1 gem installed
~/.mikutter-git/mikutter$
うまく行きました!
再度 Gemfile のインストール(失敗)
再度、Gemfile
のインストールを試みます。
~/.mikutter-git/mikutter$ bundle install
Fetching gem metadata from https://rubygems.org/................
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
〜長いので非表示〜
An error occurred while installing atk (3.2.0), and Bundler cannot
continue.
Make sure that `gem install atk -v '3.2.0'` succeeds before bundling.
~/.mikutter-git/mikutter$
また失敗しました。
今度は atk
がないとのことです。
atk のインストール(失敗)
atk
を gem
でインストールします。
~/.mikutter-git/mikutter$ sudo gem install atk -v '3.2.0'
Building native extensions. This could take a while...
ERROR: Error installing atk:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/atk-3.2.0/dependency-check
/usr/bin/ruby2.3 -rubygems /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake RUBYARCHDIR=/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/atk-3.2.0 RUBYLIBDIR=/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/atk-3.2.0
/usr/bin/ruby2.3: No such file or directory -- /usr/share/rubygems-integration/all/gems/rake-10.5.0/bin/rake (LoadError)
rake failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.3.0/gems/atk-3.2.0 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/atk-3.2.0/gem_make.out
~/.mikutter-git/mikutter$
むぅ。今度は rake
がないためにエラーになったようです。
rake のインストール(成功)
rake
を gem
でインストールします。
~/.mikutter-git/mikutter$ sudo gem install rake
Fetching: rake-12.3.0.gem (100%)
Successfully installed rake-12.3.0
Parsing documentation for rake-12.3.0
Installing ri documentation for rake-12.3.0
Done installing documentation for rake after 0 seconds
1 gem installed
~/.mikutter-git/mikutter$
うまく行きました。
再度 atk のインストール(成功)
再度、atk
を gem
でインストールします。
~/.mikutter-git/mikutter$ sudo gem install atk -v '3.2.0'
Building native extensions. This could take a while...
Successfully installed atk-3.2.0
Parsing documentation for atk-3.2.0
Installing ri documentation for atk-3.2.0
Done installing documentation for atk after 0 seconds
1 gem installed
~/.mikutter-git/mikutter$
うまく行きました。
再度 Gemfile のインストール(成功)
では、もう一度 Gemfile
のインストールをします。
~/.mikutter-git/mikutter$ bundle install
Fetching gem metadata from https://rubygems.org/................
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
〜長いので非表示〜
Bundle complete! 23 Gemfile dependencies, 47 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
~/.mikutter-git/mikutter$
今度こそ成功です!
[q3-adsense01]
mikutter の起動
では、早速起動してみます。
~/.mikutter-git/mikutter$ ./mikutter.rb
無事に起動しました!
起動スクリプトの作成
マイクラのときと同じように Gnome3
のランチャーに登録するスクリプトを作成します。
~$ vi ~/.local/share/applications/mikutter-git.desktop
[Desktop Entry]
Name=mikutter-git
Comment=Twitter Client
Comment[ja]=至高のTwitterクライアント
Exec=.mikutter-git/mikutter/mikutter.rb
Icon=/home/namotch/.mikutter-git/mikutter/core/skin/data/icon.png
Type=Application
Terminal=false
Categories=Network;
Keywords=Twitter;
Name
: ランチャーに表示される名前です。
Exec
: mikutter.rb
を指定します。
Icon
: みくったーちゃんのアイコンを指定しました。絶対表示で指定しないとうまく行きませんでした。
保存したらランチャーを開いてみます。
成功ですね。
これでいつでも最新の mikutter
が使えるようになりました。
さいごに
mikutter
の作者の Twitter
アカウントが凍結したため、mikutter
界隈は一気に Mastodon
に移動しました。
mikutter
自体も Twitter
以外のアカウントでも情報が取れるように何年も構想を練っていたようです。
今回の凍結騒ぎのタイミングに併せて、mikutter
も大きく変わりました。
まだまだバグがあるようですが、僕もバグ取りに貢献しようと思い、最新バージョンを入れてみました。
また新しい物が出てきたら、そのことも書いていこうと思います。
[q3-adsense01]
コメント
[…] Debian stretch に mikutter 3.6 を入れてみた […]