z80oolong さんはインスタンス qiitadon.com のユーザーです。アカウントさえ持っていればフォローしたり会話したりできます。 もしお持ちでないなら こちら からサインアップできます。

z80oolong @z80oolong@qiitadon.com

# 現在の技術案件の近況

## Qrunch 案件

さて、予てより Qrunch 諸島に技術的案件の速報的な短信を中心とした投稿を行っているが、 Qrunch 諸島についての最大の懸念事項は、ソースコード等を表現するために使用する <pre> タグ及び <code> タグで囲まれた内容について、非等幅フォントで表示される問題が発生していた。

本件について、 Qrunch 諸島の "デザイン機能" におけるユーザ定義の CSS の設定機能に基づいた <code> タグ等の内容を等幅フォントとする設定を行った。

これにより、 Qrunch 諸島の qrunch.io 側での投稿の表示は問題無く <code> タグ等の内容が等幅フォントで表示されるようになったものの、 qrunch.net 等の表示に関しては、ユーザ定義の CSS 設定が反映されない模様である。

本件に関しての詳細について[以下の投稿に纏めた。][1]

[1]:z80oolong.qrunch.io/entries/bQ

# 現在の技術案件の近況

## Debian noroot 環境案件

Debian noroot 環境に OpenSSH を導入する場合は、擬似端末のデバイスファイルの所有者及び権限の変更が出来ない問題を除去するパッチ等を OpenSSH のソースコードに適用して、コンパイルする必要がある。

この度、 Debian noroot 環境に OpenSSH を導入する為の Linuxbrew 向け Formula を作成した事に伴い、 Debian noroot 環境の設定に関して各種問い合わせがあった件と併せて、 Debian noroot 環境に OpenSSH を導入する手法について、以下の通りに速報的な投稿を Qrunch 諸島に纏めた。

- [Debian noroot 環境において OpenSSH に基づく SSH サーバを導入する - Qrunch][1]

本件について、多大な協力を頂いた @cakecakecake 氏に心より感謝致します。

[1]:z80oolong.qrunch.io/entries/YI

# 現在の技術案件の近況

## はじめに

以下の通り、現在の技術的案件の近況について述べる。

- 技術案件の速報案件として、これまで、はてな諸島のクロス投稿先となっていた Qrunch 諸島の投稿を、全ての投稿について、はてな諸島の方を Qrunch 諸島のクロス投稿先とする作業が完了した。
- Qiita において @cakecakecake 氏より問い合わせのあった、 Debian noroot 環境上から SSH クライアントを起動して、 SSH による X11 forwarding を行った場合の問題について現象再現等を行った。本件について、今後 Qiita 半島の投稿への反映について検討中である。
- East Asian Ambiguous 文字に対応した tmux の差分ファイルについて、今後公開場所を Gist から Github に移行する事を検討している。

なお、本稿についての詳細については、以下の [Qrunch 諸島のログ][1]を参照されたい。

[1]:z80oolong.qrunch.io/logs/524Gw

## 謹賀新年

謹んで新年の御祝詞を申し上げます。2019年元日。

本年の越年は、例年と同じく NHK-FM の年越し特番を聴取しながら迎えた。滞在拠点の居室周辺は非常に静謐な環境であり、本年の越年も精神的にも身体的にも平穏に迎える事が出来て随分と安堵している。

旧年中は、 Qiita 等の技術系 SNS を中心に、多くの技術的な投稿を行った一年間であった。

本年も、技術系の投稿を継続しつつ、多くの技術案件について更な研鑽を重ねて行く所存である。

# 現在の技術的な近況

## Qrunch 案件

当方が Qrunch にアカウントを取得してから、 Qrunch には、技術的な事項についての速報及び簡易な短信を投稿してきた。

以前は、"はてな諸島" への投稿を Qrunch クロス投稿していたが、最近は Qrunch が携帯端末からの投稿が容易になった事と、技術的な事項の速報等については Qrunch への投稿を主として扱う事を考えている事から、今後は Qrunch 諸島への投稿を、 "はてな諸島" にクロス投稿していく事を考えている。

これに関して、[はてなブログ等に <link rel="canonical" ... タグを付与する手法を Qrunch 諸島に投稿した。][1]

なお、本稿についての更なる詳細については、[Qrunch 諸島におけるログ][2]の投稿を参照されたい。

[1]:z80oolong.qrunch.io/entries/rT
[2]:z80oolong.qrunch.io/logs/xbCE3

# 現在の技術案件の近況他

## Debian noroot 環境案件

現在、 Debian noroot 環境について下記の事が懸案事項となっている。

- Debian noroot 環境において MATE の動作の問題の特定と、再度の正常な動作確認について。
- Debian noroot 環境における enlightenment e17 の正常な動作確認について。
- Debian noroot 環境上での SSH サーバである OpenSSH の導入手法の纏めについて。

## その他案件

ここ最近は、 Qrunch 諸島のログの内容を、 Qiitadon.com 環礁に記述する事が多くなり、その内容も、 500 字制限に収めるのが難しい状況となってきた。

今後は、 Qrunch 諸島のログの概要を Qiitadon.com 環礁にクロス投稿する事を検討している。

本稿の詳細については、[以下の Qrunch 諸島のログ][1]を参照されたい。

[1]:z80oolong.qrunch.io/logs/fl28S

# 現在の技術案件の近況

## Debian noroot 環境案件

Debian noroot 環境について、ここ最近は Desktop 環境及び X window maneger について、幾つかの動作確認を行っている。

ここで現時点で、 Debian noroot 環境において導入を行った Desktop 環境及び各種 UI 等に関して、正常な動作が確認されたもの及び動作を確認中の UI 等について纏める。

- 正常な動作が確認された UI
- Xfce (デフォルト)
- LXDE
- MATE (Utiny 等には未対応。)
- ratpoison
- Cairo-docker
- 動作確認中の UI
- enlightenment e17
- 正常な動作が確認出来なかった UI
- Gnome3

なお、本稿についての更なる詳細については、[Qrunch 諸島におけるログ][1]の投稿を参照されたい。

[1]:z80oolong.qrunch.io/logs/F0jrC

# 現在の技術案件の近況

## Debian noroot 環境案件

前回投稿した Debian noroot 環境における、パイプに基づくプロセス間通信等を行った場合に Operation not permitted を表示して異常終了し、ソースコードのビルドに支障が出る問題に関する toot の続きである。

その後、 ~/.tmux.conf において、tmux-resurrect に関する設定を残して起動した場合と、 tmux-continuum に関する設定を残した場合で Linuxbrew を用いて hello パッケージをビルドしてその結果を比較した所、 tmux-resurrect に関する設定を残した場合は、 hello パッケージのビルドが問題無く終了したのに対し、 tmux-continuum に関する設定を残した場合では問題が再現した事が判明した。

即ち、 Debian noroot 環境において tmux のプラグインである、 tmux-continuum を使用すると、パイプに基づくプロセス間通信等に問題が発生する事が判明した。

# 現在の技術案件の近況

## Debian noroot 環境案件

先日、 Debian noroot 環境において、パイプに基づくプロセス間通信及び fstat(2) 等のシステムコールを発行した場合に Operation not permitted を表示して異常終了する問題の発生頻度が多くなり、各種ソースコードのビルドに支障を来している状況が発生していた。

この件に関して各方面から調べてみた所、予てより tmux に導入していた plugin のうち、 tmux の session 等の状態を保存・復帰する為の plugin である tmux-resurrect と、一定の時間間隔で tmux の状態を保存する為の tmux-continuum に関係するプロセスが動作した状態で残っていることが判明した。

そこで、 ~/.tmux.conf において、 tmux の plugin に関する設定を削除して tmux を起動した所、問題無くソースコードのビルドが行われることが判明した。

今後もこの原因について、更に調べる予定である。

# 現在の技術案件の近況

現在うだうだ中。現在、奈良市内某所にて夕食兼休憩中。手元の端末に懸念がある。

## Debian noroot 環境案件

現在、 Debian noroot 環境においては、 jessie ベースの Debian 環境が動作しているが、以前より稀な頻度でパイプに基づくプロセス間通信において Operation not permitted のエラーメッセージを表示して異常終了する問題が発生している。

また、 fstat(2) 等のシステムコールを発行した場合も同様に Operation not permitted を表示して異常終了する。

ここ最近になって、上記の問題の発生頻度が多くなったので、各種ソースコードのビルドに支障を来している。

原因として、システムコールをフックしている proot の問題か、若しくは、端末に装着した増設メモリの問題が考えられる。

ここで、仮に増設メモリの問題であるとすると、著しく深刻な問題が発生しそうであるので、ホームディレクトリの領域の退避を考えている所である。

# 現在の技術案件の近況

# libandroid-shmem.so 案件

Debian noroot 環境への Termux の開発コミュニティによる libandroid-shmem.so の導入と、オリジナルの libandroid-shmem.so とのパフォーマンス比較の検証が一段落したので、 libandroid-shmem.so に関する案件の総括として、 [Qiita 半島に libandroid-shmem.so に関する投稿を行った。][1]

今後は、libandroid-shmem.so のコンパイル済のバイナリファイルの公開を近日中に行う予定である。

# Debian noroot 案件

現状の Debian noroot 環境は、 jessie 版の Debian をベースとしているが、 UI のアップグレードに限界があるので、 sid 版等のアップグレード若しくはイメージファイルの導入について検討する必要が有りそうである。

[1]:qiita.com/z80oolong/items/47ec

# 現在の技術案件の近況

今回も、 proot に関する近況について述べる。

## proot 案件

前回の投稿で、 proot の Pull Request について述べたが、これはオリジナル版にマージされたものでは無く、 rootlesscontainers の開発コミュニティ版の proot へのものであった事が判った。

これに伴い、[先日 Qrunch 諸島に投稿した記事][1]について、表題及び内容の大幅な訂正を行った。何とも不覚である。

しかしながら、 proot が rootlesscontainers や uDocker に対応する事が可能となれば、 OCI 準拠のコンテナイメージ等を Android OS 端末上で使用出来る可能性がある事が考えられる。

そして、Docker 等の各種コンテナ型仮想化技術に基づく手法を用いて Android OS 端末上で動作する各種 Linux 系ディストリビューションを構築する事が容易になりそうである。

[1]:z80oolong.qrunch.io/entries/gB

# 現在の技術案件の近況

今回は、 proot に関する動きについて述べる。

## proot 案件

proot は、 Debian noroot 環境において、最も重要かつ根幹的な役割を持つツールである。

ここで、[オリジナルの proot の GitHub リポジトリ][1]において、 Akihiro Suda 氏によって、新たに大幅な変更を加えた Pull Request がマージされた。

今回のマージでは、 udock 対応や、 rootlesscontainer 対応等、 proot に container に関する機能を追加する変更が多く含まれている事が特徴である。

また、この変更に伴い、 proot に依存するライブラリとして talloc の他に、 protobuf が追加される見通しである。

Termux の開発コミュニティによる proot への反映については未定だが、非常に大きな変更である事は明らかであると思われる。

この件に関しては、追って別件にて述べる予定である。

[1]:github.com/proot-me/PRoot

# 現在の技術的案件の近況

## z80oolong/go 案件

先日、手元の端末で公式の Go 言語の処理系を導入しようとして、 linuxbrew を使用して導入を行おうとした所、手元の端末が ARM アーキテクチャ搭載の端末であったのと、 linuxbrew のコア Tap リポジトリに置かれている homebrew/core/go が x86-64 アーキテクチャ以外に対応していなかった為、 homebrew/core/go を修正し、[独自の linuxbrew 向け Tap リポジトリ][1]を作成する必要があった。

オリジナルの Formula である homebrew/core/go と異なり、 64 bit x86 CPU アーキテクチャ搭載の端末の他に、 32 bit ARM CPU アーキテクチャ及び 32 bit x86 CPU アーキテクチャ搭載の Linux 系 OS 等への公式の Go 言語処理系の導入にも対応させた。

[1]:github.com/z80oolong/homebrew-

# 現在の技術案件についての近況

## powerline 案件

Github 上の HEAD 版の tmux において powerline の設定を行うと、 tmux のステータスラインがデフォルトの状態で全く変化が無い問題について、問題の概要及び原因とその回避手法を Qiita 半島に投稿した。

今般の問題は、 powerline が異常な tmux のバージョンに対しても適切な動作を行う事を保証するのが良いのか、若しくは、 Github 上の HEAD 版の tmux が常に "master" なるバージョンを出力するようにすれば良いのか、若干考え込んでしまった。

## libandroid-shmem.so 案件

libandroid-shmem.so の導入手法に関する案件については、更なる検証作業を行った結果、 pelya 氏によるオリジナルのものの方が Termux の開発コミュニティのものと比較して buggy であったものの、実行時間については有意差が認められなかった。

即ち、 Termux の開発コミュニティのものは安定して動作するという知見を得た。

# 現在の技術的な近況

現在うだうだ中。現在、自宅にて休息中。幾つかの技術案件の近況について纏める。

## powerline 案件

さて、EAW 文字の全角文字幅表示対応の tmux に powerline を導入する案件であるが、当初は、 GitHub 上の HEAD 版 tmux において powerline を動作させるべく、 tmux に各種設定を行なっても、 tmux のステータスバーに変化が無く、 powerline が正常に動作しない問題が発生していた。

この件に関して、先ず最初に、 powerline のソースコードを修正する事で問題を解決したが、その後、 tmux のバージョン出力を修正する事によっても問題回避が可能である事が判り、 tmux のソースコードを修正した上で オリジナルの powerline を導入した所、問題回避が可能となった事が判明した。

以上の件について、以下の[Qrunch 諸島の投稿][1]に追記及び修正を行った。

[1]:z80oolong.qrunch.io/entries/HQ

## powerline 案件

さて、当方は普段より tmux を EAW 文字対応の差分ファイルを適用して使用しているが、久し振りに、 powerline を tmux に導入しようと思い立ち、 powerline 公式ページ他、各種ページを参考にして導入を行った。

当初は、 $HOME/.local への導入を検討したが、最終的に、 Linuxbrew との統合的なパッケージの管理を考慮し、 Formula を記述して Linuxbrew に導入した。

しかし、各種ページを参考にして $HOME/.tmux.conf に設定を記述しても tmux のステータスバーに変化が無く、原因究明に非常に苦慮した。

最終的に、 tmux のバージョン番号の出力に問題がある事が原因である事が判明し、 powerline のソースコードを修正する事で何とか問題を解決した。

以上の問題解決について、以下の[Qrunch 諸島の投稿][1]に纏めた。

[1]:z80oolong.qrunch.io/entries/HQ

# 現在の技術案件の近況

現在うだうだ中。今週は先週と異なり、若干の諸用が入るも、先週に引き続いて時間に余裕のある状況となる。

## libandroid-shmem.so 案件

先週より、 [Debian noroot 環境において、 Termux の開発コミュニティによる移植版][1]を再移植したものを導入するに当たって、幾つかの動作の不具合について修正を行なった。

その結果、先週末から昨日までに動作の不具合に関する問題は凡そ解決された。

最終的に、速度面ではオリジナルと有意差は見られなかったが、共有メモリ関連のテストプログラムの動作をオリジナルと比較した所、 Termux 版で問題無くテストプログラムが動作したものの、オリジナル版において、複数のテストプログラムが動作しなかった。

これより、 Termux 版の動的ライブラリの導入により、Debian noroot 環境の安定した動作が期待できる事が示された。

[1]:gist.github.com/z80oolong/247d

# 現在の技術案件の近況

現在うだうだ中。今週は、久し振りに時間に余裕のある一週間となるも、殆どの作業時間を後述する libandroid-shmem.so の問題の修正に費やした。

## libandroid-shmem.so 案件

libandroid-shmem.so とは、 Debian noroot 環境において、共有メモリ関連の標準ライブラリ関数の動作を、 Android OS における /dev/ashmem へのアクセスに基づくエミュレーションよって実現する為の動的ライブラリである。

Debian noroot 環境において、オリジナルのものに代えて、 Termux の開発コミュニティによる移植版を再移植したものを導入した所、環境上で動作するソフトウェアが概ねオリジナルより軽快になった。

しかし、幾つかのソフトウェアについて動作の不具合が発生する事が判明したので、オリジナルとコード等を比較しながら、 libandroid-shmem.so について動作の不具合の解決等の問題の修正を行った。

なお、修正を行った差分ファイルについては後日公開する予定である。

# 現在の技術的な近況

現在うだうだ中。現在、午前中の通常の通院案件を完了し、昼食及び休憩の為に奈良市内某所に向かい移動中。

幾つかの技術案件の近況について纏める。

## Debian noroot 環境案件

@kapper1224@mstdn.jp 氏が Debian noroot 環境について予てより懸念を示していた UI に関する問題について、 gnome3 の導入による解決を試みていたが、現在もなお gnome-shell の起動に至らず、非常に困難な状況にある。

そこで現在、もう一つの手法として、 Debian 環境等で動作する Desktop 環境である MATE を導入した上で、 gnome の以前の UI であった Unity に近いインターフェイスを実現するためのテーマである Munity を導入することを検討している。

現在のところ、 Debian noroot 環境において、問題なく MATE 環境を導入することが出来ることが確認されたが、 Munity を導入するために必要となる mate-tweak の導入に難航している状況である。