ゆんたんのきまぐれBlog

mikutter

#mikutter #Snap #AppImage

mikutterコミッタになった

mikutter 3.9.6 | mikutter blog 公式にmikutterコミッタにされてしまったとして参加することになりました.よろしくお願いします.

これから取り組んでいきたいこととしてはGTK+3対応です.現時点(2019/10/22)ではmiraclepainterがとりあえず動くくらいの段階にあります.コードをながめているとプラグインの分割など色々アイデアが出てくるのですが、ひとまず出来るだけもとの作りのままGTK+3対応を進めることに集中したいです.

mikutter AppImageでリンクをブラウザで開けるように修正した

バグ #1364: AppImage版にてMastodonアカウントの新規登録時、認証URLをクリックしても何も出ない | mikutter Redmine

AppImage版のmikutterで、本文中のリンク等をクリックしてもブラウザが起動しないという問題です.アカウント追加時に必ずブラウザを開く必要があるので、これは重大な不具合でした.

対策方法は上のチケット🎫に書いた通りなのですが、復習も兼ねて書いておきます.AppImage環境はchrootみたいなことをしていて、外の環境と非互換のDLL(動的リンクライブラリ)を引っ張ってこれるようにしています.ブラウザを起動するときのみ、外の環境の環境変数を参照して、ブラウザのバイナリを叩くようにしたという修正です.

1ページ分上/下にスクロールするコマンドを実装した

提案 #1381: 1ページ分上/下にスクロールするコマンドを実装する | mikutter Redmine タイトルの通りです.vimの手癖でCtrl+Dしてしまいがちだったので実装しました.

mikutter Snapの更新

2019/10/22現在のSnap版mikutterはv3.9.6ですが、v3.9.5からv3.9.6にアップデートする際に以下の変更を加えました.

  • jemallocの利用
  • ruby v2.6.5に更新
  • オーディオ再生の権限を修正

#mikutter #snap Install mikutter for Linux using the Snap Store | Snapcraft

rev 60-63では日本語入力ができるはず.

やったこと

  • gnome platformをgnome-3-26-1604にダウングレードした

変更点:downgrade to gnome-2-26-1604 · yuntan/mikutter-snap@9ce9d36

Install mikutter for Linux using the Snap Store | Snapcraft

#mikutter#Snap としてパッケージングし,Snap Storeで公開した.

Snapとは

Linuxアプリを最新に保つための新しいパッケージ管理システム.

  • アプリのバージョンをOSの更新のタイミングと切り離して管理できる
  • アプリが依存するパッケージも含めて1つにまとめることができる
  • Ubuntuやそれ以外のLinuxディストリビューションで使える

などの特徴がある.よく似たものとしてFlatpakやdockerがある.dockerはサーバーアプリに特化しているのに対し,Snapはデスクトップアプリ・サーバーアプリの両方を扱うことができる.

参考

Snapアプリとしてのmikutter

mikutterの動作に必要なRuby,Gem,GTKのライブラリを全てまとめて,Snapアプリとしてパッケージングした.

ビルド用スクリプト:yuntan/mikutter-snap | GitHub

Rubyアプリをパッケージングする知見が無駄に溜まったのでまた今度記事にしたい.

既知の問題

日本語入力ができない.

Snapアプリの統計

Snapアプリのメンテナは,Snapアプリがどれだけのデバイスにインストールされているかを確認することができる.

過去一ヶ月間のインストール数の統計.

ディストリビューション別のインストール数の統計.

Snapアプリの今後の更新方針

  • mikutterのupstreamでタグが切られた時のみSnap Storeにリリースする.
  • edge channelはタグが切られた後,一日以内に更新される.(私が管理しているサーバーで自動更新用のスクリプトを回している.)
  • stableは手動で更新する.

#mikutter

yuntan/mikutter-rss: RSS plugin for mikutter 3.6+

  • feed-normalizerに依存しないように変更
    • bundle installが不要になったので,AppImage版のmikutterでも動作するようになった.
  • subparts_image対応
  • RSSの取得に失敗したときにクラッシュする不具合を修正
  • 非ASCII文字を含むURLを扱えるように修正

#mikutter #AppImage mikutter.AppImage on Ubuntu 18.04

mikutter.AppImage on Fedora 28

🚧️ このパッケージはテスト版です.配布物に関していかなる保証も致しかねます.告知なしに配布を取りやめることがあります. 🚧️

配布ページ:https://github.com/yuntan/mikutter/releases/tag/v3.8.8-20190525 前のバージョン:v3.8.7-20190503

必要な環境

AppImage版mikutterを使うには2014年以降にリリースされたLinuxデスクトップ環境が必要です. 以下のディストリビューションにて動作を確認しました.

  • Ubuntu 18.04
  • Fedora 28
  • Arch Linux

使用方法

wget https://github.com/yuntan/mikutter/releases/download/v3.8.8-20190525/mikutter-3.8.8-20190525-x86_64.AppImage
chmod +x mikutter-*.AppImage && ./mikutter-*.AppImage

連絡先

@yuntan_t@mstdn.maud.io又はGitHubのIssues

主な変更点

既知の問題

  • 一部の環境で,リンクをブラウザで開くことができない.Ubuntu 18.04で不具合を確認.
    • リンクをクリックするとError: no DISPLAY environment variable specifiedが標準出力され失敗する.
    • AppImageKit-checkrtexec.so関連の問題と思われる.
  • AppImageにバンドルされていないRuby gemに依存するmikutter pluginを利用できない.
  • 突然クラッシュすることがある.

ビルド用スクリプト

https://github.com/yuntan/mikutter/tree/ci-appimage/deployment/appimage

TODO