ゆんたんのきまぐれBlog

snap

#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 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 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は手動で更新する.