鹿児島らぐの「鹿児島Linux勉強会 2018.04」に参加

DP1M0435

鹿児島らぐの「鹿児島Linux勉強会 2018.04」に参加したけど一人.
てことでポタリングの様子をお楽しみください?

錦江町から海岸線沿いで北上.
DP1M0369DP1M0370DP1M0372DP1M0373
高須から旧大隅線跡のサイクリングロードが飛び飛びであるのでそちらを利用.ちなみに頻繁に車止めがあるので速度や体力的には普通に道路を走ったほうが良いです.
DP1M0374DP1M0375DP1M0376DP1M0378
なんか海藻が干してあったり.
DP1M0382DP1M0383
菅原小学校跡が宿泊型体験施設になるらしいのdすがそこの工事をしていたり.
DP1M0384DP1M0385DP1M0386DP1M0387DP1M0389DP1M0390DP1M0391DP1M0392DP1M0393DP1M0394DP1M0395DP1M0396DP1M0398
古江から上がったところの自転車道が開通していて便利になっていたり.
DP1M0399DP1M0400DP1M0401DP1M0402DP1M0403DP1M0405DP1M0406
何時もは桜島経由ですが,今回は産業道路に行きたいので垂水フェリーを利用しました.自転車+同乗者で500円です.普通の大人1人が490円なので割安に感じます.
DP1M0409DP1M0412DP1M0415DP1M0416DP1M0417
鹿児島に渡って東海町のハードオフへ.あまりこれと言ったものが見当たらず.でもジャンク扱いのFDが1枚108円もしてて驚いたり.
New photo added to gallery
マンガ倉庫にもちょっと寄ってみたのですが,こちらにはタイプライターが!ちょっと欲しくなりました.あとでヤフーオークションなどを見てみると3桁円くらいかあるようなので買うならそちらのほうが安いかも?
DP1M0419DP1M0420
天文館へ移動してちょっと銀行にと思ったら三井住友銀行が移転していました.あとはダイソーでminiUSBケーブルを入手.本屋にも寄りたかったけど時間切れ.
DP1M0423DP1M0426

そういえばこの日は屋台村リニューアルオープンだったらしい

DP1M0427

駅前の再開発を見たり

DP1M0428

赤い市電見たり.(帰ってから広島のニュースを見かけておんなじだと思ったり)

DP1M0429

誰か来るかもと一応ジョイフルに.座席は禁煙席の一番奥に.少しWi-Fiの電波が弱かったです.電源席は延長コードがないと辛いかもという感じの場所にしか見当たらず.席自体は常に1テーブル以上開いてるし学生らしき集団がテキスト開いてるところもあって長居しやすい感じでした.
ここでは主に今回のネタの一つだったUSB-OTGでHIDの検証し直しをしてました.

DP1M0430DP1M0431DP1M0435

17:00過ぎまでジョイフルに居て,その後与次郎のダイソーに寄って垂水フェリーで帰宅しました.

鹿児島らぐの「鹿児島Linux勉強会 2017.12」に参加

公開していたつもりが出来ていなかったです.半年前><

2017-12-09 にTUKUDDOさんにて鹿児島らぐの鹿児島Linux勉強会 2017.12がありました.
同一会場内で軽量マークアップ言語のイベントがあって合同でどうかという話もありましたが,日程も迫っていてそちらの参加者からするとLinuxネタは謎の発表になるだろうし時間も足りないだろうなと思ったので断り隣のテーブルで独立開催?でした.参加者が居ない状態からなら参加者が判断できるので併催ありだと思うんですけどね.

IMGP5003IMGP5004IMGP5006

参加者は圏外参加者1名を含む3名でした.
以下のような話題がありました.

その他こんどうさんにより各種シールをいただきました.

シールは私( @matoken )が預かっています.次回以降の勉強会で持っていくのでくれと言ってください(持っていってるのに出し忘れることとかもあるので……).
シールのネタがわからない/知りたい人は末代やmikutterなどをチェック.

その他,Raspberry Pi で機械学習だと秋月電子で売られているMovidius Neural Compute Stickとかあるよねとか.

自転車に古いAndroidを積んでいるのは同じだけどもっと割り切って自転車が盗難にあったら(振動を検知したら)メールを飛ばして(Secrt Control),後はAndroidを探すアプリで探すようにしているという人やらも.

懇親会は2名で鹿児島王将 中町店へ.夕方運んでるのかと思っていたのですが想像と違い空いてました.案外ここでの懇親会もいいかもしれません.

IMGP5009

次回の開催は未定です.MLをチェックしてください.

IMGP4919IMGP4922IMGP4926IMGP4927IMGP4932IMGP4937IMGP4941IMGP4943IMGP4946IMGP4948IMGP4951New photo added to galleryIMGP4957IMGP4971IMGP4979IMGP4991New photo added to galleryIMGP5003New photo added to galleryDSC_0170.JPGNew photo added to galleryNew photo added to gallery

Nextcloudのファイルがロックされて困る

Nextcloud clientがエラーを出力するようになりました.アイコンも赤に><
エラーメッセージはこんな感じでロックが掛かっているようですが心当たりはありません.サーバのログも同様でした.

 2018/05/18 20:57:58,                     Documents/somefile.md,                     Nextcloud,Error transferring https://files.matoken.org/remote.php/dav/files/matoken/Documents/somefile.md - server replied: Locked ("Documents/somefile.md" is locked)

DuckDuckGoで検索して以下のフォーラムを見つけました.

参考にdbでlockが1になってるものを消したら今回は直りました.
occ files:scanは今回効かなかったです.

$ sudo -u www-data php ./occ maintenance:mode --on
$ mysql -u nextcloud -p -D nextcloud -e 'delete from oc_file_locks where 1'
Enter password: ***********
$ sudo -u www-data php ./occ maintenance:mode --off

ちょっとconfig.phpを見直したりしてみようと思います.

環境

client

$ lsb_release -d
Description:    Debian GNU/Linux unstable (sid)
$ uname -m
x86_64
$ dpkg-query -W nextcloud-client
nextcloud-client        2.3.2-bata1-1

server

$ lsb_release -d
Description:    Debian GNU/Linux 9.4 (stretch)
$ uname -m
x86_64
$ sudo -u www-data php ./occ -V
Nextcloud 13.0.2

GNU socialでNodeInfoを有効にする

GNU socialのIssueで気になるものが.

インスタンス情報を確認できるエンドポイントがあると便利だよねってIssueでそれを実現する以下のプラグインが紹介されていました.

これがなくても以下で補足されているようですが,もっと簡単に情報を提供できそうです.

入れてみました.

$ git clone https://github.com/chimo/gs-nodeinfo
$ sudo -u www-data rsync -avn --exclude="gs-nodeinfo/.git/" ./gs-nodeinfo /var/www/gnusocial.matoken.org/plugins/
$ sudo -u www-data rsync -av --exclude="gs-nodeinfo/.git/" ./gs-nodeinfo /var/www/gnusocial.matoken.org/plugins/
$ sudo mv /var/www/gnusocial.matoken.org/plugins/gs-nodeinfo /var/www/gnusocial.matoken.org/plugins/Nodeinfo
$ echo 'addPlugin('Nodeinfo');' | sudo tee -a /var/www/gnusocial.matoken.org/config.php 
addPlugin(Nodeinfo);

とりあえず動かしてみます.

$ w3m -dump https://gnusocial.matoken.org/.well-known/nodeinfo
{"links":[{"rel":"http:\/\/nodeinfo.diaspora.software\/ns\/schema\/2.0","href":"https:\/\/gnusocial.matoken.org\/nodeinfo\/2.0"}]}

見にくいのでjqに食わせてみます.

$ w3m -dump https://gnusocial.matoken.org/.well-known/nodeinfo|jq
{
  "links": [
    {
      "rel": "http://nodeinfo.diaspora.software/ns/schema/2.0",
      "href": "https://gnusocial.matoken.org/nodeinfo/2.0"
    }
  ]
}

詳細情報も.こちらは10秒くらい掛かります.

$ w3m -dump https://gnusocial.matoken.org/nodeinfo/2.0|jq
{
  "version": "2.0",
  "software": {
    "name": "gnusocial",
    "version": "1.2.0-beta5"
  },
  "protocols": [
    "ostatus"
  ],
  "services": {
    "inbound": [
      "atom1.0",
      "rss2.0",
      "gnusocial"
    ],
    "outbound": [
      "atom1.0",
      "rss2.0",
      "twitter",
      "gnusocial"
    ]
  },
  "openRegistrations": false,
  "usage": {
    "users": {
      "total": 5,
      "activeHalfyear": 2,
      "activeMonth": 1
    },
    "localPosts": 3448,
    "localComments": 427
  },
  "metadata": {}
}

使われるかわからないけどとりあえず.

NextcloudのWeb Installer

最近13が出たNextcloudですが,先日自宅サーバのownCloudもNextcloudに移行しました.
その時気づいたのですが,インストールページにWeb Installerというものが増えていました.

20180214_22:02:05-30568

いつもはArchiveをダウンロードしてverifyして展開してセットアップという流れでしたが,これだとWeb Installer ScriptをダウンロードしてWebPublicに置いてアクセスすると以下のようなSetup Wizardがはじまり,Nextcloud本体をダウンロードして展開してくれます.

$ wget https://download.nextcloud.com/server/installer/setup-nextcloud.php
$ sudo -u www-data mv setup-nextcloud.php /var/www/

https://example.com/setup-nextcloud.php

20180131_08:01:38-11248

次の画面で導入ディレクトリを指定すると後はいつものセットアップウィザードが走ります.

20180131_08:01:54-11374

shellの使えないサーバなんかでは便利そうです.

ちなみにこのときownCloudから以下のような感じでデータ移行したのですが,数ユーザ,データ量50GB程度でしたが復号化暗号化ですごい時間かかりました.

  • ユーザの確認
    occ user:list
  • ownCloudで暗号化解除
    occ encryption:decrypt-all
  • rsync とかで owncloud/data/${USER}/files を nextcloud/data/${USER}/files にコピー
  • Nextcloudでファイルスキャン
    occ files:scan -p /${USER}/files ${USER}
  • Nextcloudで暗号化
    occ encryption:encrypt-all

この辺を見るとデータはそのまま移行できたようです…….

追記)

やっぱり簡単に移行できそう.

WebmailソフトのRainLoopのOpenPGP鍵の保存場所

RainLoopというWebmailソフトウェアがあってこれはOpenPGPに標準で対応しているらしいし,NextcloudのPluginとして簡単に導入できるようということで試しに入れてみました.

以下のようにOpenPGPの設定画面で鍵をインポートしたり生成できます.

20180207_00:02:05-19556

既存の鍵を取り込む時は

公開鍵はgpg -a --export 9C3EC5272FFDAF803289ADE4398C09CC572E532C|xclip
秘密鍵はgpg -a --export-secret-keys B8B520B39C7E035CB18B01FF3B54CAAED9A959F4|xclip

のような感じでエクスポートしたものを以下のテキストボックスに貼り付けてインポートできます.
一度に沢山の公開鍵を読もうとしたら失敗しました.

20180207_00:02:15-19652

以下のように保存されて,メール作成時に暗号化や署名が可能になります.でもオプション扱いのようでいつも暗号化や署名をしたい人は毎回暗号化や署名を指定しないといけないのでちょっとめんどうだし指定し忘れて送信してしまいそうです.

20180207_00:02:35-19876

ちなみにこの鍵はサーバに保存されるのかと思っていたのですが,ブラウザを変えると鍵がでてきません.
確認するとブラウザのcookieに保存されるようです.

秘密鍵をいつものブラウジングに使うブラウザに保存するのはちょっと怖いですね.
プロファイルを分けるなどしたほうが良さそうです.

sphinx-themes.org が便利

ということで,Sphinx Themesというテーマが一覧で見られるサイトが出来たようです.
ひと目で確認できるので便利です.

ちなみにテーマの変更方法は以下のページを参考に.(基本的にはpipで入れてconf.pyのhtml_themeに指定)

SphinxについてはSphinx-Users.jpで日本語で一通り学べます :)

Linuxでそこそこ軽量なreStructuredTextリアルタイムプレビュー付きのエディタとしてReTextというものがおすすめです.(最近はMarkdown Editorとして紹介されることが多いですが名前のとおりもともとはreSTエディタでした)

最近は軽量マークアップ言語としてMarkdownが有名になりましたが,もう少し複雑なドキュメントを書きたい場合などにSphinx(reStructuredText)はおすすめです.PythonLinux Kernelのドキュメントをはじめ様々なサイトで活用されています.

Sphinxの書籍もあります.

GNU socialのQvitter pluginの背景画像を変更

imgp3854

他の連合でも大抵規定値の同じ背景だし外から来た時目立つしという感じでなんとなく変えたくなったので非ログイン状態のQvitterサイト背景画像を変更してみました.

/plugins/Qvitter/README.md から

$config['site']['qvitter']['sitebackground'] = 'img/vagnsmossen.jpg';

/plugins/Qvitter/img/画像.jpg のような感じで対象の画像を置いて,

/config.php にこんな感じで設定.

$config['site']['qvitter']['sitebackground'] = 'img/画像.jpg';

フルパスはOKだけどFlickrのurlを直に書いたらダメだった.

img/画像.jpg
/img/画像.jpg
/plugins/Qvitter/img/画像.jpg
https://farm1.staticflickr.com/58/230823787_1515cd477c_b.jpg

README.md の形式で書いておくのが無難でしょうね.

Linux USER Manizx 2017冬号

コミックマーケット93 1日目「Linux Searhers」で頒布された「Linux USER Manizx 2017冬号」に1本記事を寄稿したのですが献本をいただきました :)

https://twitter.com/matoken/status/952848962137997312

ということでざっと一読した感想とか.

  • Raspbian の/rootをbtrfsにしてみた
    Btrfsが不安定ということですがamd64 環境では現在特に不安定には感じていないのでArmの問題かRaspberry Pi側の問題な気がします.
    Raspberry Pi 3 B + SSD 運用だと安定しそう?

  • microSD を複数同時に Copy!
    私は似たようなことにteeでddを繋いで利用しています.
    10portのセルフパワーのUSB HubにUSB-miroSD アダプタ8本刺しても問題なく動くんですね.

  • Raspberry Piを使った電子 FAX の試作
    以前は入会費,維持費0円でFax用の番号が貰えるサービスなんかもあったのですが最近は見当たらないのでFaxが必要な人にはとても良さそうですね.
    ハードウェアはRaspberry Piだけでmodem等も不要というのが魅力的です.
    #でもFax使う人には脱Faxしてほしかったり

  • UEFIで始める Linux From Scratch
    手持ちのマシンはUEFI未対応(ThinkPad X200)ですがこのQemuの手順だと遊べるのでは?と思ったので今度試してみようと思います.
    後,GNU corutilsのnproc知らなかったので参考になりました.

  • Linux ARMにVivaldiがやってきた
    自分の記事なので読んでませんが最近はARMではなくArmと表記するようです.
    それとVivaldiダウンロードページにUnsupportedとなっていますがArm版が記載されるようになりました.
    https://vivaldi.com/download/

  • PimoroniのpHATをプロキシ環境で使う
    Pimoroniは魅力的なpHATが色々あっていいですよね.
    このプロキシは環境によりつまずく人が多そうですね.参考になりました.
    #せめて自分のサービスにping飛ばしたらいいのに><

  • エアロジェルピザ窯DE-Aero(1/3)
    エアロゲル昔読んだ同人誌(つきなみCOMICS)に載って頭の片隅にかすかに…….
    今回のはコンパクトで(重量1/10!)予熱時間も短く普通のトースター的にも使えそうでいいですね.
    今庭のある家に住んでいるのでとりあえず持ち運びしない前提で耐熱レンガとピザストーンを買って積んでみたいなと.
    今度ホームセンターで探してみます.
    ところで電熱線はどのようなものを使ったのか気になりました.電気だと大分お手軽そう.

  • HeySiri!テレビつけて!
    前号と合わせて読むとGPIOやAC電源On/Off,赤外線制御と出来ていい感じですね.
    iPhone持っていないのでGoogle/Amazon辺りで真似してみたいです.
    #AGFAから逃れたいけどこの分野ではまだ無理かな…….

もしこれらの本が欲しい方は次は(受かれば)2018/04/22の「技術書典4」での頒布になると思います.

GNU social に Pleroma FE を導入してみる

OStatus の実装の一つに Pleroma というものがあります.

Mastodonともある程度APIの互換性があって一部のMastodon clientも利用できたりするらしいです. Elixir製で軽量,Raspberry Pi でも動くとのこと.ActivityPub に対応予定なのも良さそう.GNU social からの移行も出来るようになる予定とのことなのでこの辺りの実装が終わったら開発がとどおおっているように見える GNU social からの移行者が増えそうな気がします.( 自分はサブドメインに gnusocial とつけてしまったのを後悔.social とかにするんだった)

この辺の記事が参考になります.

Pleroma はバックエンドとフロントエンドが別れていて GNU social( + Qvitter Plugin ) と Pleroma FE(フロントエンド) という組み合わせが可能です.この Pleroma FE の導入は簡単そうなので既存の GNU social の上に導入してみました.

導入

導入は一番手軽そうな以下の手順を真似しました.

前提条件として,GNU social が動いていて Qvitter plugin が有効になっている必要があります.Qvitter は GNU social に含まれているので設定ファイルで有効にするだけでOKなはずです.

$ grep Qvitter /var/www/gnusocial.matoken.org/config.php 
addPlugin('Qvitter');

<追記>
Qvitter は GNU social に含まれているのは勘違いでした.以下から導入してください.

</追記>

次に以下の Pipelines から最新のzipを入手して展開します.

$ wget 'https://git.pleroma.social/pleroma/pleroma-fe/-/jobs/974/artifacts/download' -O pleroma-fe.zip
$ unzip pleroma-fe.zip 

展開してできたdistディレクトリ中の index.html を pleroma.html に変更します.

$ mv dist/index.html dist/pleroma.html

dist以下をGNU social のディレクトリにコピーして完了.

$ sudo -u www-data rsync -av dist/* /var/www/gnusocial.matoken.org/

導入した GNU social にログインした状態で /pleroma.html にアクセスすると Pleroma FE になります. / にアクセスすると元の Qviter なので併用可能です.

見た目は Qvitter とそんなに変わりませんがこの辺が気に入っています.

  • アイコンのアニメーション対応
  • 設定することでタイムラインの自動更新が可能(Enable automatic streaming of new posts when scrolled to the top)
  • ‘#NSFW’ が R18 注意の画像に差し替わってそれをクリックしないと表示されなく出来る 20180106_00:01:53-18586

縦長の画面にすると Qvitter と同じで Sidebar / Timeline に別れるので自動スクロールを有効にしてサブモニタに Timeline を表示するようにしています.

20180107_14:01:52-1314220180107_14:01:40-13089

Qvitter では自動更新されないし,自動更新可能なクライアントもいくつか試してみましたがいい感じのものが見当たらなかったので今これで落ち着いています.

ちなみに Pleroma FE だけだと API などは GNU social のままなので注意.

ちょっとしたカスタマイズ

static/config.json を修正することでデフォルトの壁紙やロゴ,テーマなどの変更が可能です. 壁紙は /static/bg.jpg /static/bgalt.jpg の2つが用意されています. NSFW 画像は static/img/nsfw.9399fe3.png のようです. static/styles.json でテーマが設定可能です.

不具合とか?

  • 非ログイン状態で /Pleroma.html にアクセスすると認証の窓が出てくるけど正しい認証情報を入力してもログインできない?一旦GSでログインしておくと良い.(GNU social は
    nightry だし 認証系の2FA plugin も入れているのでそのせいかも
  • タイミングにより通知が更新されないことがある?左側の「通知」を押すとmentionは全部取得する.(お気に入りの再取得は無理?)
  • 設定で「Enable automatic streaming of new posts when scrolled to the top」を有効にしているのに Timeline が自動更新されない.一番上にスクロールしている必要がある.上部のロゴ近辺をクリックすると一番上にジャンプする.