Cross Distro Developers Camp 2019 秋 行ってきました

By Syuta Hashimoto @ 2019-12-17 06:38

この記事はopenSUSE Advent Calendar 2019の17日目です。

前回にCross Distro Developers Campの春の合宿のレポートを書きましたが、今回は秋の合宿です。11/16(土)、17(日)に行われた開発合宿をレポートします。

Cross Distro Developers Campとは

日本語入力など、ディストロに関係せず解決するべき課題を共有・解決していくための有志の集まりです。前回にも紹介文を書いていますので、そちらもぜひお読み下さい。今回の参加は、Debian、Ubuntu、openSUSEのメンバーの方達でした。あと、LibreOfficeからも参加して頂きました。

秋の合宿

9月に日程は決まっていたのですが、趣味でやっているキックボクシングの試合などで私がちょっと疲れてしまっていて、肝心の場所探しなどは10月になってから慌ててやりました。(みなさん申し訳なかったです)

千葉や熱海の方に開発合宿プラン有りの評判の宿がいくつかあったのですが、日程がタイトだったためどこも予約でいっぱい。都内のホテルフクラシア晴海なども検討したのですが、結局、真鶴のペンションshiosaiさんにお世話になることにしました。開発合宿用の設備(ホワイトボード、wifi、プロジェクター)などを貸してくれることと、食事が美味しいということ、お値段も良心的な所などで決めました。チェックイン・チェックアウトの時間を調整して頂けたこともポイント高かったです。

ペンションshiosai

私はLibreOfficeのnaruogaさんの車に家の近くから乗せて頂いたのですが、最寄りの駅(真鶴)からペンションshiosaiまではちょっと距離があった様子です。丘の中で起伏もある感じでした。そのかわり、海を見下ろせる景色はすごく良かったです。

部屋は6人ぐらいの大きめの和室と、3人のベッドありの洋室をとって頂きました。 和室はそのまま開発合宿に使用して良いとのことで、ずっとここで作業を行い、食事になったらテーブルを並べて食事をして、夜になったら布団を敷いて寝る、みたいな感じでした。

露天風呂もあって、男性は午後から夕方までの利用だったのですが、温泉合宿な感じは充分でました。まぁペンションですので前回のマホロバマインズ三浦のようなリゾートホテルといったイメージではないのですが、男性の開発合宿や、家族旅行などでしたら愉しめると思います。今回の合宿の時も、ご高齢の方達が料理を愉しんだりしていらっしゃいました。

舟盛り

舟盛りが一つ12kだったのですが、電話予約で6kにしてくださるとのことでしたので、二つ頼みました。8人でしたので、1人2kいかないぐらいですね。この他にもさらにお刺身が出たり、ステーキも出たり、で、量、質、ともに満足な食事でした。さすが予約時に自信たっぷりに「うちは料理がいいですよー」とおっしゃっていただけのことはあります。

土曜日の昼11時にチェックインして、日曜日の16時まで使わせて頂いて、1人14kな予算感でした。真鶴までの交通費や日曜日の昼などもあるのでこの限りではないのですが、納得のお値段でした。

作業

私は前回同様、今回もGeekoMagazineの執筆をさせて頂きました。合宿の時期がGeekoMagazine執筆締め切り前になりがちなので、どうしても原稿作業になってしまう模様。お陰で、難航必死の執筆が、第一校があがるまで進みました。

他の方はDebianのneologdのパッケージングや、Cross Distro Developers Campのサイト作成、橋本雅彦さん作のかな漢字変換エンジンの試用など、色々と作業されてました。

夜に共通話題についての意見交換も行いました。前から議題になっているインプットメソッドの問題や、フォントに関する現状などがトピックになりました。

今回サイトが作成されましたので、ここで出たトピックの取りまとめなど、情報発信も積極的に行っていきたいと思います。(なかなかコンテンツを作成できず、すみません・・・)

また、OSC 2020 Tokyo/Springで、ディストロ横断でセッションを持ったら面白いんじゃないか、という話になり、現在、実現に向けて準備していますので、来年2/21(金)、22(土)のOSC 2020 Tokyo/Springを楽しみにしていて下さい。場所は駒沢大学、アクセスも良好かと思いますので皆さんの参加をお待ちしています。内容は、各ディストロがどうやって開発してるか、開発するにはどんな方法があるか、といった話になりそうです。

次回の合宿は

次回は2020年2月を予定しています。これは蕪さんの温泉合宿にあいのりさせてもらう予定です。

また、その前に1月11日(土)に、もくもく会を開催いたします。ディストロに興味のある方、実際に開発している方、参加歓迎ですので検討してみてください。

さて、Advent Calendar、明日はribbonさんによるnmapの記事です。お楽しみに〜

openSUSE Advent Calender の 16日目です。今日は小ネタです。

スマートフォンを通してインターネットに接続するテザリングをするとき、一般的には Wi-Fi を使ってスマートフォンと PC を接続することが多いのではないかと思います。

実はUSBケーブルで接続してテザリングをすることもできます。充電・電源供給しながら使用することができるので、長時間使うときには便利です。

Android のスマートフォンであれば、どの機種でも簡単にできます。USB ケーブルで接続し、スマートフォン側のネットワークの設定で USB テザリングを有効にすれば、特にパッケージ等のインストールをすることなくつながります。

Network Manager では、1番目に Type-C で接続した有線LANアダプタがあるため、スマートフォンは「Wired connection 2」として設定されました。

この記事はopenSUSE Advent Calendar 2019の13日目です。

今回は、openSUSEでパッケージをインストールする3つのメジャーな方法を紹介させて頂きます。

  • YaSTの「ソフトウエア管理」からインストール
  • コンソールからzypperコマンドでインストール
  • Webサイトから1-clickインストール

YaSTの「ソフトウエア管理」からインストール

簡単設定ツールYaSTの「ソフトウェア管理」で、パッケージをインストールしたりアップグレードしたりできます。YaSTは、左下のアプリケーションランチャーから、「アプリケーション > 設定 > 管理者設定(YaST)」で起動できます。

起動したら、「ソフトウエア管理」を選びましょう。リポジトリ情報などを取得した後、管理画面が開きます。

YaSTのメニュー
ソフトウエア管理でpodmanを検索

左上の場所にパッケージ名を入力して、「検索」をクリックすれば、右側に一覧が表示されます。インストールしたいパッケージを選択して、右下の「了解」をクリックしましょう。

コンソールからzypperコマンドでインストール

コマンド「zypper 」で、パッケージ管理ができます。パッケージを検索したい時は以下のコマンドです。

$ zypper se [検索したいパッケージ名]

seはsearchのseです。searchとフルでタイプしても大丈夫です。該当するパッケージがあれば、一覧が表示されます。

リポジトリのデータを読み込んでいます…
インストール済みのパッケージを読み込んでいます…

S  | 名前                   | 概要                                                                  | 種類             
—+————————+———————————————————————–+—————–
  | podman                 | Daemon-less container engine for managing containers, pods and images | ソースパッケージ
i+ | podman                 | Daemon-less container engine for managing containers, pods and images | パッケージ       
i  | podman-cni-config      | Basic CNI configuration for podman                                    | パッケージ       
  | python-podman          | A library to interact with a Podman server                            | ソースパッケージ
  | python-podman-compose  | A script to run docker-compose using podman                           | ソースパッケージ
  | python2-podman         | A library to interact with a Podman server                            | パッケージ       
  | python3-podman         | A library to interact with a Podman server                            | パッケージ       
  | python3-podman-compose | A script to run docker-compose using podman                           | パッケージ  

上記は「podman」で検索してみた例です。(折り返してしまっているので見にくくてすみません。)

ちなみに、左端の「i」がインストールされているという意味で、「i+」は、ユーザーが選んでインストールしたパッケージ、という意味です。

目当てのパッケージが見つかったら、インストールは以下のコマンドです。

$ zypper in [インストールしたいパッケージ]

inはinstallの略です。フルでinstallとタイプしても大丈夫です。

そうすると、同時にインストールすることが推奨されるパッケージや利用予定ディスク容量などが表示され、インストールするかを聞かれますので、Y(Yes)で答えればインストールです。なお、root権限が必要ですので、一般ユーザーの場合はsudoで実行するなどしましょう。

Webサイトから1-clickインストール

openSUSEにはソフトウェアサイトがあり、コミュニティ作成のパッケージや、実験的なパッケージをインストールすることもできます。(もちろん、自己責任となりますのでご注意ください。)

ソフトウェアサイトのトップページ

左側でディストリビューションを選べますので、希望のものを選びます。今ですと、Leap15.1になるでしょう。それからパッケージ名を検索します。そうすると、各パッケージのページに行くことができます。

podmanのパッケージのページ

ここから「直接インストール」を選択します。

あるいは、下部に利用可能な各ディストリビューションのコミュニティ作成パッケージや実験的パッケージが表示されますので、希望のものをえらび「1-クリックインストール」をクリックします。

podmanのleap15.1のパッケージ例

追加のリポジトリが必要な場合は、それを設定するか確認されます。「ちゃんと、変更内容わかってる?」と、かなり念を押してくれます。

まとめ

どの方法でも、zypperで操作できるパッケージ管理の配下に入っていきます。ですので、WebサイトからインストールしたものをYaSTで確認、などもできます。気になるパッケージもこれで手に入りますね。なお、Webサイトからですと実験的なものなども見れますので、他の方法で見つからない場合は覗いてみるのもアリだと思います。(くどいようですが、自己責任ですので・・)

  • リポジトリとパッケージの関係をとりまとめてブログに書きたい
  • libzyppとzypperとYaSTの関係図を書けるようになりたい
  • なんなら、zypperのソースを読んでみたい

Noto Sans CJK JPと、Noto Sans JPの違い

By Syuta Hashimoto @ 2019-12-11 22:27

この記事はopenSUSE Advent Calendar 2019の11日目です。

さて、今回は豆知識です。

この間 Cross Distro Developers Campの秋の合宿に参加したのですが(レポートは17日に書きます)、この時に以下の豆知識を教わりました。

Noto Sans CJK JP

C(Chinese)、J(Japanese)、K(Korean)の全てが入っているフォントで、その中でJapaneseを優先的に表示するようになっているのだとか。

Noto Sans JP

JaPaneseのみのフォントが入っている。容量はもちろんCJKよりも小さい。

まとめ

もちろん、アルファベットは両方に入っています。openSUSEではデフォルトでNoto Sans JPが使われているようですね。

合宿では、フォントの形?をグリフと呼ぶ、とか、表示されるフォントの優先順位を決めているfontconfigというユーティリティがあるが、この使い方が難しい、だとか、色々とお話を聴かせて頂きました。また、どちらを使うかがディストリビューションによって違ったりするので、名前が一致しなくて、文書がきちんと表示できない、なんてこともあるとか。

このあたりのお話や情報も、まとめて、正しい知識にしたいと思っています。

なお、22日はftakeさんのフォントに関するお話です。(この記事にミス等あれば、ご指摘して頂けますでしょう)

明日は最近DNSの申し子になっているemaxserさんの記事です。どうぞお楽しみに!

この記事はopenSUSE Advent Calendar 2019の10日目です。

今更ですが、今年の6/21(金)-6/23日(日)で、Cross Distro Developers Camp 6月の開発合宿に行ってきました。

Cross Distro Developers Camp

これは、インプットメソッドやかな漢字エンジンなど、日本のディストリビューションを横断して解決すべき問題についての情報交換や共同開発を目的とした集まりです。

もともとは2月のOSC Tokyo/Springの時に、DebianさんたちとopenSUSEのftakeさんとで、日本語インプットメソッドの問題について意見交換したのがきっかけで、じゃぁ開発合宿でもして解決に臨もうか、となったのでした。(ちょうど、Debianの方が、GNOME + Waylandでインプットメソッドが使えない、という問題を解決しているところでした。)

8月のODCでは、一連の問題提議や、この会の説明などのセッションを持たせて頂き、多くの方に興味を持って頂きました。

インプットメソッドの問題はアジア圏など広い範囲でも共通する問題ですので、アクターが広がっていくと良さそうですね。

マホロバマインズ三浦

宿は、いろいろな宿泊施設を試してみたい、とおっしゃっていたDebianの吉田さんの提案で、マホロバマインズ三浦に決定、私は予約などをさせて頂きました。

ここの研修プランにしたのですが、見積り依頼時から担当がついてくださって、こちらの要望(追加料金を払うので最低10人を8人で利用したい)やタイムスケジュールの調整(3人は前泊したい)などを柔軟に聞き入れてくださり、サービス力は高いと感じました。また、当日も担当のコンシェルジェがついてくださり(結局利用させていただくことはありませんでしたが)、「研修を心地よく有意義に過ごして頂こう」というホテル側の気配りを感じることができました。

場所は三浦半島の海に近い場所、朝方はみんなで浜辺に散歩にいったり、食事も肉に魚と美味しいものばかりでした。(メニューはみんなで事前に選びました。朝食のバイキングも、内容がよくて満足でした。)

お値段は、土-日組が17k弱、金-日組で23k程度だったと思います(すみません、記憶なので確かではないかもです)。温泉の他に、水着を持参するか借りるかすれば温水プールも利用できて、オンオフ両方充実できる場所でした。研修室は15名ほどで利用できる会議室に机をコの字に並べての贅沢利用。給茶機、WiFi、ホワイトボードも利用可能でした。(プロジェクターだけは借りると1日10kほどだったため、メンバーの方が持参してくださいました)

売店も地ビールなどがおいてあって、おみやげにも困らず、開発合宿をオールインワンでしたい場合の良い候補地だと思いました。

売店にあったクラフトチューハイ

私の課題

私はこの合宿ではGeeko Magazine 夏号の原稿を書いていました。もくもく会的なところがあって、皆さんそれぞれの作業をしていました。その他、時間をとってみんなでインプットメソッドの話や、ユーザー会の運営的なところのお話などを共有しました。

私は作業はあまり外に出ないタイプなのですが、こうやって意見交換できる場所は色々と新しいことがあって、非常に良い刺激になりますし、何より楽しいですね。見識が深まりますし、モチベーションも上がりました。

次回

年に二回ぐらい?というお話がでたとおり、この次は秋に合宿をしてきました。その様子は来週にレポートさせて頂きたいと思います。

また、この時にあまりスムーズでない進行にかかわらず付き合ってくださったみなさん、ありがとうございました。こういう段取りや準備も、徐々に慣れていこうと思います。

openSUSE Advent Calendar 9日目です。

M5Stack は 5.5 cm 角のディスプレイとバッテリー付きのマイコンです。SoC は ESP32 で、Wi-Fi も使えます。近々 Arduino のハンズオンを行う予定で、M5Stack を Arduino 互換ボードとして開発する環境を openSUSE 上に整えてみました。

ハードウェアのセットアップは簡単で、openSUSE が動く PC に接続するだけで cp210x として認識されます。ただし、少し前の brltty にバグがあり、アップデートが適用されていないと、M5STACK が点字ディスプレイとして持って行かれてしまいますのでご注意下さい。

Arduino の開発環境である Arduino IDE は以下のサイトからダウンロードして、適当なディレクトリに展開します(/opt/arduino など)。Flatpak でインストールしたいところですが、ESP32 のコンパイラが Python を必要とするため、Python を同梱していない Flatpak 版は使用できません。
https://www.arduino.cc/en/Main/Software

インストールした Arduino IDE を起動して、ESP32用のツールをダウンロードします。「環境設定」を開いて「追加のボードマネージャのURL」に次のURLを設定します:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

「ツール」から「ボードマネージャ」を起動し、ESP32 の開発環境をインストールします。

ボードマネージャを使用しない方法は以下を参照:
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md

1つだけインストールしなければならないのが python2-pyserial です。ビルド時に ESP32 のビルドツールが使用します。zypper か YaST からインストールして下さい。

あとは、「ツール」 > 「シリアルポート」を /dev/ttyUSB0 (dmesg に出てきたデバイス名)に設定したら準備完了です。

Arduino IDE は Java アプリで、デフォルトの設定ではフォントがきれいでないのが残念。この設定変更はまたの機会に。

OSC Tokyo/Fall 行ってきました

By Syuta Hashimoto @ 2019-12-08 18:47

この記事はopenSUSE Advent Calendar 2019の8日目です。

ftakeさんなどユーザー会の人たちと一緒に、11/23、24に明星大学で開催されたOSC Tokyo/Fall 2019に参加してきました。ftakeさんのレポートはこちらです。

セミナーは川上さんの「最近よく聞く!? ― eBPF (extended Berkeley Packet Filter) を用いた PostgreSQL の性能測定」でした。そこそこ聴衆も集まったようです。eBPF、私も使ってみたい・・・

ということで、私は他に自分のセミナーもなかったので、ブース対応と、セミナーを少し聞いてきました。

ブース

いやぁ、やっぱり特大ぎーこくん、人気者ですね。今回はお子様も多く、特大ぎーこくんは大人気でした。(一部、大人の方にも人気でした)

ブースに来てくださった方に、openSUSE知ってます?と尋ねると、知ってますよー、と返してくださる方が増えた印象です。今回は新ネタもとくになかったこともあり、YaSTやKubicのお話を中心にさせて頂きました。

また、Netpbmの漆畑さんが同じ部屋にブースを出していらっしゃって、行列などの数学の本をお勧めして頂きました。私は体系的に数学を学んでいないにもかかわらず、機械学習やりたいなーとか思っているので、ものすごく助かりました。

セミナー

主に以下のセミナーを聴かせて頂きました。

ストレージもSoftware Definedな時代です。OpenSDS,始めてみませんか。

伊藤さんによる、OpenSDSのセミナーです。OpenSDSは興味を持っていて、私は5月のopenSUSE Conference 2019では、OpenSDSの概要とKubicから使う方法についてセミナー持たせて頂きました。

OpenSDSは名前が「SODA」に変わり、そのローンチイベントを12/17日に日本で行うそうです。参加したいのですが、その日はあいにく・・・

ちなみに、OpenSDSは、Software Defined Storageのソリューションで、簡単に言いますと、ストレージのプロビジョニング、レプリケーション、バックアップなどを行うコントローラーです。それも抽象化されたコントローラーで、実際の動作は各ドライバに委譲しています。各ドライバのための統一インターフェース、といったところでしょうか。Kubic(Kubernetes)からも使えるので、Kubic(Kubernetes)のストレージ利用を柔軟にしてくれます。

コンテナーにてBittorrentメカニズムを使ったデプロイサーバの実行

Clonezillaさんのセッションです。Clonezillaはディスクを複製するソリューションですね。

アプリケーションをコンテナ実行し、Bittorrentを使って配信することで、利用を簡単・効率的にしたとのことです。コンテナにはDockerではなくSingularityを使っているそうで、理由としてSingularityの、権限制御を簡素化したりしてコンテナのアプリを動かすという所にフォーカスした設計をあげていました。また、デプロイにはBittorrentが効率的に配信できてよい、とのことです。

ITエンジニアが誤解している2020年度からの「小学校プログラミング教育」

さくらインターネットさんの前佛さんのセッションです。さくらインターネットさんは地域貢献の一環として、学校でのプログラミング授業の補佐を行っているそうで、現場視点での現状をお話してくださいました。「主役は子供」というフレーズを語る前佛さん、かっこよかったです。

まだIT業界視点、また、学校視点でも、「プログラミング教育」というものに対する誤解や不理解が多いらしく、そのあたりを整理して解説していました。プログラムをかけるようにする、という視点ではなく、プログラムが書けるような思考力を養う、また、問題を解くときにプログラムを利用するような発想ができるようなる、という視点での教育だということを強調していました。

懇親会

初日夜に開かれた懇親会に参加しました。ここでは、おーぷん万葉の(東海道LUGの?日本openSUSEユーザ会の?)橋本雅彦さんやUbuntuの柴田さんと、ibusと橋本さん作のかな漢字変換エンジンをつなぐ部分の仕様詰めなどをさせて頂いたり、さくらインターネットさんの前佛さんとコンテナのことやプログラミング教育のことについて、色々とお話させて頂いたりしました。まさに懇親会、私なりにネットワーキングさせて頂きました。

次回は

OSC Tokyo/Spring 2020は、都内駒沢大学にて、2/21(金)、2/22(土)で開催予定です。日本openSUSEユーザ会も、もちろん出展・セミナー予定ですので、是非そこでお会いしましょう!

さて、Advent Calendarの明日は、ftakeさんによる「openSUSE で M5STACK の開発環境を整える」です。IoTよりのお話ですね。乞うご期待です。