鹿児島Linux勉強会2016.04に参加

鹿児島らぐの鹿児島Linux勉強会 2016.04に参加してきました.

熊本で地震があったばかりでどうしようかなとちょっと思いましたが鹿児島は被害も無さそうだし開催しました.参加希望者は全員集まったし良かったのではないかと思っています.

今回の会場は谷山だったので早めに家を出たのですが思ってた以上に時間掛って3時間以上掛ってしまいましたorz

今回参加者は6人.うち1人は埼玉からと前回に続き遠征組がΣ
ナンデ?いえ嬉しいんですけれどね.わざわざ遠征してくるほどのものができているかというとどうかなーと思ってしまって.

26550962131 44215d88ab n 26013294703 c95b8ea987 n
集合場所の日本最南端の電停の碑とお土産の十万石まんじゅう

前回に続きTwitterのハッシュタグ( #kagolug ) TitanPadも利用.しかしどちらも使われず遅刻者のTweetにもなかなかきづけずダメダメでした.次は自分が喋っている時にもTweetに気づけるようpopupするようにしておこうと思います.TitanPadは勉強会中にもっとピックアップするように&気長にやるしか無いかな?
でも以前のように一人で何個もネタを用意しないと時間が持たないということがなくなってきたのは良い感じです.毎回5つくらいネタ用意してるんですが一人で発表しててもあれですし…….

今回の新しい試みとして参加登録時にアンケートを設けてそれを以下のようにスライドに貼ってみました.


matoken (matoken)

  • この勉強会を何で知りましたか?

    • 脳内

  • 発表や相談したいことがある人は良かったら書いてください

    • ちょっと古いマシンにUbunuMATE入れた話とか?


発表したいことは 「(回答なし)」となっていることが多かったですが,実際はあったりして聞いたその場で埋めていきました.
これは後で思い出せなくなるので良かったと思います.
ちなみにDebian勉強会の真似だったりします.

Tip
Debian勉強会の資料は以下で見ることが出来ます.
過去の資料過去の資料pdf版
第 107 回 関西 Debian 勉強会 2016 年 2 月 のかわだてつたろうさん「勉強会資料の歩き方」が参考になります.

私の発表はこれで,前回古いXPマシンをLinuxにしたいという方がいたのでその助けにならないかと思ってこのネタを選びました.

前半のFMV-U8250にUbuntu MATE入れたとこまで発表しました.でも後半だけ発表したほうが良かったかもなーと後で思ったりしました.

26590185566 45da709206 n 26010821964 50a3a9bbcc n
勉強会の様子

勉強会終了後路面電車の最終電車で天文館方面へ.そして遠征者のチェックインを待って懇親会を行いました.

26010719854 65c8a45c12 n

懇親会が終わって桜島フェリー桟橋に向かっている時に地震を知らせる防災無線そして震度4の地震がありました.歩いていても揺れを感じてびっくり.フェリー出るのかなと思いつつフェリー乗り場に付くとちょうど出港したところでした.平常運転.

26523381402 078be00d6e n

桜島フェリーは24時間運行ですがこの時間帯は1時間に1本ということでNHKのらじる☆らじるを聞きながら1時間近く待合所でPCいじっていたのでした.フェリーで桜島にわたってから家までは落石とか怖いので遠回りして車通の多い道で帰りました.何事もなく5時前くらいに帰宅.

次回は5月にやりたいけれど未だ何も決まっていません.誰か手を上げてくれると嬉しいけどどうなるかな?

Bash on Ubuntu on Windows(Windows Subsystem for linux)を少し試す

巷で噂の? Bash on Ubuntu on Windows(Windows Subsystem for linux) ですが,少し試してみました.
目的はみんなとは少し違う感じでWindows環境の中でLinuxデスクトップ環境を混在させたいなと.

Bash on Ubuntu on WindowsというのはWindwsの中でLinuxバイナリがそのまま動くというものらしいです.*nix環境でWindowsのバイナリを動かすWineの逆のような物だと思います.未だ全ての機能は実装されていなくてβ扱いです.

Windows7環境をWindows10にアップグレードして環境を用意しようと思ったのですが,これが結構面倒でした.Windows7の入ったDiskに差し替えて半年ちょっとぶりにWindowsUpdateをかけたのですが,更新の確認が1日経っても終わりません.これは以下の2つを試してやっと解決しました.

そして半日くらいかけてWindowsUpdate完了.その後Windows10にアップグレード開始.ということでWindows10のイメージのダウンロードが行われました.確か2GBちょっと.その後 Trend Micro Internet Security 2009 は互換性のないアプリなのでアンインストールするように言われました.しかしこれは確かプリインストールされていて即消したような気のするアプリ.アプリの一覧にもスタートメニューにもありません.program files / program files (x86) の下にもありません.regeditで TrendMicro をキーに検索すると1項目発見.こいつを削除してやっとここをパスできました.
次は以下の謎のエラー.OSを再起動してみると再度Windows10のイメージをダウンロードし始めました…….そんなこんなでやっとWindows7 → Windows10に.巷では勝手にWindows10になったとかよく聞くのでこんなに時間掛かるとは思いませんでした.(未だWi-Fiとサウンドデバイスが見えなくなってるけど後回し)

25805713564 189cdf47bb n

次はInsider Preview Buildの設定.設定しても最新ビルドが降ってきません.

26298209522 880cffaefc n

そういえばVirtualBoxの中にもWindows10環境があったなーと試すとこちらだとさくっと降ってきました.これから試す方は最新isoイメージを入手してそこからインストールしたほうが早そうです.

(ここからはBash on Ubuntu on Windows on Debianに!)

最新にアップグレードできたら「Windowsの機能」から Windows Subsystem for Linux(Beta) にチェック.

26364413016 d793a965fd n

とりあえずBashを起動.

26390311865 58de4f4ae6 n

Ubuntuイメージのダウンロードが始まりました.

26390312065 1381cf5024 n

メニューに Bash on Ubuntu on Windows が出てきました.

26390312255 82e3285d7b

aptとかも動きますね.

25785485344 f69415644e

OpenSSHはなんかコケます.端末がとても使いづらいのでこれは使いたかったです.telnet試すという手もあるけど…….

26297965742 7113f846ab

そして,やりたかったのはこれです.

26297965822 3ec3a96616

X ServerをWindowsで起動しておいてXアプリを利用しています.今回はX Serverに Xming を利用しました.

x11-appsに入っているような単純なアプリは問題無さそう(xconsoleはconcole開けてませんが)ですが,例えばmikutterは認証後に落ちるし,vim-gtkは起動して使えそうと思っても使おうとすると固まったりSEGVで落ちたりでした.

26364414926 eb2ace1d99

2004年辺りにPentium-M 800MHz RAM 768MBなマシンでWindowsXPの上でcoLinuxを使いこんな感じの環境を作ってWindowsアプリとLinuxのXアプリを同じ画面で利用していました.

WindowsアプリからLinuxアプリにだんだん移行していってその後に完全にデスクトップ環境をLinuxにスイッチしたのでした.

今同じようなことをしようと思うと仮想マシンを利用することになると思うのですがやはりオーバーヘッドが大きいのですよね…….
まだこういう用途には使えなさそうですが,もう少し色々動くようになったらそういう用途にも使えそうです.

















ssh-import-idコマンドを試す

最近知ったLaunchPad/GitHUBの鍵を読み込んでインポートするコマンドを知りました.昔同名のコマンドか何かがOpenSSHにもあった気がするけどそれは今なくて別物みたい?

動きはこんな感じ

  • lp:USERID でLaunchPadの鍵をインポート

  • gh:USERID でGitHUBの鍵をインポート

  • USERID でLaunchPadの鍵をインポート

  • USERID は複数指定可能

  • 鍵は ~/.ssh/authorized_keys に書き込まれる

  • -o で書き出すファイルが指定可能`-`だとSTDOUT

  • -r で鍵削除

$ apt show ssh-import-id
Package: ssh-import-id
Version: 3.21-1
Priority: extra
Section: misc
Maintainer: Dustin Kirkland <kirkland@ubuntu.com>
Installed-Size: 98.3 kB
Depends: ca-certificates, openssh-client, python-requests (>= 1.1.0), wget, python (>= 2.7), python (<< 2.8)
Recommends: openssh-server
Homepage: http://launchpad.net/ssh-import-id
Download-Size: 17.7 kB
APT-Manual-Installed: yes
APT-Sources: http://dennou-q.gfd-dennou.org/debian stretch/main amd64 Packages
Description: securely retrieve an SSH public key and install it locally
 This utility will securely contact a public keyserver (Launchpad.net by
 default, but Github.com is also supported), retrieve one or more user's
 public keys, and append these to the current user's ~/.ssh/authorized_keys
 file.
$ ssh-import-id -h
usage: ssh-import-id [-h] [-o FILE] [-r] USERID [USERID ...]

Authorize SSH public keys from trusted online identities.

positional arguments:
  USERID                User IDs to import

optional arguments:
  -h, --help            show this help message and exit
  -o FILE, --output FILE
                        Write output to file (default ~/.ssh/authorized_keys)
  -r, --remove          Remove a key from authorized keys file

LaunchPadの matoken の鍵をインポート

$ ssh-import-id -o - lp:matoken
2016-04-10 19:07:35,698 INFO Authorized key ['4096', 'SHA256:4MQHGaIDjLbnM3kU5rgFSq6cDou3LUYSjSTumL+eFKw', 'mk@rsa4k','(RSA)']
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSnDzGBIHoX20WWjPrqn4JoWIHChE5JNqlnPxL0cSCj8wxQ9Y7AEgZfd9yq2ipXsBoVCi6D6ymk1/fQmEe8vW4U10ajb9VnA7ypy4Rjp1RV2RNyIS7jsJdYCMhGlXW8OlyKcxPbh6z/L/2ZuHbw32shJzMAs58JNNwxERQJDfPiJLq1WWrjOxAPCxtuTWddXfaZFgdxZQIXxW1TpTUqeu/OowQ8v1Mqt27agB2RZNPUOwe8A94cwJDbJNNpS7TIRgyKeApD45TKYc0w7ehbC42nURM//4PguHXBC3Arp1P3/Z4/DGdnLOrXU9fUWe0g+ucyT4aL6pI0on8mOivv2CcnePvTDHIwRIchibp0lPtBLOS4pmQFHf5U5N2SZF+B0dI/3Q4Sd9BC5VmF9owLi1bXRZw17Hqpgj2tOnI3HYTOvbssLt0DQcQBOE4puQ9epc+Lioqw6+SvCtiQl1pGl3b3reQh61q4lhc+FRtYvsUIOrjYHJ+QG0sGTVuC/RUWTbCterWX3ogENAYNWGv/83Z9sMCQTr894unhru1LHCmnGouxhtZ0lbWt/OVdsNcONu9RK/GlccDnuOj8THOIVghHJP9/9I6lTS4rX4aXAMaXns1hi5sO5WOGKhUNbUbW6vHTJCdoXjuajL0PJmr2Fa4H8qH0GQzFuhCu82txkjWnQ== mk@rsa4k# ssh-import-id lp:matoken
2016-04-10 19:07:35,698 INFO [1] SSH keys [Authorized]

これもLaunchPadの matoken の鍵をインポート

$ ssh-import-id -o - matoken
2016-04-10 19:08:26,513 INFO Authorized key ['4096', 'SHA256:4MQHGaIDjLbnM3kU5rgFSq6cDou3LUYSjSTumL+eFKw', 'mk@rsa4k','(RSA)']
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSnDzGBIHoX20WWjPrqn4JoWIHChE5JNqlnPxL0cSCj8wxQ9Y7AEgZfd9yq2ipXsBoVCi6D6ymk1/fQmEe8vW4U10ajb9VnA7ypy4Rjp1RV2RNyIS7jsJdYCMhGlXW8OlyKcxPbh6z/L/2ZuHbw32shJzMAs58JNNwxERQJDfPiJLq1WWrjOxAPCxtuTWddXfaZFgdxZQIXxW1TpTUqeu/OowQ8v1Mqt27agB2RZNPUOwe8A94cwJDbJNNpS7TIRgyKeApD45TKYc0w7ehbC42nURM//4PguHXBC3Arp1P3/Z4/DGdnLOrXU9fUWe0g+ucyT4aL6pI0on8mOivv2CcnePvTDHIwRIchibp0lPtBLOS4pmQFHf5U5N2SZF+B0dI/3Q4Sd9BC5VmF9owLi1bXRZw17Hqpgj2tOnI3HYTOvbssLt0DQcQBOE4puQ9epc+Lioqw6+SvCtiQl1pGl3b3reQh61q4lhc+FRtYvsUIOrjYHJ+QG0sGTVuC/RUWTbCterWX3ogENAYNWGv/83Z9sMCQTr894unhru1LHCmnGouxhtZ0lbWt/OVdsNcONu9RK/GlccDnuOj8THOIVghHJP9/9I6lTS4rX4aXAMaXns1hi5sO5WOGKhUNbUbW6vHTJCdoXjuajL0PJmr2Fa4H8qH0GQzFuhCu82txkjWnQ== mk@rsa4k# ssh-import-id lp:matoken
2016-04-10 19:08:26,513 INFO [1] SSH keys [Authorized]

GitHUBの matoken の鍵をインポート.複数あると全部インポートされるよう.

$ ssh-import-id -o - gh:matoken
2016-04-10 19:07:24,965 INFO Authorized key ['256', 'SHA256:B+hArXsApncIXlNlHoHnYxEV3Wfl9WdQLp5TwuTjqjY', 'matoken@github/8506592','(ECDSA)']
2016-04-10 19:07:24,972 INFO Authorized key ['256', 'SHA256:Jv7NHotumFU7z1fCRkJnfKwR0EtAweHWMIrduS4dXeM', 'matoken@github/16598604','(ED25519)']
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA0otYIHWIP6/Zt1t3Zj1FBPEiq6dcOUItrxlfwfyvlVAqRRDWqdZQEA5jdYNWU/vSaxZZ6STCKfiEwORdQvqa8= matoken@github/8506592# ssh-import-id gh:matoken
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgwY9aZPxN/YoBBzd7TOcCk7EuGO0E9PuUjCHPtTuHP matoken@github/16598604# ssh-import-id gh:matoken
2016-04-10 19:07:24,972 INFO [2] SSH keys [Authorized]

LaunchPadとGitHUBを同時にインポート.

$ ssh-import-id -o ~/tmp/authorized_keys gh:matoken lp:matoken
2016-04-10 19:55:51,043 INFO Authorized key ['256', 'SHA256:B+hArXsApncIXlNlHoHnYxEV3Wfl9WdQLp5TwuTjqjY', 'matoken@github/8506592', '(ECDSA)']
2016-04-10 19:55:51,058 INFO Authorized key ['256', 'SHA256:Jv7NHotumFU7z1fCRkJnfKwR0EtAweHWMIrduS4dXeM', 'matoken@github/16598604', '(ED25519)']
2016-04-10 19:55:53,031 INFO Authorized key ['4096', 'SHA256:4MQHGaIDjLbnM3kU5rgFSq6cDou3LUYSjSTumL+eFKw', 'mk@rsa4k', '(RSA)']
2016-04-10 19:55:53,034 INFO [3] SSH keys [Authorized]
$ cat ~/tmp/authorized_keys
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA0otYIHWIP6/Zt1t3Zj1FBPEiq6dcOUItrxlfwfyvlVAqRRDWqdZQEA5jdYNWU/vSaxZZ6STCKfiEwORdQvqa8= matoken@github/8506592 # ssh-import-id gh:matoken
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgwY9aZPxN/YoBBzd7TOcCk7EuGO0E9PuUjCHPtTuHP matoken@github/16598604 # ssh-import-id gh:matoken
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSnDzGBIHoX20WWjPrqn4JoWIHChE5JNqlnPxL0cSCj8wxQ9Y7AEgZfd9yq2ipXsBoVCi6D6ymk1/fQmEe8vW4U10ajb9VnA7ypy4Rjp1RV2RNyIS7jsJdYCMhGlXW8OlyKcxPbh6z/L/2ZuHbw32shJzMAs58JNNwxERQJDfPiJLq1WWrjOxAPCxtuTWddXfaZFgdxZQIXxW1TpTUqeu/OowQ8v1Mqt27agB2RZNPUOwe8A94cwJDbJNNpS7TIRgyKeApD45TKYc0w7ehbC42nURM//4PguHXBC3Arp1P3/Z4/DGdnLOrXU9fUWe0g+ucyT4aL6pI0on8mOivv2CcnePvTDHIwRIchibp0lPtBLOS4pmQFHf5U5N2SZF+B0dI/3Q4Sd9BC5VmF9owLi1bXRZw17Hqpgj2tOnI3HYTOvbssLt0DQcQBOE4puQ9epc+Lioqw6+SvCtiQl1pGl3b3reQh61q4lhc+FRtYvsUIOrjYHJ+QG0sGTVuC/RUWTbCterWX3ogENAYNWGv/83Z9sMCQTr894unhru1LHCmnGouxhtZ0lbWt/OVdsNcONu9RK/GlccDnuOj8THOIVghHJP9/9I6lTS4rX4aXAMaXns1hi5sO5WOGKhUNbUbW6vHTJCdoXjuajL0PJmr2Fa4H8qH0GQzFuhCu82txkjWnQ== mk@rsa4k # ssh-import-id lp:matoken

-r で鍵の削除.

$ ssh-import-id -r -o ~/tmp/authorized_keys gh:matoken
2016-04-10 19:56:08,827 INFO Removed labeled key ['256', 'SHA256:B+hArXsApncIXlNlHoHnYxEV3Wfl9WdQLp5TwuTjqjY', 'matoken@github/8506592', '(ECDSA)']
2016-04-10 19:56:08,837 INFO Removed labeled key ['256', 'SHA256:Jv7NHotumFU7z1fCRkJnfKwR0EtAweHWMIrduS4dXeM', 'matoken@github/16598604', '(ED25519)']
2016-04-10 19:56:08,837 INFO [2] SSH keys [Removed]
$ cat ~/tmp/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSnDzGBIHoX20WWjPrqn4JoWIHChE5JNqlnPxL0cSCj8wxQ9Y7AEgZfd9yq2ipXsBoVCi6D6ymk1/fQmEe8vW4U10ajb9VnA7ypy4Rjp1RV2RNyIS7jsJdYCMhGlXW8OlyKcxPbh6z/L/2ZuHbw32shJzMAs58JNNwxERQJDfPiJLq1WWrjOxAPCxtuTWddXfaZFgdxZQIXxW1TpTUqeu/OowQ8v1Mqt27agB2RZNPUOwe8A94cwJDbJNNpS7TIRgyKeApD45TKYc0w7ehbC42nURM//4PguHXBC3Arp1P3/Z4/DGdnLOrXU9fUWe0g+ucyT4aL6pI0on8mOivv2CcnePvTDHIwRIchibp0lPtBLOS4pmQFHf5U5N2SZF+B0dI/3Q4Sd9BC5VmF9owLi1bXRZw17Hqpgj2tOnI3HYTOvbssLt0DQcQBOE4puQ9epc+Lioqw6+SvCtiQl1pGl3b3reQh61q4lhc+FRtYvsUIOrjYHJ+QG0sGTVuC/RUWTbCterWX3ogENAYNWGv/83Z9sMCQTr894unhru1LHCmnGouxhtZ0lbWt/OVdsNcONu9RK/GlccDnuOj8THOIVghHJP9/9I6lTS4rX4aXAMaXns1hi5sO5WOGKhUNbUbW6vHTJCdoXjuajL0PJmr2Fa4H8qH0GQzFuhCu82txkjWnQ== mk@rsa4k # ssh-import-id lp:matoken

$ ssh-import-id -r -o ~/tmp/authorized_keys matoken
2016-04-10 19:57:54,852 INFO Removed labeled key ['4096', 'SHA256:4MQHGaIDjLbnM3kU5rgFSq6cDou3LUYSjSTumL+eFKw', 'mk@rsa4k', '(RSA)']
2016-04-10 19:57:54,853 INFO [1] SSH keys [Removed]
$ cat ~/tmp/authorized_keys

新規ファイルでもパーミッションは適切に設定されている.

$ ls -l ~/tmp/authorized_keys
-rw------- 1 mk mk 0  4月 10 19:57 /home/mk/tmp/authorized_keys

ちなみに
/etc/ssh/ssh_import_id
を書き換えると任意のサーバを使うことも可能.

-       "URL": "https://launchpad.net/~%s/+sshkeys"
+       "URL": "https://example.org/~%s/+sshkeys"

これだと

$ ssh-import-id matoken

https://example.org/~matoken/+sshkeys が取り込まれる.
lpは上書きされちゃう感じ?

MAPS.MEの翻訳修正

OpenStreetMapの地図を自分の端末に入れてオフラインで地図の閲覧やルート案内などができてとても便利なMAPS.MEというアプリがあります.最近OpenStreetMapの編集機能も付いたということで試してみました.

試すためにはマップデータをダウンロードし直さないといけません.九州全域から県単位で地図がダウンロードできるようになっていていい感じです :)
しかし,「づンロード」というメッセージ><

25704805293 80cb7e5da8

これは酷い.
でもMAPS.MEはオープンソース化されていたのできっと翻訳も修正できるはずと探してみるとこちらにありました.

この中の strings.txt がそれのようです.

ざっと見てもうひとつ明らかな間違いがあったのでその二件を修正してPRしました.
するとコントリビュータライセンスにサインして&翻訳scriptの実行してというコメントをもらいました.

こんなWikiがあったとはorz

今回はCLAのサインをしたら取り込まれたようです.次からは`generate_localization.sh`もちゃんと実行しないとですね.

$ ./tools/unix/generate_localizations.sh
+ ./tools/twine/twine --format android generate-all-string-files ./strings.txt ./android/res/
+ ./tools/twine/twine --format apple generate-all-string-files ./strings.txt ./iphone/Maps/
+ ./tools/twine/twine --format apple --file-name InfoPlist.strings generate-all-string-files ./iphone/plist.txt ./iphone/Maps/
+ ./tools/twine/twine --format jquery generate-all-string-files ./data/cuisines.txt ./data/cuisine-strings/







twitterのbotがロックされてしまい困る

最近鹿児島らぐのMLの投稿をつぶやくだけの @kagolug_ml というbotを動かし始めたのですが,数件postした後投稿されていません.一緒にLingrにもpostしていますがそちらは投稿されています.

手動で叩いてみるとこのようなエラーが帰ってきました.

*** server reports: "To protect our users from spam and other malicious activity, this account is temporarily locked. Please log in to https://twitter.com to unlock your account."
check your password or configuration.
access failure on: https://api.twitter.com/1.1/statuses/home_timeline.json
to automatically wait for a connect, use -hold.

twitterにspamアカウントだと疑われてロックされしまったようですorz

webを見るとこんな画面に.

25702345904 5e021b7e7c

アンロックにはSMS認証が必要でした.

26281259996 618b1b93fa

認証後電話番号がアカウントに登録されてしまいますが,削除は可能でした.

26281260076 269fa6edef

しかし未だ数件した投稿していないし投稿間隔も十分開いていたので問題無いと思うのですがフォロワーが少ないのがいけないのかもしれませんね…….